mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-08-25 07:34:10 +00:00
Compare commits
41 Commits
ubuntu/mas
...
2.525.12
Author | SHA1 | Date | |
---|---|---|---|
|
de78ba0427 | ||
|
cdb4234912 | ||
|
8b65ec6c2c | ||
|
209f1857f2 | ||
|
486a30e967 | ||
|
1a39926dd0 | ||
|
ac8e88866d | ||
|
64e5330029 | ||
|
6527da055d | ||
|
00c8b06004 | ||
|
465d4f8db7 | ||
|
a251bb7ee5 | ||
|
7ce7902cd0 | ||
|
e31bba1195 | ||
|
7a614635f8 | ||
|
35c780c190 | ||
|
d372016933 | ||
|
96065b96c8 | ||
|
535a2d9174 | ||
|
85d022247c | ||
|
a443abae28 | ||
|
52b22f61ab | ||
|
545e68e676 | ||
|
c09a6c4e96 | ||
|
6ea20d222a | ||
|
e28ebf6a38 | ||
|
df0803df52 | ||
|
d97233a7bb | ||
|
d4c1f99a61 | ||
|
b4dc030fdb | ||
|
2ab2c5a74e | ||
|
1c99627313 | ||
|
6673d4d6ee | ||
|
7717615f58 | ||
|
f865cf4d55 | ||
|
14b7d8f801 | ||
|
7c09badeec | ||
|
4be07bbd0e | ||
|
3b4d2befa3 | ||
|
f299cb7bd3 | ||
|
a2309c6177 |
115
debian/changelog
vendored
115
debian/changelog
vendored
@ -1,3 +1,118 @@
|
|||||||
|
livecd-rootfs (2.525.12) bionic; urgency=medium
|
||||||
|
|
||||||
|
* Key netplan delegation to NetworkManager on presence of
|
||||||
|
/usr/sbin/NetworkManager, not on /usr/lib/NetworkManager which may have
|
||||||
|
hooks from other packages (i.e., wpasupplicant).
|
||||||
|
|
||||||
|
[ Cody Shepherd ]
|
||||||
|
* Include snaps in image manifests (LP: #1805497)
|
||||||
|
* Change call to add grub efi packages using new create_manifests()
|
||||||
|
function.
|
||||||
|
|
||||||
|
-- Steve Langasek <steve.langasek@ubuntu.com> Mon, 10 Dec 2018 12:46:46 -0800
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.11) bionic; urgency=medium
|
||||||
|
|
||||||
|
* Backport all the required changes to enable Raspberry Pi 3 armhf and arm64
|
||||||
|
preinstalled image builds. (LP: #1805668)
|
||||||
|
- Add support for raspi3 rootfs builds (based on Ryan Finnie's changes).
|
||||||
|
- For ubuntu-image consumption, export the kernel and initrd to
|
||||||
|
image/boot/uboot for raspi*.
|
||||||
|
- Avoid issues of hard-linking to a symbolic vmlinuz as this can lead to a
|
||||||
|
dangling symlink.
|
||||||
|
- Add raspi3 arm64 rootfs build support.
|
||||||
|
- Add git to the build dependencies for the gadget tree pull.
|
||||||
|
- Minor fixes to raspi3 builds: add arm64+raspi3 to the supported model
|
||||||
|
list, pass SUITE on to the build stage and use the git:// url for the
|
||||||
|
gadget tree.
|
||||||
|
|
||||||
|
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Thu, 29 Nov 2018 16:24:23 +0100
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.10) bionic; urgency=medium
|
||||||
|
|
||||||
|
[ Cody Shepherd ]
|
||||||
|
* Include grub efi packages in manifests for uefi images.
|
||||||
|
(LP: #1805190)
|
||||||
|
|
||||||
|
[ Robert C Jennings ]
|
||||||
|
* Disable checksum generation. (LP: #1799773)
|
||||||
|
|
||||||
|
[Steve Langasek]
|
||||||
|
* Fix Vcs-Bzr link.
|
||||||
|
|
||||||
|
-- Steve Langasek <steve.langasek@ubuntu.com> Mon, 26 Nov 2018 12:55:11 -0800
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.9) bionic; urgency=medium
|
||||||
|
|
||||||
|
* Ensure /lib/modules exists in root tarballs and sqashfs.
|
||||||
|
(LP: #1792905)
|
||||||
|
|
||||||
|
-- Tobias Koch <tobias.koch@canonical.com> Thu, 20 Sep 2018 09:30:34 +0200
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.8) bionic; urgency=medium
|
||||||
|
|
||||||
|
* Disentangle enabling universe in the final image a little from having
|
||||||
|
PREINSTALLED=true set and enable it for a live-server build.
|
||||||
|
(LP: #1783129)
|
||||||
|
* Fix live-server journald config snippet to actually disable journald rate
|
||||||
|
limiting.
|
||||||
|
|
||||||
|
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 28 Aug 2018 11:03:37 +1200
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.7) bionic; urgency=medium
|
||||||
|
|
||||||
|
* Disable journald rate limiting in the live-server live session.
|
||||||
|
(LP: #1776891)
|
||||||
|
|
||||||
|
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 14 Aug 2018 21:41:53 -0700
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.6) bionic; urgency=medium
|
||||||
|
|
||||||
|
[ Steve Langasek ]
|
||||||
|
* generate all tar files with --xattrs. LP: #1302192.
|
||||||
|
|
||||||
|
[ Daniel Watkins ]
|
||||||
|
* ubuntu-cpc: Reintroduce the -root.tar.xz artifact (LP: #1585233).
|
||||||
|
* ubuntu-cpc: Generate the root image contents once, and use it for both the
|
||||||
|
-root.tar.xz and the .squashfs.
|
||||||
|
* ubuntu-cpc: Generate -root.tar.xz with --xattrs.
|
||||||
|
|
||||||
|
-- Steve Langasek <steve.langasek@ubuntu.com> Mon, 06 Aug 2018 14:16:04 -0700
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.5) bionic; urgency=medium
|
||||||
|
|
||||||
|
* live-build/auto/config: Improve linux-tools filter to work for i386 too.
|
||||||
|
|
||||||
|
-- Adam Conrad <adconrad@ubuntu.com> Tue, 24 Jul 2018 22:21:27 -0600
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.4) bionic; urgency=medium
|
||||||
|
|
||||||
|
* live-build/auto/config: Dirty hack to filter linux-tools-aws from budgie.
|
||||||
|
|
||||||
|
-- Adam Conrad <adconrad@ubuntu.com> Tue, 24 Jul 2018 21:55:49 -0600
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.3) bionic; urgency=medium
|
||||||
|
|
||||||
|
* live-build/auto/config: Add nasty hack to order gtk-common-themese snap
|
||||||
|
first in snapd's seed.yaml to work around the snapd bug in LP: #1772844
|
||||||
|
|
||||||
|
-- Adam Conrad <adconrad@ubuntu.com> Mon, 23 Jul 2018 10:02:04 -0600
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.2) bionic; urgency=medium
|
||||||
|
|
||||||
|
* Update unminimize script text and install ubuntu-standard when
|
||||||
|
unminimizing a minimal image (LP: #1778777)
|
||||||
|
|
||||||
|
-- Francis Ginther <francis.ginther@canonical.com> Mon, 02 Jul 2018 13:27:15 -0500
|
||||||
|
|
||||||
|
livecd-rootfs (2.525.1) bionic; urgency=medium
|
||||||
|
|
||||||
|
* Symlink systemd-networkd-wait-online to /bin/true in the live installer
|
||||||
|
live session to avoid depending on buggy systemd behaviour. (LP: #1773719)
|
||||||
|
* Remove "optional: true" from installer netplan config.
|
||||||
|
|
||||||
|
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 23 May 2018 14:27:01 +1200
|
||||||
|
|
||||||
livecd-rootfs (2.525) bionic; urgency=medium
|
livecd-rootfs (2.525) bionic; urgency=medium
|
||||||
|
|
||||||
* Don't fail to build CPC images if /lib/modules already exists in the
|
* Don't fail to build CPC images if /lib/modules already exists in the
|
||||||
|
5
debian/control
vendored
5
debian/control
vendored
@ -4,7 +4,7 @@ Priority: optional
|
|||||||
Build-Depends: debhelper (>= 7)
|
Build-Depends: debhelper (>= 7)
|
||||||
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
||||||
Standards-Version: 3.9.6
|
Standards-Version: 3.9.6
|
||||||
Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/livecd-rootfs/trunk
|
Vcs-Bzr: lp:~ubuntu-core-dev/livecd-rootfs/bionic-proposed/
|
||||||
|
|
||||||
Package: livecd-rootfs
|
Package: livecd-rootfs
|
||||||
Architecture: any
|
Architecture: any
|
||||||
@ -17,12 +17,14 @@ Depends: ${misc:Depends},
|
|||||||
gdisk,
|
gdisk,
|
||||||
genisoimage,
|
genisoimage,
|
||||||
germinate (>= 1.25.1),
|
germinate (>= 1.25.1),
|
||||||
|
git,
|
||||||
gnupg,
|
gnupg,
|
||||||
grep-dctrl,
|
grep-dctrl,
|
||||||
kpartx,
|
kpartx,
|
||||||
live-build (>= 3.0~a57-1ubuntu31~),
|
live-build (>= 3.0~a57-1ubuntu31~),
|
||||||
lsb-release,
|
lsb-release,
|
||||||
lzma,
|
lzma,
|
||||||
|
make,
|
||||||
parted,
|
parted,
|
||||||
procps,
|
procps,
|
||||||
python-minimal | python,
|
python-minimal | python,
|
||||||
@ -32,6 +34,7 @@ Depends: ${misc:Depends},
|
|||||||
snapd,
|
snapd,
|
||||||
squashfs-tools (>= 1:3.3-1),
|
squashfs-tools (>= 1:3.3-1),
|
||||||
sudo,
|
sudo,
|
||||||
|
u-boot-tools [armhf arm64],
|
||||||
ubuntu-image,
|
ubuntu-image,
|
||||||
vmdk-stream-converter [amd64 i386],
|
vmdk-stream-converter [amd64 i386],
|
||||||
xz-utils,
|
xz-utils,
|
||||||
|
@ -23,12 +23,31 @@ PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
|
|||||||
if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ]; then
|
if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ]; then
|
||||||
# Use ubuntu-image instead of live-build
|
# Use ubuntu-image instead of live-build
|
||||||
|
|
||||||
CHANNEL="${CHANNEL:-edge}"
|
if [ "$PROJECT" = "ubuntu-core"]; then
|
||||||
env SNAPPY_STORE_NO_CDN=1 \
|
CHANNEL="${CHANNEL:-edge}"
|
||||||
ubuntu-image -c "$CHANNEL" $UBUNTU_IMAGE_ARGS \
|
env SNAPPY_STORE_NO_CDN=1 \
|
||||||
-o "$PREFIX".img "$PREFIX".model-assertion
|
ubuntu-image snap -c "$CHANNEL" $UBUNTU_IMAGE_ARGS \
|
||||||
xz -0 -T4 "$PREFIX".img
|
-O output "$PREFIX".model-assertion
|
||||||
mv seed.manifest "$PREFIX".manifest
|
# XXX: currently we only have one image generated, but really
|
||||||
|
# we should be supporting more than one for models that
|
||||||
|
# define those.
|
||||||
|
mv output/*.img "$PREFIX".img
|
||||||
|
xz -0 -T4 "$PREFIX".img
|
||||||
|
mv output/seed.manifest "$PREFIX".manifest
|
||||||
|
else
|
||||||
|
# First we need to build the gadget tree
|
||||||
|
make -C "config/$PREFIX-gadget" ARCH=$ARCH SERIES=$SUITE
|
||||||
|
ubuntu-image classic $UBUNTU_IMAGE_ARGS \
|
||||||
|
-s $SUITE -p $PROJECT -a $ARCH --subarch $SUBARCH \
|
||||||
|
-O output config/$PREFIX-gadget/install
|
||||||
|
# XXX: currently we only have one image generated, but really
|
||||||
|
# we should be supporting more than one for models that
|
||||||
|
# define those.
|
||||||
|
mv output/*.img "$PREFIX".img
|
||||||
|
xz -0 -T4 "$PREFIX".img
|
||||||
|
mv output/filesystem.manifest "$PREFIX".manifest
|
||||||
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -109,12 +128,16 @@ set -e
|
|||||||
echo "This system has been minimized by removing packages and content that are"
|
echo "This system has been minimized by removing packages and content that are"
|
||||||
echo "not required on a system that users do not log into."
|
echo "not required on a system that users do not log into."
|
||||||
echo ""
|
echo ""
|
||||||
echo "This script restores the content and packages that are found on a default"
|
echo "This script restores content and packages that are found on a default"
|
||||||
echo "Ubuntu server system."
|
echo "Ubuntu server system in order to make this system more suitable for"
|
||||||
|
echo "interactive use."
|
||||||
echo ""
|
echo ""
|
||||||
echo "Reinstallation of packages may fail due to changes to the system"
|
echo "Reinstallation of packages may fail due to changes to the system"
|
||||||
echo "configuration, the presence of third-party packages, or for other"
|
echo "configuration, the presence of third-party packages, or for other"
|
||||||
echo "reasons."
|
echo "reasons."
|
||||||
|
echo ""
|
||||||
|
echo "This operation may take some time."
|
||||||
|
echo ""
|
||||||
read -p "Would you like to continue? [y/N]" REPLY
|
read -p "Would you like to continue? [y/N]" REPLY
|
||||||
echo # (optional) move to a new line
|
echo # (optional) move to a new line
|
||||||
if [ "$REPLY" != "y" ] && [ "$REPLY" != "Y" ]
|
if [ "$REPLY" != "y" ] && [ "$REPLY" != "Y" ]
|
||||||
@ -155,7 +178,7 @@ fi
|
|||||||
|
|
||||||
if ! dpkg-query --show --showformat='${db:Status-Status}\n' ubuntu-minimal 2> /dev/null | grep -q '^installed$'; then
|
if ! dpkg-query --show --showformat='${db:Status-Status}\n' ubuntu-minimal 2> /dev/null | grep -q '^installed$'; then
|
||||||
echo "Installing ubuntu-minimal package to provide the familiar Ubuntu minimal system..."
|
echo "Installing ubuntu-minimal package to provide the familiar Ubuntu minimal system..."
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y ubuntu-minimal
|
DEBIAN_FRONTEND=noninteractive apt-get install -y ubuntu-minimal ubuntu-standard
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if dpkg-query --show --showformat='${db:Status-Status}\n' ubuntu-server 2> /dev/null | grep -q '^installed$' \
|
if dpkg-query --show --showformat='${db:Status-Status}\n' ubuntu-server 2> /dev/null | grep -q '^installed$' \
|
||||||
@ -233,7 +256,7 @@ EOF
|
|||||||
rm -f chroot/var/cache/debconf/*-old chroot/var/lib/dpkg/*-old
|
rm -f chroot/var/cache/debconf/*-old chroot/var/lib/dpkg/*-old
|
||||||
Chroot chroot apt clean
|
Chroot chroot apt clean
|
||||||
|
|
||||||
if [ -f config/oem-config-preinstalled ]; then
|
if [ -f config/universe-enabled ]; then
|
||||||
|
|
||||||
# This is cargo-culted almost verbatim (with some syntax changes for
|
# This is cargo-culted almost verbatim (with some syntax changes for
|
||||||
# preinstalled being slightly different in what it doesn't ask) from
|
# preinstalled being slightly different in what it doesn't ask) from
|
||||||
@ -392,7 +415,7 @@ EOF
|
|||||||
# default. Installing NM on an existing system only manages wifi and wwan via
|
# default. Installing NM on an existing system only manages wifi and wwan via
|
||||||
# /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf. When setting
|
# /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf. When setting
|
||||||
# the global backend to NM, netplan overrides that file.
|
# the global backend to NM, netplan overrides that file.
|
||||||
if [ -d chroot/usr/lib/NetworkManager ]; then
|
if [ -e chroot/usr/sbin/NetworkManager ]; then
|
||||||
echo "===== Enabling all devices in NetworkManager ===="
|
echo "===== Enabling all devices in NetworkManager ===="
|
||||||
mkdir -p chroot/etc/netplan
|
mkdir -p chroot/etc/netplan
|
||||||
cat <<EOF > chroot/etc/netplan/01-network-manager-all.yaml
|
cat <<EOF > chroot/etc/netplan/01-network-manager-all.yaml
|
||||||
@ -455,7 +478,7 @@ for ISO in binary.iso binary.hybrid.iso; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [ -e "binary/$INITFS/filesystem.dir" ]; then
|
if [ -e "binary/$INITFS/filesystem.dir" ]; then
|
||||||
(cd "binary/$INITFS/filesystem.dir/" && tar -c *) | \
|
(cd "binary/$INITFS/filesystem.dir/" && tar -c --xattrs *) | \
|
||||||
gzip -9 --rsyncable > "$PREFIX.rootfs.tar.gz"
|
gzip -9 --rsyncable > "$PREFIX.rootfs.tar.gz"
|
||||||
chmod 644 "$PREFIX.rootfs.tar.gz"
|
chmod 644 "$PREFIX.rootfs.tar.gz"
|
||||||
elif [ -e binary-tar.tar.gz ]; then
|
elif [ -e binary-tar.tar.gz ]; then
|
||||||
@ -492,13 +515,14 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; then
|
if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; then
|
||||||
(cd "binary/$INITFS/custom.dir/" && tar -c *) | \
|
(cd "binary/$INITFS/custom.dir/" && tar -c --xattrs *) | \
|
||||||
gzip -9 --rsyncable > "$PREFIX.custom.tar.gz"
|
gzip -9 --rsyncable > "$PREFIX.custom.tar.gz"
|
||||||
chmod 644 "$PREFIX.custom.tar.gz"
|
chmod 644 "$PREFIX.custom.tar.gz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# '--initramfs none' produces different manifest names.
|
# '--initramfs none' produces different manifest names.
|
||||||
if [ -e "binary/$INITFS/filesystem.packages" ]; then
|
if [ -e "binary/$INITFS/filesystem.packages" ]; then
|
||||||
|
./config/snap-seed-parse "chroot/" "binary/${INITFS}/filesystem.packages"
|
||||||
ln "binary/$INITFS/filesystem.packages" "$PREFIX.manifest"
|
ln "binary/$INITFS/filesystem.packages" "$PREFIX.manifest"
|
||||||
chmod 644 "$PREFIX.manifest"
|
chmod 644 "$PREFIX.manifest"
|
||||||
fi
|
fi
|
||||||
@ -796,13 +820,13 @@ done
|
|||||||
NUMFLAVOURS="$(set -- $LB_LINUX_FLAVOURS; echo $#)"
|
NUMFLAVOURS="$(set -- $LB_LINUX_FLAVOURS; echo $#)"
|
||||||
if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then
|
if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then
|
||||||
# only one kernel flavour
|
# only one kernel flavour
|
||||||
if [ -e "binary/$INITFS/vmlinuz" ]; then
|
if [ -f "binary/$INITFS/vmlinuz" ] && ! [ -h "binary/$INITFS/vmlinuz" ]; then
|
||||||
ln "binary/$INITFS/vmlinuz" "$PREFIX.kernel"
|
ln "binary/$INITFS/vmlinuz" "$PREFIX.kernel"
|
||||||
chmod 644 "$PREFIX.kernel"
|
chmod 644 "$PREFIX.kernel"
|
||||||
else
|
else
|
||||||
ln -sf "$PREFIX.kernel-$LB_LINUX_FLAVOURS" "$PREFIX.kernel"
|
ln -sf "$PREFIX.kernel-$LB_LINUX_FLAVOURS" "$PREFIX.kernel"
|
||||||
fi
|
fi
|
||||||
if [ -e "binary/$INITFS/initrd.lz" ]; then
|
if [ -f "binary/$INITFS/initrd.lz" ] && ! [ -h "binary/$INITFS/initrd.lz" ]; then
|
||||||
ln "binary/$INITFS/initrd.lz" "$PREFIX.initrd"
|
ln "binary/$INITFS/initrd.lz" "$PREFIX.initrd"
|
||||||
chmod 644 "$PREFIX.initrd"
|
chmod 644 "$PREFIX.initrd"
|
||||||
else
|
else
|
||||||
@ -810,36 +834,52 @@ if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$SUBARCH" = "ac100" ]; then
|
case $SUBARCH in
|
||||||
# create the md5sum and size files for which we are actually doing all this
|
ac100)
|
||||||
md5sum $PREFIX.rootfs.tar.gz >chroot/installer.md5
|
# create the md5sum and size files for which we are actually doing all this
|
||||||
wc -c $PREFIX.rootfs.tar.gz >chroot/installer.size
|
md5sum $PREFIX.rootfs.tar.gz >chroot/installer.md5
|
||||||
|
wc -c $PREFIX.rootfs.tar.gz >chroot/installer.size
|
||||||
|
|
||||||
INFO_DESC="$(lsb_release -d -s)"
|
INFO_DESC="$(lsb_release -d -s)"
|
||||||
INFO_STAMP=$(date +20%y%m%d-%H:%M)
|
INFO_STAMP=$(date +20%y%m%d-%H:%M)
|
||||||
|
|
||||||
echo "$INFO_DESC - $ARCH ($INFO_STAMP)" >chroot/media-info
|
echo "$INFO_DESC - $ARCH ($INFO_STAMP)" >chroot/media-info
|
||||||
|
|
||||||
# make sure update-initramfs feels cosy and warm in the environment
|
# make sure update-initramfs feels cosy and warm in the environment
|
||||||
lb chroot_proc install "$@"
|
lb chroot_proc install "$@"
|
||||||
lb chroot_sysfs install "$@"
|
lb chroot_sysfs install "$@"
|
||||||
lb chroot_devpts install "$@"
|
lb chroot_devpts install "$@"
|
||||||
|
|
||||||
# re-create initrd to contain the installer.md5 file
|
# re-create initrd to contain the installer.md5 file
|
||||||
Chroot chroot "env FLASH_KERNEL_SKIP=1 update-initramfs -k all -t -u -v"
|
Chroot chroot "env FLASH_KERNEL_SKIP=1 update-initramfs -k all -t -u -v"
|
||||||
|
|
||||||
# create boot.img
|
# create boot.img
|
||||||
Chroot chroot "abootimg --create /boot/installer-${KVERS}.img -f /boot/bootimg.cfg-$SUBARCH -r /boot/initrd.img-${KVERS} -k /boot/vmlinuz-${KVERS}"
|
Chroot chroot "abootimg --create /boot/installer-${KVERS}.img -f /boot/bootimg.cfg-$SUBARCH -r /boot/initrd.img-${KVERS} -k /boot/vmlinuz-${KVERS}"
|
||||||
|
|
||||||
# clean up
|
# clean up
|
||||||
lb chroot_devpts remove "$@"
|
lb chroot_devpts remove "$@"
|
||||||
lb chroot_sysfs remove "$@"
|
lb chroot_sysfs remove "$@"
|
||||||
lb chroot_proc remove "$@"
|
lb chroot_proc remove "$@"
|
||||||
|
|
||||||
cp "chroot/boot/installer-${KVERS}.img" "$PREFIX.bootimg-$FLAVOUR"
|
cp "chroot/boot/installer-${KVERS}.img" "$PREFIX.bootimg-$FLAVOUR"
|
||||||
ln -sf "$PREFIX.bootimg-$FLAVOUR" "$PREFIX.bootimg"
|
ln -sf "$PREFIX.bootimg-$FLAVOUR" "$PREFIX.bootimg"
|
||||||
|
;;
|
||||||
|
|
||||||
fi
|
raspi2|raspi3)
|
||||||
|
# copy the kernel and initrd to a predictable directory for
|
||||||
|
# ubuntu-image consumption. In some cases, like in pi2/3
|
||||||
|
# u-boot, the bootloader needs to contain the kernel and initrd,
|
||||||
|
# so during rootfs build we copy it over to a directory that
|
||||||
|
# ubuntu-image looks for and shoves into the bootloader
|
||||||
|
# partition.
|
||||||
|
UBOOT_BOOT="image/boot/uboot"
|
||||||
|
|
||||||
|
mkdir -p $UBOOT_BOOT
|
||||||
|
|
||||||
|
cp $PREFIX.initrd $UBOOT_BOOT/initrd.img || true
|
||||||
|
cp $PREFIX.kernel $UBOOT_BOOT/vmlinuz || true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; then
|
if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; then
|
||||||
sourceslist="chroot/etc/apt/sources.list"
|
sourceslist="chroot/etc/apt/sources.list"
|
||||||
|
@ -33,6 +33,7 @@ fi
|
|||||||
|
|
||||||
mkdir -p config
|
mkdir -p config
|
||||||
cp -af /usr/share/livecd-rootfs/live-build/functions config/functions
|
cp -af /usr/share/livecd-rootfs/live-build/functions config/functions
|
||||||
|
cp -af /usr/share/livecd-rootfs/live-build/snap-seed-parse.py config/snap-seed-parse
|
||||||
|
|
||||||
mkdir -p config/package-lists
|
mkdir -p config/package-lists
|
||||||
|
|
||||||
@ -59,9 +60,14 @@ add_task ()
|
|||||||
# failure.
|
# failure.
|
||||||
|
|
||||||
for task; do
|
for task; do
|
||||||
|
if [ "$task" = "ubuntu-budgie-desktop" ]; then
|
||||||
|
filter="| grep -v '^linux.*tools'"
|
||||||
|
else
|
||||||
|
filter=""
|
||||||
|
fi
|
||||||
# We need a ridiculous number of backslashes to protect
|
# We need a ridiculous number of backslashes to protect
|
||||||
# parentheses from eval.
|
# parentheses from eval.
|
||||||
echo "!chroot chroot apt-cache dumpavail | grep-dctrl -nsPackage \\\\\\( -XFArchitecture $ARCH -o -XFArchitecture all \\\\\\) -a -wFTask $task" >> "config/package-lists/livecd-rootfs.list.chroot_$pass"
|
echo "!chroot chroot apt-cache dumpavail | grep-dctrl -nsPackage \\\\\\( -XFArchitecture $ARCH -o -XFArchitecture all \\\\\\) -a -wFTask $task $filter" >> "config/package-lists/livecd-rootfs.list.chroot_$pass"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,6 +157,7 @@ case $IMAGEFORMAT in
|
|||||||
# by skipping lb_chroot_live-packages.
|
# by skipping lb_chroot_live-packages.
|
||||||
skip_lb_stage chroot_live-packages
|
skip_lb_stage chroot_live-packages
|
||||||
INITRAMFS_TYPE=auto
|
INITRAMFS_TYPE=auto
|
||||||
|
touch config/universe-enabled
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
PREINSTALLED=true
|
PREINSTALLED=true
|
||||||
@ -169,7 +176,7 @@ case $IMAGEFORMAT in
|
|||||||
MODEL=dragonboard ;;
|
MODEL=dragonboard ;;
|
||||||
armhf+raspi2)
|
armhf+raspi2)
|
||||||
MODEL=pi2 ;;
|
MODEL=pi2 ;;
|
||||||
armhf+raspi3)
|
armhf+raspi3|arm64+raspi3)
|
||||||
MODEL=pi3 ;;
|
MODEL=pi3 ;;
|
||||||
armhf+cm3)
|
armhf+cm3)
|
||||||
MODEL=cm3 ;;
|
MODEL=cm3 ;;
|
||||||
@ -178,20 +185,39 @@ case $IMAGEFORMAT in
|
|||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
case $MODEL in
|
|
||||||
pc-amd64|pc-i386)
|
|
||||||
UBUNTU_IMAGE_ARGS="--image-size 3700M" ;;
|
|
||||||
*)
|
|
||||||
UBUNTU_IMAGE_ARGS="" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
|
if [ $PROJECT = "ubuntu-core" ]; then
|
||||||
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
|
# snap-based core images
|
||||||
# Store model assertion in top dir to get it picked up later as a build artifact
|
|
||||||
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 model="$MODEL" brand-id=canonical > "$PREFIX".model-assertion
|
case $MODEL in
|
||||||
echo "Configured ubuntu-image for the following model assertion:"
|
pc-amd64|pc-i386)
|
||||||
cat "$PREFIX".model-assertion
|
UBUNTU_IMAGE_ARGS="--image-size 3700M" ;;
|
||||||
echo "----------------------------------------------------------"
|
*)
|
||||||
|
UBUNTU_IMAGE_ARGS="" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
|
||||||
|
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
|
||||||
|
# Store model assertion in top dir to get it picked up later as a build artifact
|
||||||
|
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 model="$MODEL" brand-id=canonical > "$PREFIX".model-assertion
|
||||||
|
echo "Configured ubuntu-image for the following model assertion:"
|
||||||
|
cat "$PREFIX".model-assertion
|
||||||
|
echo "----------------------------------------------------------"
|
||||||
|
else
|
||||||
|
# classic images
|
||||||
|
|
||||||
|
UBUNTU_IMAGE_ARGS=""
|
||||||
|
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS${PROPOSED:+ --with-proposed}"
|
||||||
|
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS${EXTRA_PPAS:+ --extra-ppas \"$EXTRA_PPAS\"}"
|
||||||
|
|
||||||
|
git clone git://git.launchpad.net/~canonical-foundations/snap-$MODEL/+git/github-mirror -b classic config/$PREFIX-gadget
|
||||||
|
|
||||||
|
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
|
||||||
|
echo "SUITE=$SUITE" >> config/common
|
||||||
|
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
|
||||||
|
|
||||||
|
echo "Configured ubuntu-image for the following gadget model: $MODEL"
|
||||||
|
fi
|
||||||
# Fake finished configuration for lb build
|
# Fake finished configuration for lb build
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
touch .build/config
|
touch .build/config
|
||||||
@ -213,9 +239,9 @@ case $IMAGEFORMAT in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if [ "$PREINSTALLED" = "true" ]; then
|
if [ "$PREINSTALLED" = "true" ]; then
|
||||||
# This is an oem-config preinstalled image, touch a random file that
|
# Touch a random file that we can refer back to during build,
|
||||||
# we can refer back to during build, cause that's wildly hackish
|
# cause that's wildly hackish
|
||||||
touch config/oem-config-preinstalled
|
touch config/universe-enabled
|
||||||
case $PROJECT in
|
case $PROJECT in
|
||||||
kubuntu*)
|
kubuntu*)
|
||||||
add_package live oem-config-kde ubiquity-frontend-kde
|
add_package live oem-config-kde ubiquity-frontend-kde
|
||||||
@ -700,7 +726,12 @@ if [ -n "${BASE_SEED}" ]; then
|
|||||||
seed_snaps=$(sed -rn '1,/-----/d;/-----/,$d; s/(.*) \|.*/\1/; s, \(classic\),/classic,; p' "${file}")
|
seed_snaps=$(sed -rn '1,/-----/d;/-----/,$d; s/(.*) \|.*/\1/; s, \(classic\),/classic,; p' "${file}")
|
||||||
for snap in ${seed_snaps}; do
|
for snap in ${seed_snaps}; do
|
||||||
echo "snap: found ${snap}"
|
echo "snap: found ${snap}"
|
||||||
ALL_SNAPS="${ALL_SNAPS:+${ALL_SNAPS} }${snap}"
|
# Reorder gtk-common-themes first due to LP: #1772844
|
||||||
|
if [ "${snap}" = "gtk-common-themes" ]; then
|
||||||
|
ALL_SNAPS="${snap}${ALL_SNAPS:+ ${ALL_SNAPS}}"
|
||||||
|
else
|
||||||
|
ALL_SNAPS="${ALL_SNAPS:+${ALL_SNAPS} }${snap}"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
if [ -n "${ALL_SNAPS}" ] || [ -n "${HOOK_SNAPS}" ]; then
|
if [ -n "${ALL_SNAPS}" ] || [ -n "${HOOK_SNAPS}" ]; then
|
||||||
@ -740,7 +771,7 @@ case $PROJECT in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
case $ARCH in
|
case $ARCH in
|
||||||
armel|armhf)
|
armel|armhf|arm64)
|
||||||
KERNEL_FLAVOURS="${SUBARCH:-$KERNEL_FLAVOURS}"
|
KERNEL_FLAVOURS="${SUBARCH:-$KERNEL_FLAVOURS}"
|
||||||
case $SUBARCH in
|
case $SUBARCH in
|
||||||
dove)
|
dove)
|
||||||
@ -778,6 +809,13 @@ case $ARCH in
|
|||||||
add_package install linux-firmware-raspi2 u-boot-rpi flash-kernel u-boot-tools
|
add_package install linux-firmware-raspi2 u-boot-rpi flash-kernel u-boot-tools
|
||||||
BINARY_REMOVE_LINUX=false
|
BINARY_REMOVE_LINUX=false
|
||||||
;;
|
;;
|
||||||
|
raspi3)
|
||||||
|
COMPONENTS='main restricted universe multiverse'
|
||||||
|
KERNEL_FLAVOURS=raspi2
|
||||||
|
add_package install raspi3-firmware u-boot-rpi flash-kernel u-boot-tools
|
||||||
|
BINARY_REMOVE_LINUX=false
|
||||||
|
;;
|
||||||
|
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -828,6 +866,7 @@ lb config noauto \
|
|||||||
--initsystem none \
|
--initsystem none \
|
||||||
--bootloader "$BOOTLOADER" \
|
--bootloader "$BOOTLOADER" \
|
||||||
${INITRAMFS_COMPRESSION:+--initramfs-compression "$INITRAMFS_COMPRESSION"} \
|
${INITRAMFS_COMPRESSION:+--initramfs-compression "$INITRAMFS_COMPRESSION"} \
|
||||||
|
--checksums none \
|
||||||
--cache false \
|
--cache false \
|
||||||
${BOOTAPPEND_LIVE:+--bootappend-live "$BOOTAPPEND_LIVE"} \
|
${BOOTAPPEND_LIVE:+--bootappend-live "$BOOTAPPEND_LIVE"} \
|
||||||
$OPTS \
|
$OPTS \
|
||||||
@ -842,7 +881,7 @@ echo "SUBPROJECT=\"${SUBPROJECT:-}\"" >> config/binary
|
|||||||
echo "LB_DISTRIBUTION=\"$SUITE\"" >> config/binary
|
echo "LB_DISTRIBUTION=\"$SUITE\"" >> config/binary
|
||||||
|
|
||||||
case $ARCH+$SUBARCH in
|
case $ARCH+$SUBARCH in
|
||||||
armhf+raspi2)
|
armhf+raspi2|armhf+raspi3|arm64+raspi3)
|
||||||
cat > config/hooks/01-firmware-directory.chroot_early <<EOF
|
cat > config/hooks/01-firmware-directory.chroot_early <<EOF
|
||||||
#!/bin/sh -ex
|
#!/bin/sh -ex
|
||||||
mkdir -p /boot/firmware
|
mkdir -p /boot/firmware
|
||||||
|
@ -43,6 +43,17 @@ create_empty_disk_image() {
|
|||||||
dd if=/dev/zero of="$1" bs=1 count=0 seek="${imagesize}"
|
dd if=/dev/zero of="$1" bs=1 count=0 seek="${imagesize}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
create_manifest() {
|
||||||
|
local chroot_root=${1}
|
||||||
|
local target_file=${2}
|
||||||
|
echo "create_manifest chroot_root: ${chroot_root}"
|
||||||
|
dpkg-query --show --admindir="${chroot_root}/var/lib/dpkg" > ${target_file}
|
||||||
|
echo "create_manifest call to dpkg-query finished."
|
||||||
|
./config/snap-seed-parse "${chroot_root}" "${target_file}"
|
||||||
|
echo "create_manifest call to snap_seed_parse finished."
|
||||||
|
echo "create_manifest finished"
|
||||||
|
}
|
||||||
|
|
||||||
make_ext4_partition() {
|
make_ext4_partition() {
|
||||||
device="$1"
|
device="$1"
|
||||||
label=${fs_label:+-L "${fs_label}"}
|
label=${fs_label:+-L "${fs_label}"}
|
||||||
|
68
live-build/snap-seed-parse.py
Executable file
68
live-build/snap-seed-parse.py
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
"""
|
||||||
|
Usage: snap-seed-parse [${chroot_dir}] <output file>
|
||||||
|
|
||||||
|
This script looks for a seed.yaml path in the given root directory, parsing
|
||||||
|
it and appending the parsed lines to the given output file.
|
||||||
|
|
||||||
|
The $chroot_dir argument is optional and will default to the empty string.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os.path
|
||||||
|
import re
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
|
def log(msg):
|
||||||
|
print("snap-seed-parse: {}".format(msg))
|
||||||
|
|
||||||
|
|
||||||
|
log("Parsing seed.yaml")
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('chroot', nargs='?', default='',
|
||||||
|
help='root dir for the chroot from which to generate the '
|
||||||
|
'manifest')
|
||||||
|
parser.add_argument('file', help='Output manifest to this file')
|
||||||
|
|
||||||
|
ARGS = parser.parse_args()
|
||||||
|
CHROOT_ROOT = ARGS.chroot
|
||||||
|
FNAME = ARGS.file
|
||||||
|
|
||||||
|
# Trim any trailing slashes for correct appending
|
||||||
|
log("CHROOT_ROOT: {}".format(CHROOT_ROOT))
|
||||||
|
if len(CHROOT_ROOT) > 0 and CHROOT_ROOT[-1] == '/':
|
||||||
|
CHROOT_ROOT = CHROOT_ROOT[:-1]
|
||||||
|
|
||||||
|
# This is where we expect to find the seed.yaml file
|
||||||
|
YAML_PATH = CHROOT_ROOT + '/var/lib/snapd/seed/seed.yaml'
|
||||||
|
|
||||||
|
# Snaps are prepended with this string in the manifest
|
||||||
|
LINE_PREFIX = 'snap:'
|
||||||
|
|
||||||
|
log("yaml path: {}".format(YAML_PATH))
|
||||||
|
if not os.path.isfile(YAML_PATH):
|
||||||
|
log("WARNING: yaml path not found; no seeded snaps found.")
|
||||||
|
exit(0)
|
||||||
|
else:
|
||||||
|
log("yaml path found.")
|
||||||
|
|
||||||
|
with open(YAML_PATH, 'r') as fh:
|
||||||
|
yaml_lines = yaml.safe_load(fh)['snaps']
|
||||||
|
|
||||||
|
log('Writing manifest to {}'.format(FNAME))
|
||||||
|
|
||||||
|
with open(FNAME, 'a+') as fh:
|
||||||
|
for item in yaml_lines:
|
||||||
|
filestring = item['file']
|
||||||
|
# Pull the revision number off the file name
|
||||||
|
revision = filestring[filestring.rindex('_')+1:]
|
||||||
|
revision = re.sub(r'[^0-9]', '', revision)
|
||||||
|
fh.write("{}{}\t{}\t{}\n".format(LINE_PREFIX,
|
||||||
|
item['name'],
|
||||||
|
item['channel'],
|
||||||
|
revision,
|
||||||
|
))
|
||||||
|
log('Manifest output finished.')
|
29
live-build/ubuntu-cpc/hooks/031-0-create-root-dir.binary
Normal file
29
live-build/ubuntu-cpc/hooks/031-0-create-root-dir.binary
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash -ex
|
||||||
|
# vi: ts=4 expandtab
|
||||||
|
#
|
||||||
|
# Generate the root directory/manifest for rootfs.tar.xz and squashfs
|
||||||
|
|
||||||
|
if [ -n "$SUBARCH" ]; then
|
||||||
|
echo "Skipping rootfs build for subarch flavor build"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
. config/functions
|
||||||
|
|
||||||
|
rootfs_dir=rootfs.dir
|
||||||
|
mkdir $rootfs_dir
|
||||||
|
cp -a chroot/* $rootfs_dir
|
||||||
|
|
||||||
|
setup_mountpoint $rootfs_dir
|
||||||
|
|
||||||
|
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get --purge remove --assume-yes '^linux-.*' 'linux-base+'
|
||||||
|
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get --purge remove --assume-yes '^grub-.*'
|
||||||
|
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get autoremove --purge --assume-yes
|
||||||
|
rm -rf $rootfs_dir/boot/grub
|
||||||
|
|
||||||
|
# Keep this as some derivatives mount a tempfs here
|
||||||
|
mkdir -p $rootfs_dir/lib/modules
|
||||||
|
|
||||||
|
teardown_mountpoint $rootfs_dir
|
||||||
|
|
||||||
|
create_manifest "${rootfs_dir}" "${rootfs_dir}.manifest"
|
15
live-build/ubuntu-cpc/hooks/031-1-root-xz.binary
Normal file
15
live-build/ubuntu-cpc/hooks/031-1-root-xz.binary
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash -ex
|
||||||
|
# vi: ts=4 expandtab
|
||||||
|
#
|
||||||
|
# Generate the rootfs.tar.xz and manifest
|
||||||
|
|
||||||
|
if [ -n "$SUBARCH" ]; then
|
||||||
|
echo "Skipping rootfs build for subarch flavor build"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This is the directory created by 031-0-create-root-dir.binary
|
||||||
|
rootfs_dir=rootfs.dir
|
||||||
|
|
||||||
|
cp $rootfs_dir.manifest livecd.ubuntu-cpc.rootfs.manifest
|
||||||
|
(cd $rootfs_dir/ && tar -c --xattrs *) | xz > livecd.ubuntu-cpc.rootfs.tar.xz
|
29
live-build/ubuntu-cpc/hooks/031-2-root-squashfs.binary
Normal file
29
live-build/ubuntu-cpc/hooks/031-2-root-squashfs.binary
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash -ex
|
||||||
|
# vi: ts=4 noexpandtab
|
||||||
|
#
|
||||||
|
# Generate a squashfs root and manifest
|
||||||
|
|
||||||
|
case $IMAGE_TARGETS in
|
||||||
|
""|*squashfs*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Skipping squashfs build"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -n "$SUBARCH" ]; then
|
||||||
|
echo "Skipping rootfs build for subarch flavor build"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This is the directory created by 031-0-create-root-dir.binary
|
||||||
|
rootfs_dir=rootfs.dir
|
||||||
|
|
||||||
|
squashfs_f="$PWD/livecd.ubuntu-cpc.squashfs"
|
||||||
|
|
||||||
|
cp $rootfs_dir.manifest $squashfs_f.manifest
|
||||||
|
|
||||||
|
(cd $rootfs_dir &&
|
||||||
|
mksquashfs . $squashfs_f \
|
||||||
|
-no-progress -xattrs -comp xz )
|
@ -1,49 +0,0 @@
|
|||||||
#!/bin/bash -ex
|
|
||||||
# vi: ts=4 noexpandtab
|
|
||||||
#
|
|
||||||
# Generate a squashfs root and manifest
|
|
||||||
|
|
||||||
case $IMAGE_TARGETS in
|
|
||||||
""|*squashfs*)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Skipping squashfs build"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -n "$SUBARCH" ]; then
|
|
||||||
echo "Skipping rootfs build for subarch flavor build"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
. config/functions
|
|
||||||
|
|
||||||
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
|
|
||||||
rm -rf binary/boot/squashfs.dir/boot/grub
|
|
||||||
chroot binary/boot/squashfs.dir mkdir -p /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
|
|
||||||
|
|
||||||
teardown_mountpoint binary/boot/squashfs.dir
|
|
||||||
|
|
||||||
squashfs_f="${PWD}/livecd.ubuntu-cpc.squashfs"
|
|
||||||
squashfs_f_manifest="${squashfs_f}.manifest"
|
|
||||||
|
|
||||||
dpkg-query --admindir=binary/boot/squashfs.dir/var/lib/dpkg -W > ${squashfs_f_manifest}
|
|
||||||
|
|
||||||
(cd "binary/boot/squashfs.dir/" &&
|
|
||||||
mksquashfs . ${squashfs_f} \
|
|
||||||
-no-progress -xattrs -comp xz )
|
|
@ -93,6 +93,12 @@ install_grub() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# This call to populate the package manifest is added here to capture
|
||||||
|
# grub-efi packages that otherwise would not make it into the base
|
||||||
|
# manifest. filesystem.packages is moved into place via symlinking to
|
||||||
|
# livecd.ubuntu-cpc.manifest by live-build/auto/build after lb_binary runs
|
||||||
|
create_manifest "mountpoint" "binary/boot/filesystem.packages"
|
||||||
|
|
||||||
chroot mountpoint grub-install "${loop_device}" \
|
chroot mountpoint grub-install "${loop_device}" \
|
||||||
--boot-directory=/boot \
|
--boot-directory=/boot \
|
||||||
--efi-directory=/boot/efi \
|
--efi-directory=/boot/efi \
|
||||||
|
@ -28,7 +28,7 @@ cp -a chroot/* binary/boot/squashfs.dir
|
|||||||
squashfs_f="${PWD}/livecd.${PROJECT}.squashfs"
|
squashfs_f="${PWD}/livecd.${PROJECT}.squashfs"
|
||||||
squashfs_f_manifest="${squashfs_f}.manifest"
|
squashfs_f_manifest="${squashfs_f}.manifest"
|
||||||
|
|
||||||
dpkg-query --admindir=binary/boot/squashfs.dir/var/lib/dpkg -W > ${squashfs_f_manifest}
|
create_manifest "binary/boot/squashfs.dir" "${squashfs_f_manifest}"
|
||||||
|
|
||||||
(cd "binary/boot/squashfs.dir/" &&
|
(cd "binary/boot/squashfs.dir/" &&
|
||||||
mksquashfs . ${squashfs_f} \
|
mksquashfs . ${squashfs_f} \
|
||||||
|
@ -7,9 +7,7 @@ network:
|
|||||||
match:
|
match:
|
||||||
name: "en*"
|
name: "en*"
|
||||||
dhcp4: true
|
dhcp4: true
|
||||||
optional: true
|
|
||||||
all-eth:
|
all-eth:
|
||||||
match:
|
match:
|
||||||
name: "eth*"
|
name: "eth*"
|
||||||
dhcp4: true
|
dhcp4: true
|
||||||
optional: true
|
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
[Journal]
|
||||||
|
RateLimitIntervalSec=0
|
@ -0,0 +1 @@
|
|||||||
|
/bin/true
|
Loading…
x
Reference in New Issue
Block a user