mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-02-13 14:27:09 +00:00
In a cloud environment, we can rely on the kernel being able to boot the
root filesystem directly, without an initramfs; enable this when building minimized.
This commit is contained in:
parent
5a6f68a1a9
commit
cd15b730f7
@ -273,6 +273,10 @@ replace_grub_root_with_label() {
|
||||
# Instead, we want grub to use the cloudimg-rootfs labelled disk
|
||||
CHROOT_ROOT="$1"
|
||||
|
||||
# If boot by partuuid has been requested, don't override.
|
||||
if grep -q ^GRUB_FORCE_PARTUUID= $CHROOT_ROOT/etc/default/grub; then
|
||||
return 0
|
||||
fi
|
||||
sed -i -e "s,root=[^ ]\+,root=LABEL=cloudimg-rootfs," \
|
||||
"$CHROOT_ROOT/boot/grub/grub.cfg"
|
||||
}
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
. config/functions
|
||||
|
||||
. /build/config/binary
|
||||
|
||||
BOOTPART_START=
|
||||
BOOTPART_END=
|
||||
BOOT_MOUNTPOINT=
|
||||
@ -64,6 +66,8 @@ create_empty_partition "${disk_image}" "$ROOTPART" "$ROOTPART_START" -1 ext2 "$R
|
||||
|
||||
mount_image "${disk_image}" "$ROOTPART"
|
||||
|
||||
partuuid=$(blkid -s PARTUUID -o value "$rootfs_dev_mapper")
|
||||
|
||||
# Copy the chroot in to the disk
|
||||
make_ext4_partition "${rootfs_dev_mapper}"
|
||||
mkdir mountpoint
|
||||
@ -111,6 +115,25 @@ if [ "${should_install_grub}" -eq 1 ]; then
|
||||
${loop_device}
|
||||
|
||||
rm mountpoint/tmp/device.map
|
||||
|
||||
if [ "$SUBPROJECT" = minimize ] && [ -n "$partuuid" ]; then
|
||||
echo "partuuid found for root device; omitting initrd"
|
||||
chroot mountpoint dpkg-divert --add \
|
||||
--divert /usr/sbin/update-initramfs.divert-minimize \
|
||||
--rename /usr/sbin/update-initramfs
|
||||
cat > mountpoint/usr/sbin/update-initramfs <<'EOF'
|
||||
#! /bin/sh
|
||||
echo "initramfs disabled on this system. To reenable, run:" >&2
|
||||
echo " sudo rm -f /usr/sbin/update-initramfs" >&2
|
||||
echo " sudo dpkg-divert --remove --rename /usr/sbin/update-initramfs" >&2
|
||||
exit 0
|
||||
EOF
|
||||
chmod +x mountpoint/usr/sbin/update-initramfs
|
||||
rm -f mountpoint/boot/initrd.img-*
|
||||
|
||||
echo "GRUB_FORCE_PARTUUID=$partuuid" >> mountpoint/etc/default/grub
|
||||
chroot mountpoint update-grub
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$ARCH" = "s390x" ]; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user