[Bug 1720217] Re: Allow building images with kernels without initrd
Steve Langasek
steve.langasek at canonical.com
Sun Oct 22 04:49:22 UTC 2017
As part of verifying this SRU I had to change the test case to point to
current lp:~ubuntu-core-dev/livecd-rootfs/livecd-rootfs-xenial, not
because of any bug in the live-build SRU, but because the previously
referenced branch would not reliably trigger the original bug against
xenial (due to undefined ordering of initramfs-tools configuration).
These livecd-rootfs branches also had already added a versioned
dependency on the xenial-proposed version of live-build, so the test
case cannot be completed as written. Modifying the livecd-rootfs
package to drop this versioned dependency is required; otherwise livecd-
rootfs is unpacked but not configured, which prevents other packages to
be successfully installed as part of the build by livecd-rootfs itself
using apt.
Once livecd-rootfs is correctly installed with the relaxed dependency,
the original failure is reproducible as expected; and upgrading to the
xenial-proposed version of live-build resolves it.
** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done-xenial
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to live-build in Ubuntu.
https://bugs.launchpad.net/bugs/1720217
Title:
Allow building images with kernels without initrd
Status in live-build package in Ubuntu:
Fix Released
Status in live-build source package in Xenial:
Fix Committed
Status in live-build package in Debian:
New
Bug description:
[SRU Justification]
initramfsless boot is an important enhancement to decrease boot times and increase density for cloud images. Unfortunately, live-build assumes that an initramfs is used, and image builds fail if it is not present. Fix this so that these improvements can be applied to the LTS, which represents the vast majority of cloud instances.
[Test case]
1. Build livecd-rootfs from lp:~ubuntu-core-dev/livecd-rootfs/xenial-proposed
2. Install this version of livecd-rootfs with the xenial-updates live-build.
3. Create a build directory with 'mkdir build-dir; cd build-dir'
4. Attempt an image build with the command (as root): 'cp -a /usr/share/livecd-rootfs/live-build/{auto,ubuntu-cpc}/ .; env PROJECT=ubuntu-cpc SUBPROJECT=minimized ARCH=amd64 SUITE=xenial lb config && env PROJECT=ubuntu-cpc SUBPROJECT=minimized ARCH=amd64 lb build'
4. Confirm that this fails to produce output, with the error 'cp: cannot stat 'chroot/boot/initrd.img-*': No such file or directory'
5. Clean up the build tree with 'rm -r --one-file-system .build/ *'
6. Install live-build from xenial-proposed.
7. Attempt a second image build with the same command from step 4.
8. Confirm that this produces output files in the current directory.
[Regression potential]
If another bug is introduced elsewhere that causes an initramfs to fail to be generated in the expected location as part of an image that does require one, the resulting image build will fail or will fail to boot due to the ignored error.
[Original description]
Lb may fail when creating an image with a kernel not requiring, hence initramfs-tools not building initrd.
...
P: Begin installing local package lists...
[2017-09-28 15:55:06] lb_binary_linux-image
P: Begin install linux-image...
cp: cannot stat 'chroot/boot/initrd.img-*': No such file or directory
P: Begin unmounting filesystems...
P: Saving caches...
Reading package lists...
Building dependency tree...
...
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/live-build/+bug/1720217/+subscriptions
More information about the foundations-bugs
mailing list