2021-10-28 15:41:49 |
Łukasz Zemczak |
bug |
|
|
added bug |
2021-10-28 15:58:14 |
Łukasz Zemczak |
merge proposal linked |
|
https://code.launchpad.net/~ubuntu-core-dev/livecd-rootfs/+git/livecd-rootfs/+merge/410949 |
|
2021-10-28 16:19:38 |
Łukasz Zemczak |
description |
This is a design flaw that needs to be fixed. More detailed description coming soon. |
[Impact]
This is a design flaw that needs to be fixed. Basically we inherited the design from old Ubuntu Core devices that the boot configuration is prepared in the gadget and - therefore - is quite static. Newer Core devices have mechanisms for updating boot assets, while classic images... well, we never actually thought about it.
Now that we have a valid use-case for preinstalled amd64 images, we actually need to make sure we can update at least the grub config somehow. To do this, we introduce the hook from preinstalled desktop images from groovy+ with an additional change to generate the grub.cfg by using `update-grub2`. We switch the design to now only shipping a blanket grub.cfg on the boot partition, pointing to the rootfs one - which can be freely updated via existing mechanisms.
While adding the hook, we also fix a few other technical dept - like adding a swap file and making the rootfs resizable. Everything that we already had for our Pi images in groovy+.
[Test Case]
Build an image with -proposed enabled, make sure that it still boots as before on Intel IOT platforms. Try booting the image on an USB when there are other USB drives present on the device.
[Regression Potential]
This can basically only regress intel-iotg desktop images, which is what we want to fix right now. But it requires for the images to go through the whole testing cycle again, to make sure that everything still works - since we're basically switching to a completely new grub.cfg. The test case should be sufficient to make sure there are no regressions. |
|
2021-10-28 16:19:43 |
Łukasz Zemczak |
nominated for series |
|
Ubuntu Focal |
|
2021-10-28 16:19:43 |
Łukasz Zemczak |
bug task added |
|
livecd-rootfs (Ubuntu Focal) |
|
2021-10-28 16:19:46 |
Łukasz Zemczak |
livecd-rootfs (Ubuntu Focal): importance |
Undecided |
Critical |
|
2021-10-28 16:19:50 |
Łukasz Zemczak |
livecd-rootfs (Ubuntu Focal): status |
New |
In Progress |
|
2021-10-28 16:19:57 |
Łukasz Zemczak |
summary |
Preinstalled amd64 images cannot upgrade grub.cfg on boot partition |
Preinstalled amd64 images cannot upgrade grub.cfg on boot partition + technical dept |
|
2021-10-28 16:30:19 |
Brian Murray |
livecd-rootfs (Ubuntu Focal): status |
In Progress |
Fix Committed |
|
2021-10-28 16:30:22 |
Brian Murray |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2021-10-28 16:30:25 |
Brian Murray |
bug |
|
|
added subscriber SRU Verification |
2021-10-28 16:30:30 |
Brian Murray |
tags |
|
verification-needed verification-needed-focal |
|
2021-10-28 20:06:34 |
Brian Murray |
summary |
Preinstalled amd64 images cannot upgrade grub.cfg on boot partition + technical dept |
Preinstalled amd64 images cannot upgrade grub.cfg on boot partition + technical debt |
|
2021-11-02 14:54:53 |
Łukasz Zemczak |
bug task added |
|
cloud-initramfs-tools (Ubuntu) |
|
2021-11-02 14:56:15 |
Łukasz Zemczak |
description |
[Impact]
This is a design flaw that needs to be fixed. Basically we inherited the design from old Ubuntu Core devices that the boot configuration is prepared in the gadget and - therefore - is quite static. Newer Core devices have mechanisms for updating boot assets, while classic images... well, we never actually thought about it.
Now that we have a valid use-case for preinstalled amd64 images, we actually need to make sure we can update at least the grub config somehow. To do this, we introduce the hook from preinstalled desktop images from groovy+ with an additional change to generate the grub.cfg by using `update-grub2`. We switch the design to now only shipping a blanket grub.cfg on the boot partition, pointing to the rootfs one - which can be freely updated via existing mechanisms.
While adding the hook, we also fix a few other technical dept - like adding a swap file and making the rootfs resizable. Everything that we already had for our Pi images in groovy+.
[Test Case]
Build an image with -proposed enabled, make sure that it still boots as before on Intel IOT platforms. Try booting the image on an USB when there are other USB drives present on the device.
[Regression Potential]
This can basically only regress intel-iotg desktop images, which is what we want to fix right now. But it requires for the images to go through the whole testing cycle again, to make sure that everything still works - since we're basically switching to a completely new grub.cfg. The test case should be sufficient to make sure there are no regressions. |
[Impact]
This is a design flaw that needs to be fixed. Basically we inherited the design from old Ubuntu Core devices that the boot configuration is prepared in the gadget and - therefore - is quite static. Newer Core devices have mechanisms for updating boot assets, while classic images... well, we never actually thought about it.
Now that we have a valid use-case for preinstalled amd64 images, we actually need to make sure we can update at least the grub config somehow. To do this, we introduce the hook from preinstalled desktop images from groovy+ with an additional change to generate the grub.cfg by using `update-grub2`. We switch the design to now only shipping a blanket grub.cfg on the boot partition, pointing to the rootfs one - which can be freely updated via existing mechanisms.
While adding the hook, we also fix a few other technical dept - like adding a swap file and making the rootfs resizable. Everything that we already had for our Pi images in groovy+.
The growroot part might also require a quick workaround in cloud-initramfs-tools.
[Test Case]
Build an image with -proposed enabled, make sure that it still boots as before on Intel IOT platforms. Try booting the image on an USB when there are other USB drives present on the device.
[Regression Potential]
This can basically only regress intel-iotg desktop images, which is what we want to fix right now. But it requires for the images to go through the whole testing cycle again, to make sure that everything still works - since we're basically switching to a completely new grub.cfg. The test case should be sufficient to make sure there are no regressions.
The cloud-initramfs-tools changes for growroot might, in some very weird way, break cloud image resizing. So it would be good to double check with the CPC team if images still work as expected with this change. |
|
2021-11-02 15:50:08 |
Łukasz Zemczak |
description |
[Impact]
This is a design flaw that needs to be fixed. Basically we inherited the design from old Ubuntu Core devices that the boot configuration is prepared in the gadget and - therefore - is quite static. Newer Core devices have mechanisms for updating boot assets, while classic images... well, we never actually thought about it.
Now that we have a valid use-case for preinstalled amd64 images, we actually need to make sure we can update at least the grub config somehow. To do this, we introduce the hook from preinstalled desktop images from groovy+ with an additional change to generate the grub.cfg by using `update-grub2`. We switch the design to now only shipping a blanket grub.cfg on the boot partition, pointing to the rootfs one - which can be freely updated via existing mechanisms.
While adding the hook, we also fix a few other technical dept - like adding a swap file and making the rootfs resizable. Everything that we already had for our Pi images in groovy+.
The growroot part might also require a quick workaround in cloud-initramfs-tools.
[Test Case]
Build an image with -proposed enabled, make sure that it still boots as before on Intel IOT platforms. Try booting the image on an USB when there are other USB drives present on the device.
[Regression Potential]
This can basically only regress intel-iotg desktop images, which is what we want to fix right now. But it requires for the images to go through the whole testing cycle again, to make sure that everything still works - since we're basically switching to a completely new grub.cfg. The test case should be sufficient to make sure there are no regressions.
The cloud-initramfs-tools changes for growroot might, in some very weird way, break cloud image resizing. So it would be good to double check with the CPC team if images still work as expected with this change. |
[Impact]
This is a design flaw that needs to be fixed. Basically we inherited the design from old Ubuntu Core devices that the boot configuration is prepared in the gadget and - therefore - is quite static. Newer Core devices have mechanisms for updating boot assets, while classic images... well, we never actually thought about it.
Now that we have a valid use-case for preinstalled amd64 images, we actually need to make sure we can update at least the grub config somehow. To do this, we introduce the hook from preinstalled desktop images from groovy+ with an additional change to generate the grub.cfg by using `update-grub2`. We switch the design to now only shipping a blanket grub.cfg on the boot partition, pointing to the rootfs one - which can be freely updated via existing mechanisms.
While adding the hook, we also fix a few other technical dept - like adding a swap file and making the rootfs resizable. Everything that we already had for our Pi images in groovy+.
The growroot part might also require a quick workaround in cloud-initramfs-tools.
[Test Case]
* Base test case:
Build an image with -proposed enabled, make sure that it still boots as before on Intel IOT platforms. Try booting the image on an USB when there are other USB drives present on the device.
* Growroot:
Resize the image so that growroot finds space to expand the rootfs. Boot the image, make sure that the image boots fine on first boot (no initramfs prompt!). Log into the system and run `sudo udevadm info /dev/sda3` and check if there are "ID_*" properties present. Check if the root partition has expanded as expected.
* Grub updates:
On the booted image, run `sudo update-grub2`, make sure that there are no errors present. Reboot, check if the image still boots correctly.
To make sure the rootfs grub.cfg is used, modify /etc/default/grub and change GRUB_TIMEOUT to 10. Run `sudo update-grub2` again and reboot. Confirm that the grub menu appears with a 10 second timeout.
[Regression Potential]
This can basically only regress intel-iotg desktop images, which is what we want to fix right now. But it requires for the images to go through the whole testing cycle again, to make sure that everything still works - since we're basically switching to a completely new grub.cfg. The test case should be sufficient to make sure there are no regressions.
The cloud-initramfs-tools changes for growroot might, in some very weird way, break cloud image resizing. So it would be good to double check with the CPC team if images still work as expected with this change. |
|
2021-11-02 16:03:21 |
Brian Murray |
cloud-initramfs-tools (Ubuntu Focal): status |
New |
Fix Committed |
|
2021-11-03 16:53:26 |
Łukasz Zemczak |
tags |
verification-needed verification-needed-focal |
verification-done verification-done-focal |
|
2021-11-03 16:53:39 |
Łukasz Zemczak |
merge proposal linked |
|
https://code.launchpad.net/~sil2100/cloud-initramfs-tools/+git/cloud-initramfs-tools/+merge/411155 |
|
2021-11-03 20:02:41 |
Launchpad Janitor |
cloud-initramfs-tools (Ubuntu Focal): status |
Fix Committed |
Fix Released |
|
2021-11-03 20:02:44 |
Brian Murray |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2021-11-08 09:27:52 |
Launchpad Janitor |
livecd-rootfs (Ubuntu Focal): status |
Fix Committed |
Fix Released |
|