mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-06-10 09:33:07 +00:00
Revert "ubuntu-cpc: Make the ESP 2GiB and mount it to /boot"
Revert this change for now as /boot then becomes a FAT partition which breaks DPKG requirements[1]. This change is going to be re-evaluated and maybe introduced in a different way. This is not a clean revert because of 3282efb ("ubuntu-cpc: cleanup disk-images-uefi.binary") which we want to keep. [1] https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_What_are_the_filesystem_requirements_by_dpkg.3F This reverts commit 6a66666e0a5ab1ad96cb0e388f278aafbd012ffe.
This commit is contained in:
parent
a3307ebdb7
commit
2929ff092e
@ -208,9 +208,8 @@ mount_disk_image() {
|
|||||||
mount_partition "${rootfs_dev_mapper}" $mountpoint
|
mount_partition "${rootfs_dev_mapper}" $mountpoint
|
||||||
|
|
||||||
local uefi_dev="${loop_device}p15"
|
local uefi_dev="${loop_device}p15"
|
||||||
if [ -b ${uefi_dev} -a -e $mountpoint/boot ]; then
|
if [ -b ${uefi_dev} -a -e $mountpoint/boot/efi ]; then
|
||||||
mount "${uefi_dev}" $mountpoint/boot
|
mount "${uefi_dev}" $mountpoint/boot/efi
|
||||||
mount --bind $mountpoint/boot $mountpoint/boot/efi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This is needed to allow for certain operations
|
# This is needed to allow for certain operations
|
||||||
@ -254,13 +253,8 @@ umount_disk_image() {
|
|||||||
# zero fill free space in UEFI partition
|
# zero fill free space in UEFI partition
|
||||||
cat < /dev/zero > "$mountpoint/boot/efi/bloat_file" 2> /dev/null || true
|
cat < /dev/zero > "$mountpoint/boot/efi/bloat_file" 2> /dev/null || true
|
||||||
rm "$mountpoint/boot/efi/bloat_file"
|
rm "$mountpoint/boot/efi/bloat_file"
|
||||||
|
mount --make-private "$mountpoint/boot/efi"
|
||||||
# unmount bind mount
|
umount --detach-loop "$mountpoint/boot/efi"
|
||||||
umount "$mountpoint/boot/efi"
|
|
||||||
|
|
||||||
# unmount ESP
|
|
||||||
mount --make-private "$mountpoint/boot"
|
|
||||||
umount --detach-loop "$mountpoint/boot"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e $mountpoint/usr/sbin/policy-rc.d ]; then
|
if [ -e $mountpoint/usr/sbin/policy-rc.d ]; then
|
||||||
|
@ -12,8 +12,13 @@ esac
|
|||||||
IMAGE_STR="# CLOUD_IMG: This file was created/modified by the Cloud Image build process"
|
IMAGE_STR="# CLOUD_IMG: This file was created/modified by the Cloud Image build process"
|
||||||
FS_LABEL="cloudimg-rootfs"
|
FS_LABEL="cloudimg-rootfs"
|
||||||
|
|
||||||
# 4G (4*1024**3)
|
if [ "$ARCH" = "amd64" ]; then
|
||||||
IMAGE_SIZE=4294967296
|
IMAGE_SIZE=3758096384 # bump to 3.5G (3584*1024**2); Since Kinetic amd64 need more then the default 2.2G
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$ARCH" = "armhf" ]; then
|
||||||
|
IMAGE_SIZE=3758096384 # bump to 3.5G (3584*1024**2); Since Jammy armhf need more then the default 2.2G
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$ARCH" = "riscv64" ]; then
|
if [ "$ARCH" = "riscv64" ]; then
|
||||||
IMAGE_SIZE=4831838208 # bump to 4.5G (4608*1024**2); initrd creation fails with "No space left" with 3.5G
|
IMAGE_SIZE=4831838208 # bump to 4.5G (4608*1024**2); initrd creation fails with "No space left" with 3.5G
|
||||||
@ -29,14 +34,14 @@ create_partitions() {
|
|||||||
case $ARCH in
|
case $ARCH in
|
||||||
arm64|armhf)
|
arm64|armhf)
|
||||||
sgdisk "${disk_image}" \
|
sgdisk "${disk_image}" \
|
||||||
--new=15:0:+2G \
|
--new=15:0:204800 \
|
||||||
--typecode=15:ef00 \
|
--typecode=15:ef00 \
|
||||||
--new=1:
|
--new=1:
|
||||||
;;
|
;;
|
||||||
riscv64)
|
riscv64)
|
||||||
sgdisk "${disk_image}" \
|
sgdisk "${disk_image}" \
|
||||||
--set-alignment=2 \
|
--set-alignment=2 \
|
||||||
--new=15::+2G \
|
--new=15::+106M \
|
||||||
--typecode=15:ef00 \
|
--typecode=15:ef00 \
|
||||||
--new=1:: \
|
--new=1:: \
|
||||||
--attributes=1:set:2
|
--attributes=1:set:2
|
||||||
@ -44,7 +49,7 @@ create_partitions() {
|
|||||||
amd64)
|
amd64)
|
||||||
sgdisk "${disk_image}" \
|
sgdisk "${disk_image}" \
|
||||||
--new=14::+4M \
|
--new=14::+4M \
|
||||||
--new=15::+2G \
|
--new=15::+106M \
|
||||||
--new=1::
|
--new=1::
|
||||||
sgdisk "${disk_image}" \
|
sgdisk "${disk_image}" \
|
||||||
-t 14:ef02 \
|
-t 14:ef02 \
|
||||||
@ -60,19 +65,11 @@ create_and_mount_uefi_partition() {
|
|||||||
mountpoint="$1"
|
mountpoint="$1"
|
||||||
mkfs.vfat -F 32 -n UEFI "${uefi_dev}"
|
mkfs.vfat -F 32 -n UEFI "${uefi_dev}"
|
||||||
|
|
||||||
mkdir -p "${mountpoint}"/boot/
|
mkdir -p "${mountpoint}"/boot/efi
|
||||||
mount "${uefi_dev}" "$mountpoint"/boot/
|
mount "${uefi_dev}" "$mountpoint"/boot/efi
|
||||||
|
|
||||||
mkdir "$mountpoint/boot/efi"
|
cat << EOF >> "mountpoint/etc/fstab"
|
||||||
mount --bind "$mountpoint/boot" "$mountpoint/boot/efi"
|
LABEL=UEFI /boot/efi vfat umask=0077 0 1
|
||||||
}
|
|
||||||
|
|
||||||
configure_chroot() {
|
|
||||||
mountpoint="$1"
|
|
||||||
|
|
||||||
cat << EOF >> "$mountpoint"/etc/fstab
|
|
||||||
LABEL=UEFI /boot vfat umask=0077 0 1
|
|
||||||
/boot /boot/efi vfat umask=0077,bind 0 0
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,8 +77,7 @@ install_grub() {
|
|||||||
mkdir mountpoint
|
mkdir mountpoint
|
||||||
mount_partition "${rootfs_dev_mapper}" mountpoint
|
mount_partition "${rootfs_dev_mapper}" mountpoint
|
||||||
|
|
||||||
mount "${uefi_dev}" mountpoint/boot/
|
create_and_mount_uefi_partition mountpoint
|
||||||
mount --bind mountpoint/boot mountpoint/boot/efi
|
|
||||||
|
|
||||||
echo "(hd0) ${loop_device}" > mountpoint/tmp/device.map
|
echo "(hd0) ${loop_device}" > mountpoint/tmp/device.map
|
||||||
mkdir -p mountpoint/etc/default/grub.d
|
mkdir -p mountpoint/etc/default/grub.d
|
||||||
@ -162,26 +158,16 @@ install_grub() {
|
|||||||
|
|
||||||
disk_image=binary/boot/disk-uefi.ext4
|
disk_image=binary/boot/disk-uefi.ext4
|
||||||
|
|
||||||
# create the disk
|
|
||||||
create_empty_disk_image "${disk_image}"
|
create_empty_disk_image "${disk_image}"
|
||||||
create_partitions "${disk_image}"
|
create_partitions "${disk_image}"
|
||||||
mount_image "${disk_image}" 1
|
mount_image "${disk_image}" 1
|
||||||
|
|
||||||
# create and mount the rootfs partition
|
# Copy the chroot in to the disk
|
||||||
make_ext4_partition "${rootfs_dev_mapper}"
|
make_ext4_partition "${rootfs_dev_mapper}"
|
||||||
mkdir mountpoint
|
mkdir mountpoint
|
||||||
mount "${rootfs_dev_mapper}" mountpoint
|
mount "${rootfs_dev_mapper}" mountpoint
|
||||||
|
cp -a chroot/* mountpoint/
|
||||||
# create and mount the ESP
|
umount mountpoint
|
||||||
create_and_mount_uefi_partition mountpoint
|
|
||||||
|
|
||||||
# Copy the chroot into the disk
|
|
||||||
cp -a chroot/* mountpoint
|
|
||||||
|
|
||||||
configure_chroot mountpoint
|
|
||||||
|
|
||||||
# cleanup the mount
|
|
||||||
umount -R mountpoint
|
|
||||||
rmdir mountpoint
|
rmdir mountpoint
|
||||||
|
|
||||||
install_grub
|
install_grub
|
||||||
|
Loading…
x
Reference in New Issue
Block a user