Enable building intel-iot live-server images.

jammy-sru-1996489
Łukasz 'sil2100' Zemczak 2 years ago
parent 54f134a9c7
commit 2075062139

6
debian/changelog vendored

@ -1,3 +1,9 @@
livecd-rootfs (2.765.20) UNRELEASED; urgency=medium
* Enable building intel-iot live-server images (LP: #1980067).
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Fri, 17 Mar 2023 12:31:55 +0100
livecd-rootfs (2.765.19) jammy; urgency=medium livecd-rootfs (2.765.19) jammy; urgency=medium
* auto/config: Add support for ubuntu core arm64 generic images (LP: #2009067) * auto/config: Add support for ubuntu core arm64 generic images (LP: #2009067)

@ -855,12 +855,18 @@ case $PROJECT in
# 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.
if [ $ARCH = riscv64 ]; then case "$ARCH+${SUBARCH:-}" in
# However, for RISC-V we only offer one kernel amd64+intel-iot)
variants='ga' variants='intel'
else ;;
variants='ga hwe' riscv64*)
fi # However, for RISC-V we only offer one kernel
variants='ga'
;;
*)
variants='ga hwe'
;;
esac
for variant in $variants; do for variant in $variants; do
if [ "$variant" = "ga" ]; then if [ "$variant" = "ga" ]; then
@ -869,6 +875,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

@ -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

@ -8,6 +8,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

@ -10,6 +10,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…
Cancel
Save