Import patches-unapplied version 2.376 to ubuntu/xenial-proposed
Imported using git-ubuntu import.
Changelog parent: 80fddc56a2b4d6ed82dcce3ef56028b37e40705a
New changelog entries:
[ Michael Terry ]
* Change real name for phablet user to "Ubuntu" in ubuntu-touch.
[ Steve Langasek ]
* Drop BuildLiveCD from the examples; we now use launchpad-buildd to drive
livefs builds, so BuildLiveCD is obsolete and misleading.
* Add hooks to ubuntu-cpc to divert /bin/sync in the chroot and undivert it
at the end. This is a general-purpose change that should be applied to
all flavors and archs, but at the moment it's only needed on armhf+raspi2
to work around the raspberrypi2-firmware postinst calling sync, which is
actually warranted in the normal case.
* If a subarch is specified for a cloud image build, don't build rootfs
artifacts; these should come from the 'generic' build.
* Fix architecture handling in hooks. We know we're always being invoked
from a launchpad-buildd-like setup, which passes ARCH and SUBARCH in the
environment, because auto/config and auto/build both rely on this. So
don't scatter dpkg --print-architecture calls throughout, especially
when many of these are not cross-build-aware.
* Refactor ubuntu-cpc hooks to allow us to handle images where the root
partition should not be partition 1.
[ Ben Howard ]
* ubuntu-cpc: fix hooks/032-disk-image.binary call to
create_empty_partition, which requires five args due to "-u"
* ubuntu-cpc: in hooks/030-root-tarball.binary create /lib/modules to fix
(LP: 1543204).
[ Dimitri John Ledkov ]
* Do not remove linux-base, when purging all the linux-*, in the tarball
build. Otherwise ubuntu-minimal is removed, and things get crazy.
* Correct initrd.img symlink, kernel/hooks should actually produce the
right thing here, but meh.
* Chroot to execute zipl, because it's nice.
* Use the right loop device to install zipl onto.
[ Steve Langasek ]
* Refactor ubuntu-cpc hooks to always produce a 'plain' rootfs via
live-build and reuse this for the tarball, instead of lb_binary_rootfs
creating some artifact that we ignore / throw away.
* Initial support for raspi2 subarch.
* Import live-build/ubuntu-cpc/hooks/raspi2/mkknlimg from
https://github.com/raspberrypi/linux/blob/rpi-4.1.y/scripts/mkknlimg
and use it to install a bootable uboot.bin.
2016-02-12 21:14:49 +00:00
|
|
|
#!/bin/bash -ex
|
2015-11-16 15:50:17 +01:00
|
|
|
# vi: ts=4 noexpandtab
|
|
|
|
#
|
|
|
|
# Generate a squashfs root and manifest
|
|
|
|
|
2017-03-23 11:39:22 -06:00
|
|
|
case $IMAGE_TARGETS in
|
|
|
|
""|*squashfs*)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Skipping squashfs build"
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
Import patches-unapplied version 2.376 to ubuntu/xenial-proposed
Imported using git-ubuntu import.
Changelog parent: 80fddc56a2b4d6ed82dcce3ef56028b37e40705a
New changelog entries:
[ Michael Terry ]
* Change real name for phablet user to "Ubuntu" in ubuntu-touch.
[ Steve Langasek ]
* Drop BuildLiveCD from the examples; we now use launchpad-buildd to drive
livefs builds, so BuildLiveCD is obsolete and misleading.
* Add hooks to ubuntu-cpc to divert /bin/sync in the chroot and undivert it
at the end. This is a general-purpose change that should be applied to
all flavors and archs, but at the moment it's only needed on armhf+raspi2
to work around the raspberrypi2-firmware postinst calling sync, which is
actually warranted in the normal case.
* If a subarch is specified for a cloud image build, don't build rootfs
artifacts; these should come from the 'generic' build.
* Fix architecture handling in hooks. We know we're always being invoked
from a launchpad-buildd-like setup, which passes ARCH and SUBARCH in the
environment, because auto/config and auto/build both rely on this. So
don't scatter dpkg --print-architecture calls throughout, especially
when many of these are not cross-build-aware.
* Refactor ubuntu-cpc hooks to allow us to handle images where the root
partition should not be partition 1.
[ Ben Howard ]
* ubuntu-cpc: fix hooks/032-disk-image.binary call to
create_empty_partition, which requires five args due to "-u"
* ubuntu-cpc: in hooks/030-root-tarball.binary create /lib/modules to fix
(LP: 1543204).
[ Dimitri John Ledkov ]
* Do not remove linux-base, when purging all the linux-*, in the tarball
build. Otherwise ubuntu-minimal is removed, and things get crazy.
* Correct initrd.img symlink, kernel/hooks should actually produce the
right thing here, but meh.
* Chroot to execute zipl, because it's nice.
* Use the right loop device to install zipl onto.
[ Steve Langasek ]
* Refactor ubuntu-cpc hooks to always produce a 'plain' rootfs via
live-build and reuse this for the tarball, instead of lb_binary_rootfs
creating some artifact that we ignore / throw away.
* Initial support for raspi2 subarch.
* Import live-build/ubuntu-cpc/hooks/raspi2/mkknlimg from
https://github.com/raspberrypi/linux/blob/rpi-4.1.y/scripts/mkknlimg
and use it to install a bootable uboot.bin.
2016-02-12 21:14:49 +00:00
|
|
|
if [ -n "$SUBARCH" ]; then
|
2016-06-28 16:21:08 -07:00
|
|
|
echo "Skipping rootfs build for subarch flavor build"
|
Import patches-unapplied version 2.376 to ubuntu/xenial-proposed
Imported using git-ubuntu import.
Changelog parent: 80fddc56a2b4d6ed82dcce3ef56028b37e40705a
New changelog entries:
[ Michael Terry ]
* Change real name for phablet user to "Ubuntu" in ubuntu-touch.
[ Steve Langasek ]
* Drop BuildLiveCD from the examples; we now use launchpad-buildd to drive
livefs builds, so BuildLiveCD is obsolete and misleading.
* Add hooks to ubuntu-cpc to divert /bin/sync in the chroot and undivert it
at the end. This is a general-purpose change that should be applied to
all flavors and archs, but at the moment it's only needed on armhf+raspi2
to work around the raspberrypi2-firmware postinst calling sync, which is
actually warranted in the normal case.
* If a subarch is specified for a cloud image build, don't build rootfs
artifacts; these should come from the 'generic' build.
* Fix architecture handling in hooks. We know we're always being invoked
from a launchpad-buildd-like setup, which passes ARCH and SUBARCH in the
environment, because auto/config and auto/build both rely on this. So
don't scatter dpkg --print-architecture calls throughout, especially
when many of these are not cross-build-aware.
* Refactor ubuntu-cpc hooks to allow us to handle images where the root
partition should not be partition 1.
[ Ben Howard ]
* ubuntu-cpc: fix hooks/032-disk-image.binary call to
create_empty_partition, which requires five args due to "-u"
* ubuntu-cpc: in hooks/030-root-tarball.binary create /lib/modules to fix
(LP: 1543204).
[ Dimitri John Ledkov ]
* Do not remove linux-base, when purging all the linux-*, in the tarball
build. Otherwise ubuntu-minimal is removed, and things get crazy.
* Correct initrd.img symlink, kernel/hooks should actually produce the
right thing here, but meh.
* Chroot to execute zipl, because it's nice.
* Use the right loop device to install zipl onto.
[ Steve Langasek ]
* Refactor ubuntu-cpc hooks to always produce a 'plain' rootfs via
live-build and reuse this for the tarball, instead of lb_binary_rootfs
creating some artifact that we ignore / throw away.
* Initial support for raspi2 subarch.
* Import live-build/ubuntu-cpc/hooks/raspi2/mkknlimg from
https://github.com/raspberrypi/linux/blob/rpi-4.1.y/scripts/mkknlimg
and use it to install a bootable uboot.bin.
2016-02-12 21:14:49 +00:00
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2017-04-12 19:37:08 -04:00
|
|
|
. config/functions
|
2016-06-28 16:21:08 -07:00
|
|
|
|
|
|
|
mkdir binary/boot/squashfs.dir
|
|
|
|
cp -a chroot/* binary/boot/squashfs.dir
|
|
|
|
|
|
|
|
setup_mountpoint binary/boot/squashfs.dir
|
|
|
|
|
|
|
|
chroot binary/boot/squashfs.dir dpkg-divert --local --rename /usr/sbin/grub-probe
|
|
|
|
chroot binary/boot/squashfs.dir touch /usr/sbin/grub-probe
|
|
|
|
chroot binary/boot/squashfs.dir chmod +x /usr/sbin/grub-probe
|
|
|
|
|
|
|
|
env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get --purge remove --assume-yes '^linux-.*' 'linux-base+'
|
|
|
|
env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get --purge remove --assume-yes '^grub-.*'
|
|
|
|
env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get autoremove --purge --assume-yes
|
|
|
|
chroot binary/boot/squashfs.dir mkdir /lib/modules
|
|
|
|
|
|
|
|
chroot binary/boot/squashfs.dir rm /usr/sbin/grub-probe
|
|
|
|
chroot binary/boot/squashfs.dir dpkg-divert --remove --local --rename /usr/sbin/grub-probe
|
|
|
|
|
|
|
|
mv resolv.conf.tmp "binary/boot/squashfs.dir/etc/resolv.conf"
|
|
|
|
umount "binary/boot/squashfs.dir/proc"
|
|
|
|
umount "binary/boot/squashfs.dir/sys"
|
|
|
|
umount "binary/boot/squashfs.dir/dev/pts"
|
|
|
|
umount "binary/boot/squashfs.dir/dev"
|
|
|
|
umount "binary/boot/squashfs.dir/tmp"
|
|
|
|
|
2015-11-16 15:50:17 +01:00
|
|
|
apt-get -qqy install squashfs-tools
|
|
|
|
|
|
|
|
squashfs_f="${PWD}/livecd.ubuntu-cpc.squashfs"
|
|
|
|
squashfs_f_manifest="${squashfs_f}.manifest"
|
|
|
|
|
2016-06-28 16:21:08 -07:00
|
|
|
dpkg-query --admindir=binary/boot/squashfs.dir/var/lib/dpkg -W > ${squashfs_f_manifest}
|
2015-11-16 15:50:17 +01:00
|
|
|
|
2016-06-28 16:21:08 -07:00
|
|
|
(cd "binary/boot/squashfs.dir/" &&
|
2015-11-16 15:50:17 +01:00
|
|
|
mksquashfs . ${squashfs_f} \
|
|
|
|
-no-progress -xattrs -comp xz )
|