mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-02-10 12:47:30 +00:00
Merge lp:~utlemming/livecd-rootfs/v374-ubuntu-cpc
This commit is contained in:
commit
893ba9e96f
9
debian/changelog
vendored
9
debian/changelog
vendored
@ -1,4 +1,4 @@
|
||||
livecd-rootfs (2.374) UNRELEASED; urgency=medium
|
||||
livecd-rootfs (2.374) xenial; urgency=medium
|
||||
|
||||
[ Michael Vogt ]
|
||||
* ubuntu-core:
|
||||
@ -13,7 +13,12 @@ livecd-rootfs (2.374) UNRELEASED; urgency=medium
|
||||
* Refactor/reorder ubuntu-cpc support for consistency with other flavors,
|
||||
so that subarch overrides can be applied correctly.
|
||||
|
||||
-- Michael Vogt <michael.vogt@ubuntu.com> Thu, 28 Jan 2016 18:27:23 +0100
|
||||
[ Ben Howard ]
|
||||
* ubuntu-cpc:
|
||||
- fixed loop setup due to change of kpartx output
|
||||
- only use grub-install logic for Intel architectures
|
||||
|
||||
-- Ben Howard <ben.howard@ubuntu.com> Tue, 02 Feb 2016 10:18:14 -0700
|
||||
|
||||
livecd-rootfs (2.373) xenial; urgency=medium
|
||||
|
||||
|
@ -11,15 +11,16 @@ backing_img=
|
||||
apt-get -qqy install dosfstools gdisk
|
||||
|
||||
clean_loops() {
|
||||
|
||||
if [ -n "${backing_img}" ]; then
|
||||
kpartx -v -d "${backing_img}"
|
||||
unset backing_img
|
||||
fi
|
||||
|
||||
if [ -z "${rootfs_dev_mapper}" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ -n "${backing_img}" ]; then
|
||||
kpartx -v -d "${backing_img}"
|
||||
fi
|
||||
|
||||
unset backing_img
|
||||
unset loop_device
|
||||
unset loop_raw
|
||||
unset rootfs_dev_mapper
|
||||
@ -40,11 +41,27 @@ mount_image() {
|
||||
apt-get install -qqy kpartx
|
||||
trap clean_loops EXIT
|
||||
backing_img="$1"
|
||||
loop_raw="$(kpartx -s -v -a "$1" )"
|
||||
loop_device="$(echo -e "${loop_raw}" | head -n1 | awk '{print($(NF-1))}')"
|
||||
rootfs_dev_mapper="/dev/mapper${loop_device///dev/}p1"
|
||||
[ ! -b "${rootfs_dev_mapper}" ] &&
|
||||
echo "${rootfs_dev_mapper} is not a block device" && exit 1
|
||||
kpartx_mapping="$(kpartx -s -v -a ${backing_img})"
|
||||
|
||||
# Find the loop device
|
||||
loop_p1="$(echo -e ${kpartx_mapping} | head -n1 | awk '{print$3}')"
|
||||
loop_device="/dev/loop$(echo ${loop_p1} | cut -b5)"
|
||||
if [ ! -b ${loop_device} ]; then
|
||||
echo "unable to find loop device for ${backing_img}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Find the rootfs location
|
||||
rootfs_dev_mapper="/dev/mapper/${loop_p1}"
|
||||
if [ ! -b "${rootfs_dev_mapper}" ]; then
|
||||
echo "${rootfs_dev_mapper} is not a block device";
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Add some information to the debug logs
|
||||
echo "Mounted disk image ${backing_img} to ${rootfs_dev_mapper}"
|
||||
blkid ${rootfs_dev_mapper}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -32,24 +32,23 @@ cp -a chroot/* mountpoint/
|
||||
umount mountpoint
|
||||
rmdir mountpoint
|
||||
|
||||
should_install_grub() {
|
||||
case $architecture in
|
||||
armhf|arm64)
|
||||
return 1
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
case $architecture in
|
||||
amd64|i386) should_install_grub=1;;
|
||||
*) should_install_grub=0;;
|
||||
esac
|
||||
|
||||
if should_install_grub; then
|
||||
if [ "${should_install_grub}" -eq 1 ]; then
|
||||
mkdir mountpoint
|
||||
mount_partition "${rootfs_dev_mapper}" mountpoint
|
||||
|
||||
echo "(hd0) ${loop_device}" > mountpoint/tmp/device.map
|
||||
chroot mountpoint grub-install ${loop_device}
|
||||
chroot mountpoint grub-bios-setup --boot-image=i386-pc/boot.img --core-image=i386-pc/core.img --skip-fs-probe --device-map=/tmp/device.map ${loop_device}
|
||||
chroot mountpoint grub-bios-setup \
|
||||
--boot-image=i386-pc/boot.img \
|
||||
--core-image=i386-pc/core.img \
|
||||
--skip-fs-probe \
|
||||
--device-map=/tmp/device.map \
|
||||
${loop_device}
|
||||
|
||||
rm mountpoint/tmp/device.map
|
||||
umount_partition mountpoint
|
||||
@ -75,7 +74,15 @@ parameters = root=LABEL=cloudimg-rootfs
|
||||
EOF
|
||||
|
||||
# Create bootmap file
|
||||
mountpoint/sbin/zipl -V --image=mountpoint/boot/vmlinuz --ramdisk=mountpoint/boot/initrd.img --parameters='root=LABEL=cloudimg-rootfs' --target=mountpoint/boot/ --targetbase=/dev/loop0 --targettype=SCSI --targetblocksize=512 --targetoffset=2048
|
||||
mountpoint/sbin/zipl -V \
|
||||
--image=mountpoint/boot/vmlinuz \
|
||||
--ramdisk=mountpoint/boot/initrd.img \
|
||||
--parameters='root=LABEL=cloudimg-rootfs' \
|
||||
--target=mountpoint/boot/ \
|
||||
--targetbase=/dev/loop0 \
|
||||
--targettype=SCSI \
|
||||
--targetblocksize=512 \
|
||||
--targetoffset=2048
|
||||
|
||||
umount_partition mountpoint
|
||||
rmdir mountpoint
|
||||
|
Loading…
x
Reference in New Issue
Block a user