mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-08-15 02:34:08 +00:00
Imported 2.813
No reason for CPC update specified.
This commit is contained in:
parent
124ad1ff27
commit
aa85b9d763
34
debian/changelog
vendored
34
debian/changelog
vendored
@ -1,3 +1,37 @@
|
|||||||
|
livecd-rootfs (2.813) lunar; urgency=medium
|
||||||
|
|
||||||
|
[ Łukasz 'sil2100' Zemczak ]
|
||||||
|
* Make sure that for devel we also use the right intel-iot kernel flavor
|
||||||
|
for the images. We don't build any for this series, but it's good to have
|
||||||
|
parity in the devel branch.
|
||||||
|
* Add support for building intel-iot server images. Not used in lunar, but
|
||||||
|
adding to keep devel up-to-date with changes.
|
||||||
|
|
||||||
|
[ Steve Langasek ]
|
||||||
|
* No new dependencies on i386 (xorriso).
|
||||||
|
|
||||||
|
-- Steve Langasek <steve.langasek@ubuntu.com> Sat, 18 Mar 2023 08:25:03 -0700
|
||||||
|
|
||||||
|
livecd-rootfs (2.812) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Inform cloud-init when network manager is in use. (LP: #1982855)
|
||||||
|
|
||||||
|
-- Dan Bungert <daniel.bungert@canonical.com> Thu, 09 Mar 2023 14:59:17 -0600
|
||||||
|
|
||||||
|
livecd-rootfs (2.811) lunar; urgency=medium
|
||||||
|
|
||||||
|
[ John Chittum ]
|
||||||
|
* fix: remove ipc from apparmor features in 6.1
|
||||||
|
* open 2.810 release
|
||||||
|
|
||||||
|
-- Dimitri John Ledkov <dimitri.ledkov@canonical.com> Thu, 09 Mar 2023 18:10:05 +0000
|
||||||
|
|
||||||
|
livecd-rootfs (2.810) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Add ubuntu-mini-iso build project.
|
||||||
|
|
||||||
|
-- Dan Bungert <daniel.bungert@canonical.com> Mon, 06 Mar 2023 08:17:11 -0700
|
||||||
|
|
||||||
livecd-rootfs (2.809) lunar; urgency=medium
|
livecd-rootfs (2.809) lunar; urgency=medium
|
||||||
|
|
||||||
* Do not use the ubuntucinnamon-desktop task for cinnamon builds, it doesn't
|
* Do not use the ubuntucinnamon-desktop task for cinnamon builds, it doesn't
|
||||||
|
1
debian/control
vendored
1
debian/control
vendored
@ -40,6 +40,7 @@ Depends: ${misc:Depends},
|
|||||||
u-boot-tools [armhf arm64],
|
u-boot-tools [armhf arm64],
|
||||||
ubuntu-image [!i386 !riscv64],
|
ubuntu-image [!i386 !riscv64],
|
||||||
python3-vmdkstream [amd64 i386],
|
python3-vmdkstream [amd64 i386],
|
||||||
|
xorriso [!i386],
|
||||||
xz-utils,
|
xz-utils,
|
||||||
zerofree
|
zerofree
|
||||||
Breaks: ubuntu-defaults-builder (<< 0.32)
|
Breaks: ubuntu-defaults-builder (<< 0.32)
|
||||||
|
@ -1 +0,0 @@
|
|||||||
create read write open delete setattr getattr
|
|
@ -607,6 +607,9 @@ for FLAVOUR in $LB_LINUX_FLAVOURS; do
|
|||||||
image-intel)
|
image-intel)
|
||||||
FLAVOUR="intel"
|
FLAVOUR="intel"
|
||||||
;;
|
;;
|
||||||
|
intel-iotg*)
|
||||||
|
FLAVOUR="intel-iotg"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
KVERS="$( (cd "binary/$INITFS"; ls vmlinu?-* 2>/dev/null || true) | (fgrep -v .efi || true) | sed -n "s/^vmlinu.-\\([^-]*-[^-]*-$FLAVOUR\\)$/\\1/p" )"
|
KVERS="$( (cd "binary/$INITFS"; ls vmlinu?-* 2>/dev/null || true) | (fgrep -v .efi || true) | sed -n "s/^vmlinu.-\\([^-]*-[^-]*-$FLAVOUR\\)$/\\1/p" )"
|
||||||
if [ -z "$KVERS" ]; then
|
if [ -z "$KVERS" ]; then
|
||||||
|
@ -342,7 +342,7 @@ if [ -z "${IMAGEFORMAT:-}" ]; then
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
ubuntu-server:live)
|
ubuntu-server:live|ubuntu-mini-iso:)
|
||||||
IMAGEFORMAT=plain
|
IMAGEFORMAT=plain
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -377,6 +377,8 @@ case $IMAGEFORMAT in
|
|||||||
ubuntu-server:live)
|
ubuntu-server:live)
|
||||||
touch config/universe-enabled
|
touch config/universe-enabled
|
||||||
;;
|
;;
|
||||||
|
ubuntu-mini-iso:)
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
PREINSTALLED=true
|
PREINSTALLED=true
|
||||||
;;
|
;;
|
||||||
@ -591,7 +593,7 @@ if [ "$PREINSTALLED" = "true" ]; then
|
|||||||
ubuntu-server)
|
ubuntu-server)
|
||||||
add_package live oem-config-debconf ubiquity-frontend-debconf
|
add_package live oem-config-debconf ubiquity-frontend-debconf
|
||||||
;;
|
;;
|
||||||
ubuntu-base|ubuntu-oci|ubuntu-cpc|ubuntu-wsl)
|
ubuntu-base|ubuntu-oci|ubuntu-cpc|ubuntu-wsl|ubuntu-mini-iso)
|
||||||
;;
|
;;
|
||||||
ubuntu)
|
ubuntu)
|
||||||
add_package live oem-config-gtk ubiquity-frontend-gtk
|
add_package live oem-config-gtk ubiquity-frontend-gtk
|
||||||
@ -655,7 +657,7 @@ case $PROJECT in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
case $PROJECT in
|
case $PROJECT in
|
||||||
ubuntu-server)
|
ubuntu-server|ubuntu-mini-iso)
|
||||||
COMPONENTS='main'
|
COMPONENTS='main'
|
||||||
;;
|
;;
|
||||||
kubuntu|kubuntu-dvd|kubuntu-plasma5|edubuntu|ubuntu-gnome|ubuntu-budgie|ubuntukylin|ubuntucinnamon)
|
kubuntu|kubuntu-dvd|kubuntu-plasma5|edubuntu|ubuntu-gnome|ubuntu-budgie|ubuntukylin|ubuntucinnamon)
|
||||||
@ -692,7 +694,7 @@ case $PROJECT in
|
|||||||
add_task live ubuntu-desktop-minimal-default-languages ubuntu-desktop-default-languages
|
add_task live ubuntu-desktop-minimal-default-languages ubuntu-desktop-default-languages
|
||||||
KERNEL_FLAVOURS='generic-hwe-22.04'
|
KERNEL_FLAVOURS='generic-hwe-22.04'
|
||||||
if [ "$SUBARCH" = "intel-iot" ]; then
|
if [ "$SUBARCH" = "intel-iot" ]; then
|
||||||
KERNEL_FLAVOURS='image-intel'
|
KERNEL_FLAVOURS='intel-iotg'
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
desktop-preinstalled)
|
desktop-preinstalled)
|
||||||
@ -710,7 +712,7 @@ case $PROJECT in
|
|||||||
OPTS="${OPTS:+$OPTS }--ext-fudge-factor=15"
|
OPTS="${OPTS:+$OPTS }--ext-fudge-factor=15"
|
||||||
;;
|
;;
|
||||||
intel-iot)
|
intel-iot)
|
||||||
KERNEL_FLAVOURS='image-intel'
|
KERNEL_FLAVOURS='intel-iotg'
|
||||||
OPTS="${OPTS:+$OPTS }--initramfs=none"
|
OPTS="${OPTS:+$OPTS }--initramfs=none"
|
||||||
OPTS="${OPTS:+$OPTS }--system=normal"
|
OPTS="${OPTS:+$OPTS }--system=normal"
|
||||||
OPTS="${OPTS:+$OPTS }--hdd-label=cloudimg-rootfs"
|
OPTS="${OPTS:+$OPTS }--hdd-label=cloudimg-rootfs"
|
||||||
@ -895,9 +897,15 @@ case $PROJECT in
|
|||||||
# the GA and HWE kernels (in separate layers) so this code is
|
# the GA and HWE kernels (in separate layers) so this code is
|
||||||
# written generically to support both even though a lot of the
|
# written generically to support both even though a lot of the
|
||||||
# time only one kernel is offered.
|
# time only one kernel is offered.
|
||||||
|
case ${SUBARCH:-} in
|
||||||
# variants='ga hwe'
|
intel-iot)
|
||||||
variants='ga'
|
variants='intel'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# variants='ga hwe'
|
||||||
|
variants='ga'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
for variant in $variants; do
|
for variant in $variants; do
|
||||||
if [ "$variant" = "ga" ]; then
|
if [ "$variant" = "ga" ]; then
|
||||||
@ -906,6 +914,9 @@ case $PROJECT in
|
|||||||
elif [ "$variant" = "hwe" ]; then
|
elif [ "$variant" = "hwe" ]; then
|
||||||
kernel_metapkg=linux-generic-hwe-$(lsb_release -sr)
|
kernel_metapkg=linux-generic-hwe-$(lsb_release -sr)
|
||||||
flavor=generic-hwe
|
flavor=generic-hwe
|
||||||
|
elif [ "$variant" = "intel" ]; then
|
||||||
|
kernel_metapkg=linux-intel-iotg
|
||||||
|
flavor=intel-iotg
|
||||||
else
|
else
|
||||||
echo "bogus variant: $variant"
|
echo "bogus variant: $variant"
|
||||||
exit 1
|
exit 1
|
||||||
@ -938,6 +949,25 @@ case $PROJECT in
|
|||||||
PREINSTALL_POOL_SEEDS='server-ship'
|
PREINSTALL_POOL_SEEDS='server-ship'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
ubuntu-mini-iso)
|
||||||
|
OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal"
|
||||||
|
|
||||||
|
OPTS="${OPTS:+$OPTS }--linux-packages=none --initramfs=none"
|
||||||
|
KERNEL_FLAVOURS=none
|
||||||
|
BINARY_REMOVE_LINUX=false
|
||||||
|
|
||||||
|
add_package install mini-iso-tools openssl ca-certificates isc-dhcp-client linux-generic
|
||||||
|
case $ARCH in
|
||||||
|
amd64)
|
||||||
|
add_package install cd-boot-images-amd64
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "unexpected architecture for $PROJECT: '$ARCH'"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
|
||||||
ubuntu-base)
|
ubuntu-base)
|
||||||
OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal"
|
OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal"
|
||||||
;;
|
;;
|
||||||
@ -989,7 +1019,7 @@ case $PROJECT in
|
|||||||
if [ "${SUBARCH:-}" = "generic" ]; then
|
if [ "${SUBARCH:-}" = "generic" ]; then
|
||||||
KERNEL_FLAVOURS=generic
|
KERNEL_FLAVOURS=generic
|
||||||
elif [ "${SUBARCH:-}" = "intel-iot" ]; then
|
elif [ "${SUBARCH:-}" = "intel-iot" ]; then
|
||||||
KERNEL_FLAVOURS=image-intel
|
KERNEL_FLAVOURS=intel-iotg
|
||||||
OPTS="${OPTS:+$OPTS }--initramfs=none"
|
OPTS="${OPTS:+$OPTS }--initramfs=none"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@ -1064,7 +1094,7 @@ case $PROJECT:${SUBPROJECT:-} in
|
|||||||
ubuntu-server:live)
|
ubuntu-server:live)
|
||||||
BASE_SEED='server'
|
BASE_SEED='server'
|
||||||
;;
|
;;
|
||||||
ubuntu-base:*|ubuntu-core:*)
|
ubuntu-base:*|ubuntu-core:*|ubuntu-mini-iso:)
|
||||||
;;
|
;;
|
||||||
ubuntu-oci:*)
|
ubuntu-oci:*)
|
||||||
;;
|
;;
|
||||||
@ -1175,7 +1205,7 @@ case $PROJECT in
|
|||||||
KERNEL_FLAVOURS="${SUBARCH:-$KERNEL_FLAVOURS}"
|
KERNEL_FLAVOURS="${SUBARCH:-$KERNEL_FLAVOURS}"
|
||||||
case $SUBARCH in
|
case $SUBARCH in
|
||||||
intel-iot)
|
intel-iot)
|
||||||
KERNEL_FLAVOURS='image-intel'
|
KERNEL_FLAVOURS='intel-iotg'
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@ -1237,7 +1267,7 @@ if [ "${IMAGE_HAS_HARDCODED_PASSWORD:-}" = "1" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case $PROJECT in
|
case $PROJECT in
|
||||||
ubuntu-cpc|ubuntu-core|ubuntu-base|ubuntu-oci|ubuntu-wsl)
|
ubuntu-cpc|ubuntu-core|ubuntu-base|ubuntu-oci|ubuntu-wsl|ubuntu-mini-iso)
|
||||||
# ubuntu-cpc gets this added in 025-create-groups.chroot, and we do
|
# ubuntu-cpc gets this added in 025-create-groups.chroot, and we do
|
||||||
# not want this group in projects that are effectively just chroots
|
# not want this group in projects that are effectively just chroots
|
||||||
;;
|
;;
|
||||||
@ -1396,7 +1426,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
ubuntu-cpc:*|ubuntu-server:live|ubuntu:desktop-preinstalled|ubuntu-wsl:*)
|
ubuntu-cpc:*|ubuntu-server:live|ubuntu:desktop-preinstalled|ubuntu-wsl:*|ubuntu-mini-iso:*)
|
||||||
# Ensure that most things e.g. includes.chroot are copied as is
|
# Ensure that most things e.g. includes.chroot are copied as is
|
||||||
for entry in /usr/share/livecd-rootfs/live-build/${PROJECT}/*; do
|
for entry in /usr/share/livecd-rootfs/live-build/${PROJECT}/*; do
|
||||||
case $entry in
|
case $entry in
|
||||||
|
@ -1006,6 +1006,27 @@ network:
|
|||||||
version: 2
|
version: 2
|
||||||
renderer: NetworkManager
|
renderer: NetworkManager
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# inform cloud-init of the same (LP: #1982855)
|
||||||
|
mkdir -p chroot/etc/cloud/cloud.cfg.d
|
||||||
|
cat <<EOF > chroot/etc/cloud/cloud.cfg.d/99-installer-use-networkmanager.cfg
|
||||||
|
# Let NetworkManager manage all devices on this system
|
||||||
|
system_info:
|
||||||
|
network:
|
||||||
|
renderers: ['network-manager']
|
||||||
|
activators: ['network-manager']
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Allow cloud-init clean to inform of strict network-manager config
|
||||||
|
mkdir -p chroot/etc/cloud/clean.d
|
||||||
|
cat <<EOF > chroot/etc/cloud/clean.d/99-installer-use-networkmanager
|
||||||
|
# Inform clone image creators about strict network-manager cfg for cloud-init
|
||||||
|
if [ -f /etc/cloud/cloud.cfg.d/99-installer-use-networkmanager.cfg ]; then
|
||||||
|
echo "WARNING: cloud-init network config is limited to using network-manager."
|
||||||
|
echo "If this is undesirable: rm /etc/cloud/cloud.cfg.d/99-installer-use-networkmanager.cfg"
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
chmod +x chroot/etc/cloud/clean.d/99-installer-use-networkmanager
|
||||||
else
|
else
|
||||||
echo "==== NetworkManager not installed ===="
|
echo "==== NetworkManager not installed ===="
|
||||||
fi
|
fi
|
||||||
|
@ -56,9 +56,12 @@ build_layered_squashfs () {
|
|||||||
|
|
||||||
Echo_message "lb_binary_layered: treating pass $pass"
|
Echo_message "lb_binary_layered: treating pass $pass"
|
||||||
|
|
||||||
|
# Per convention, we include the subarch name next to the project
|
||||||
|
PROJECT_FULL=$PROJECT${SUBARCH:+-$SUBARCH}
|
||||||
|
|
||||||
# Building squashfs filesystem & manifest
|
# Building squashfs filesystem & manifest
|
||||||
local overlay_dir="overlay.${pass}"
|
local overlay_dir="overlay.${pass}"
|
||||||
base="${PWD}/livecd.${PROJECT}.${pass}"
|
base="${PWD}/livecd.${PROJECT_FULL}.${pass}"
|
||||||
squashfs_f="${base}.squashfs"
|
squashfs_f="${base}.squashfs"
|
||||||
|
|
||||||
# We have already treated that pass
|
# We have already treated that pass
|
||||||
@ -113,7 +116,7 @@ build_layered_squashfs () {
|
|||||||
create_manifest "chroot" "${squashfs_f_manifest}.full"
|
create_manifest "chroot" "${squashfs_f_manifest}.full"
|
||||||
|
|
||||||
# Delta manifest
|
# Delta manifest
|
||||||
diff -NU0 ${PWD}/livecd.${PROJECT}.$(get_parent_pass $pass).manifest.full ${squashfs_f_manifest}.full|grep -v ^@ > $squashfs_f_manifest
|
diff -NU0 ${PWD}/livecd.${PROJECT_FULL}.$(get_parent_pass $pass).manifest.full ${squashfs_f_manifest}.full|grep -v ^@ > $squashfs_f_manifest
|
||||||
|
|
||||||
squashfs_f_size="${base}.size"
|
squashfs_f_size="${base}.size"
|
||||||
du -B 1 -s "overlay.${pass}/" | cut -f1 > "${squashfs_f_size}"
|
du -B 1 -s "overlay.${pass}/" | cut -f1 > "${squashfs_f_size}"
|
||||||
@ -121,7 +124,7 @@ build_layered_squashfs () {
|
|||||||
# We take first live pass for "global" ISO properties (used by installers and checkers):
|
# We take first live pass for "global" ISO properties (used by installers and checkers):
|
||||||
# Prepare initrd + kernel
|
# Prepare initrd + kernel
|
||||||
# Main manifest and size files
|
# Main manifest and size files
|
||||||
prefix="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
|
prefix="livecd.$PROJECT_FULL"
|
||||||
if [ ! -e "${prefix}.manifest" ] && $(is_live_layer "$pass"); then
|
if [ ! -e "${prefix}.manifest" ] && $(is_live_layer "$pass"); then
|
||||||
totalsize=$(cat ${squashfs_f_size})
|
totalsize=$(cat ${squashfs_f_size})
|
||||||
curpass="$pass"
|
curpass="$pass"
|
||||||
@ -130,7 +133,7 @@ build_layered_squashfs () {
|
|||||||
# We climbed up the tree to the root layer, we are done
|
# We climbed up the tree to the root layer, we are done
|
||||||
[ -z "$curpass" ] && break
|
[ -z "$curpass" ] && break
|
||||||
|
|
||||||
totalsize=$(expr $totalsize + $(cat "${PWD}/livecd.${PROJECT}.${curpass}.size"))
|
totalsize=$(expr $totalsize + $(cat "${PWD}/livecd.${PROJECT_FULL}.${curpass}.size"))
|
||||||
done
|
done
|
||||||
echo ${totalsize} > "${prefix}.size"
|
echo ${totalsize} > "${prefix}.size"
|
||||||
|
|
||||||
@ -141,7 +144,7 @@ build_layered_squashfs () {
|
|||||||
|
|
||||||
if [ -f config/$pass.catalog-in.yaml ]; then
|
if [ -f config/$pass.catalog-in.yaml ]; then
|
||||||
echo "Expanding catalog entry template for $pass"
|
echo "Expanding catalog entry template for $pass"
|
||||||
usc_opts="--output livecd.${PROJECT}.install-sources.yaml \
|
usc_opts="--output livecd.${PROJECT_FULL}.install-sources.yaml \
|
||||||
--template config/$pass.catalog-in.yaml \
|
--template config/$pass.catalog-in.yaml \
|
||||||
--size $(du -B 1 -s chroot/ | cut -f1) --squashfs ${pass}.squashfs \
|
--size $(du -B 1 -s chroot/ | cut -f1) --squashfs ${pass}.squashfs \
|
||||||
--translations config/catalog-translations"
|
--translations config/catalog-translations"
|
||||||
@ -168,9 +171,9 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Ubiquity-compatible removal manifest for ISO not using a layered-aware installer
|
# Ubiquity-compatible removal manifest for ISO not using a layered-aware installer
|
||||||
if [ -n "$(ls livecd.${PROJECT}.*install.live.manifest.full 2>/dev/null)" ] && \
|
if [ -n "$(ls livecd.${PROJECT_FULL}.*install.live.manifest.full 2>/dev/null)" ] && \
|
||||||
[ -n "$(ls livecd.${PROJECT}.*install.manifest.full 2>/dev/null)" ]; then
|
[ -n "$(ls livecd.${PROJECT_FULL}.*install.manifest.full 2>/dev/null)" ]; then
|
||||||
echo "$(diff livecd.${PROJECT}.*install.live.manifest.full livecd.${PROJECT}.*install.manifest.full | awk '/^< / { print $2 }')" > livecd.${PROJECT}-manifest-remove
|
echo "$(diff livecd.${PROJECT_FULL}.*install.live.manifest.full livecd.${PROJECT_FULL}.*install.manifest.full | awk '/^< / { print $2 }')" > livecd.${PROJECT_FULL}-manifest-remove
|
||||||
fi
|
fi
|
||||||
|
|
||||||
chmod 644 *.squashfs *.manifest* *.size
|
chmod 644 *.squashfs *.manifest* *.size
|
||||||
|
77
live-build/ubuntu-mini-iso/hooks/01-mini-iso.binary
Executable file
77
live-build/ubuntu-mini-iso/hooks/01-mini-iso.binary
Executable file
@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
case $ARCH in
|
||||||
|
amd64)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
KERNEL=chroot/boot/vmlinuz
|
||||||
|
INITRD=chroot/boot/initrd.img
|
||||||
|
|
||||||
|
mkdir -p "chroot/etc/initramfs-tools/conf.d"
|
||||||
|
cat > chroot/etc/initramfs-tools/conf.d/casperize.conf <<EOF
|
||||||
|
export CASPER_GENERATE_UUID=1
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chroot chroot update-initramfs -u
|
||||||
|
|
||||||
|
case $ARCH in
|
||||||
|
amd64)
|
||||||
|
mkdir -p "ubuntu-mini-iso/amd64"
|
||||||
|
cp -a chroot/usr/share/cd-boot-images-amd64/tree ubuntu-mini-iso/amd64/tree
|
||||||
|
cp -a chroot/usr/share/cd-boot-images-amd64/images ubuntu-mini-iso/amd64/images
|
||||||
|
mkdir -p "ubuntu-mini-iso/amd64/tree/casper"
|
||||||
|
cp "$KERNEL" ubuntu-mini-iso/amd64/tree/casper/vmlinuz
|
||||||
|
cp "$INITRD" ubuntu-mini-iso/amd64/tree/casper/initrd
|
||||||
|
mkdir -p "ubuntu-mini-iso/amd64/tree/boot/grub"
|
||||||
|
cat > ubuntu-mini-iso/amd64/tree/boot/grub/grub.cfg <<EOF
|
||||||
|
menuentry "Choose an Ubuntu version to install" {
|
||||||
|
set gfxpayload=keep
|
||||||
|
linux /casper/vmlinuz iso-chooser-menu ip=dhcp ---
|
||||||
|
initrd /casper/initrd
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
mkdir -p ubuntu-mini-iso/$ARCH/tree/.disk
|
||||||
|
|
||||||
|
touch ubuntu-mini-iso/$ARCH/tree/.disk/base_installable
|
||||||
|
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
unmkinitramfs $INITRD $tmpdir
|
||||||
|
if [ -e "$tmpdir/main/conf/uuid.conf" ]; then
|
||||||
|
uuid_conf="$tmpdir/main/conf/uuid.conf"
|
||||||
|
elif [ -e "$tmpdir/conf/uuid.conf" ]; then
|
||||||
|
uuid_conf="$tmpdir/conf/uuid.conf"
|
||||||
|
else
|
||||||
|
echo "uuid.conf not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cp "$uuid_conf" ubuntu-mini-iso/$ARCH/tree/.disk/casper-uuid-generic
|
||||||
|
rm -fr $tmpdir
|
||||||
|
|
||||||
|
cat > ubuntu-mini-iso/$ARCH/tree/.disk/cd_type <<EOF
|
||||||
|
full_cd/single
|
||||||
|
EOF
|
||||||
|
|
||||||
|
version=$(distro-info --fullname --series=$SUITE \
|
||||||
|
| sed s'/^Ubuntu/ubuntu-mini-iso/')
|
||||||
|
|
||||||
|
cat > ubuntu-mini-iso/$ARCH/tree/.disk/info <<EOF
|
||||||
|
$version - $ARCH ($NOW)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
dest="${PWD}/livecd.${PROJECT}.ubuntu-mini.iso"
|
||||||
|
xorriso="$(cat chroot/usr/share/cd-boot-images-amd64/xorriso-cmd.txt)"
|
||||||
|
|
||||||
|
cd ubuntu-mini-iso/$ARCH
|
||||||
|
$xorriso -o $dest
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
rm -rf ubuntu-mini-iso
|
@ -11,6 +11,8 @@ case $PASS in
|
|||||||
kernel_metapkg=linux-generic
|
kernel_metapkg=linux-generic
|
||||||
elif [ "$flavor" = "generic-hwe" ]; then
|
elif [ "$flavor" = "generic-hwe" ]; then
|
||||||
kernel_metapkg=linux-generic-hwe-$(lsb_release -sr)
|
kernel_metapkg=linux-generic-hwe-$(lsb_release -sr)
|
||||||
|
elif [ "$flavor" = "intel-iotg" ]; then
|
||||||
|
kernel_metapkg=linux-intel-iotg
|
||||||
else
|
else
|
||||||
echo "bogus flavor: $flavor"
|
echo "bogus flavor: $flavor"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -13,6 +13,8 @@ case $PASS in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
PROJECT=$PROJECT${SUBARCH:+-$SUBARCH}
|
||||||
|
|
||||||
# Fish out generated kernel image and initrd
|
# Fish out generated kernel image and initrd
|
||||||
mv chroot/boot/initrd.img-* ${PWD}/livecd.${PROJECT}.initrd-$flavor
|
mv chroot/boot/initrd.img-* ${PWD}/livecd.${PROJECT}.initrd-$flavor
|
||||||
mv chroot/boot/vmlinu?-* ${PWD}/livecd.${PROJECT}.kernel-$flavor
|
mv chroot/boot/vmlinu?-* ${PWD}/livecd.${PROJECT}.kernel-$flavor
|
||||||
|
Loading…
x
Reference in New Issue
Block a user