Add intel-iot server image support to devel.

ui-by-default-wip
Łukasz 'sil2100' Zemczak 2 years ago
parent 3ad215e3f1
commit 85f93d836a

2
debian/changelog vendored

@ -3,6 +3,8 @@ livecd-rootfs (2.813) UNRELEASED; urgency=medium
* Make sure that for devel we also use the right intel-iot kernel flavor * 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 for the images. We don't build any for this series, but it's good to have
parity in the devel branch. 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.
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Fri, 17 Mar 2023 11:53:09 +0100 -- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Fri, 17 Mar 2023 11:53:09 +0100

@ -897,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
intel-iot)
variants='intel'
;;
*)
# variants='ga hwe' # variants='ga hwe'
variants='ga' variants='ga'
;;
esac
for variant in $variants; do for variant in $variants; do
if [ "$variant" = "ga" ]; then if [ "$variant" = "ga" ]; then
@ -908,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

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

@ -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…
Cancel
Save