Merge lp:~jibel/debian-cd/support_for_multilayer_images into lp:~ubuntu-cdimage/debian-cd/ubun3

Proposed by Jean-Baptiste Lallement
Status: Merged
Merged at revision: 2020
Proposed branch: lp:~jibel/debian-cd/support_for_multilayer_images
Merge into: lp:~ubuntu-cdimage/debian-cd/ubun3
Diff against target: 308 lines (+78/-54)
6 files modified
Makefile (+8/-1)
tools/add_live_filesystem (+30/-35)
tools/boot/disco/boot-amd64 (+12/-10)
tools/boot/disco/boot-arm64 (+9/-7)
tools/boot/disco/boot-s390x (+3/-1)
tools/boot/disco/common.sh (+16/-0)
To merge this branch: bzr merge lp:~jibel/debian-cd/support_for_multilayer_images
Reviewer Review Type Date Requested Status
Steve Langasek Approve
Review via email: mp+359228@code.launchpad.net

Commit message

Support for multi layers images

- Do not hardcode build artifact names.
- Download build artifacts to their own subdirectory for multilayer images
- Keep backward compatibility with "flat" images
- Add boot option layerfs-path for images that support casper to boot multilayer images

To post a comment you must log in.
2007. By Adam Conrad

[xnox, r=adconrad] server-live: fixup s390x iso boot

2008. By Steve Langasek

Merge lp:~mwhudson/debian-cd/kernel-bits

2009. By Steve Langasek

Merge lp:~mwhudson/debian-cd/kernel-bits

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

Merged trunk.

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

Merged lp:~jibel/debian-cd/rename_artefacts_made_generic :
* Makefile, tools/add_live_filesystem: Generised renaming of build artefacts
* tools/add_live_filesystem: Use system's unmkinitramfs if version supports multipart initrd. Fallback to locally installed otherwise

2010. By Adam Conrad

bionic: DEBVERSION=18.04.2, Release->Beta

2011. By Adam Conrad

bionic: BACKPORT_KERNEL="hwe-18.04"

2012. By Adam Conrad

Forward-port r1965 to all newer series.

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

This last update adds the option layerfs-path to boot a multi-layer image.

2013. By Adam Conrad

bionic: Beta->Release

2014. By Adam Conrad

bionic: Add HWE bootloader bits to live-server.

2015. By Adam Conrad

bionic: Release->Beta

2016. By Łukasz Zemczak

xenial: DEBVERSION=16.04.6

2017. By Łukasz Zemczak

trusty: DEBVERSION=14.04.6

Revision history for this message
Steve Langasek (vorlon) wrote :

This needs rebased against current trunk - in particular, revno 2014 introduces changes to add handling of hwe squashfs in addition to generic, which I noticed because the squashfs-generic handling in your branch doesn't handle the other possible kernel flavors that I expected it to.

review: Needs Fixing
2018. By Steve Langasek

Prune dead code: we never produce artifacts called vmlinuz*.efi.signed with recent versions of livecd-rootfs, just expect our input filename to be sensible

2019. By Steve Langasek

Merge lp:~xnox/debian-cd/server-live-ppc64le

2020. By Jean-Baptiste Lallement

Rebased on trunk r2014

2021. By Jean-Baptiste Lallement

- Removed possible unecessary double-spaces on kernel command line
- fixed typo in comment

2022. By Jean-Baptiste Lallement

Do not ignore failures from ln

2023. By Jean-Baptiste Lallement

Be more on strict on squashfs-generic extension match

2024. By Jean-Baptiste Lallement

Revert unmkinitramfs specialization

Revision history for this message
Didier Roche-Tolomelli (didrocks) :
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

Thanks for the review.

The branch has been rebased on trunk and updated according to your comments.
We tested a build or ubuntu-desktop.

Revision history for this message
Steve Langasek (vorlon) wrote :

thanks, only minor changes requested.

review: Needs Fixing
2025. By Jean-Baptiste Lallement

* Explain non-obvious file naming in file renaming code
* Changed globing of *.squashfs-generic

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

New pushed version should address previous comments.

Revision history for this message
Steve Langasek (vorlon) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'Makefile'
--- Makefile 2018-02-23 13:07:01 +0000
+++ Makefile 2019-03-12 08:32:44 +0000
@@ -252,7 +252,11 @@
252 ifeq ($(PROJECT),kubuntu-mobile)252 ifeq ($(PROJECT),kubuntu-mobile)
253 CDBASE = $(CODENAME)-mobile-$(FULLARCH)253 CDBASE = $(CODENAME)-mobile-$(FULLARCH)
254 else254 else
255 ifeq ($(SUBPROJECT),canary)
256 CDBASE = $(CODENAME)-desktop-canary-$(FULLARCH)
257 else
255 CDBASE = $(CODENAME)-desktop-$(FULLARCH)258 CDBASE = $(CODENAME)-desktop-$(FULLARCH)
259 endif
256 endif260 endif
257 endif261 endif
258 endif262 endif
@@ -1105,7 +1109,10 @@
1105 fi; \1109 fi; \
1106 done1110 done
1107ifeq ($(LIVE_FILESYSTEM),1)1111ifeq ($(LIVE_FILESYSTEM),1)
1108 -cp -a $(LIVEIMAGES)/$(FULLARCH).manifest $(OUT)/$(call CDBASE,$$n).manifest1112 -for p in $(LIVEIMAGES)/$(FULLARCH)*.manifest; do \
1113 f=`basename $$p`; \
1114 cp -a $$p $(OUT)/$(call CDBASE,$$n).`echo $$f|cut -d. -f2-`; \
1115 done
1109 -if [ -e $(LIVEIMAGES)/$(FULLARCH).manifest-remove ]; then \1116 -if [ -e $(LIVEIMAGES)/$(FULLARCH).manifest-remove ]; then \
1110 cp -a $(LIVEIMAGES)/$(FULLARCH).manifest-remove $(OUT)/$(call CDBASE,$$n).manifest-remove; \1117 cp -a $(LIVEIMAGES)/$(FULLARCH).manifest-remove $(OUT)/$(call CDBASE,$$n).manifest-remove; \
1111 elif [ -e $(LIVEIMAGES)/$(FULLARCH).manifest-desktop ]; then \1118 elif [ -e $(LIVEIMAGES)/$(FULLARCH).manifest-desktop ]; then \
11121119
=== modified file 'tools/add_live_filesystem'
--- tools/add_live_filesystem 2019-02-14 06:07:23 +0000
+++ tools/add_live_filesystem 2019-03-12 08:32:44 +0000
@@ -10,40 +10,36 @@
10mkdir -p "$BDIR/CD1/$DIR"10mkdir -p "$BDIR/CD1/$DIR"
11if [ -e "$LIVEIMAGES/$FULLARCH.cloop" ]; then11if [ -e "$LIVEIMAGES/$FULLARCH.cloop" ]; then
12 ln "$LIVEIMAGES/$FULLARCH.cloop" "$BDIR/CD1/$DIR/filesystem.cloop"12 ln "$LIVEIMAGES/$FULLARCH.cloop" "$BDIR/CD1/$DIR/filesystem.cloop"
13elif [ -e "$LIVEIMAGES/$FULLARCH.squashfs" ]; then13elif [ -n "$(ls $LIVEIMAGES/$FULLARCH*.squashfs 2>/dev/null)" ]; then
14 ln "$LIVEIMAGES/$FULLARCH.squashfs" "$BDIR/CD1/$DIR/filesystem.squashfs"14 for ext in squashfs squashfs.gpg modules.squashfs-generic modules.squashfs-generic-hwe size manifest; do
15 if [ -e "$LIVEIMAGES/$FULLARCH.size" ]; then15 for origfilename in $(ls $LIVEIMAGES/$FULLARCH*.$ext 2>/dev/null); do
16 ln "$LIVEIMAGES/$FULLARCH.size" "$BDIR/CD1/$DIR/filesystem.size"16 # Strip fullarch from file basename and optionally prepend "filesystem."
17 fi17 # For instance:
18 if [ -e "$LIVEIMAGES/$FULLARCH.squashfs.gpg" ]; then18 # <arch>.filename.<ext> -> filename.<ext>
19 ln "$LIVEIMAGES/$FULLARCH.squashfs.gpg" "$BDIR/CD1/$DIR/filesystem.squashfs.gpg"19 # <arch>.<ext> -> filesystem.<ext>
20 fi20 origfilename="$(basename ${origfilename})"
21 if [ -e "$LIVEIMAGES/$FULLARCH.maas-rack.squashfs" ]; then21 filename=${origfilename#$FULLARCH.}
22 mkdir -p "$BDIR/CD1/$DIR/maas/"22 if [ "$filename" = "$ext" ]; then
23 ln "$LIVEIMAGES/$FULLARCH.maas-rack.squashfs" "$BDIR/CD1/$DIR/maas/maas-rack.squashfs"23 filename="filesystem.$filename"
24 fi24 fi
25 if [ -e "$LIVEIMAGES/$FULLARCH.maas-region.squashfs" ]; then25
26 mkdir -p "$BDIR/CD1/$DIR/maas/"26 # Copy in squashfs corresponding subdirectory for multi-layer with sublayers system
27 ln "$LIVEIMAGES/$FULLARCH.maas-region.squashfs" "$BDIR/CD1/$DIR/maas/maas-region.squashfs"27 case $filename in
28 fi28 maas*)
29 if [ -e "$LIVEIMAGES/$FULLARCH.modules.squashfs-generic" ]; then29 filepath="maas/$filename"
30 mkdir -p "$BDIR/CD1/$DIR/extras/"30 ;;
31 ln "$LIVEIMAGES/$FULLARCH.modules.squashfs-generic" "$BDIR/CD1/$DIR/extras/modules.squashfs-generic"31 *.modules.squashfs-*)
32 fi32 filepath="extras/$filename"
33 if [ -e "$LIVEIMAGES/$FULLARCH.modules.squashfs-generic-hwe" ]; then33 ;;
34 mkdir -p "$BDIR/CD1/$DIR/extras/"34 *)
35 ln "$LIVEIMAGES/$FULLARCH.modules.squashfs-generic-hwe" "$BDIR/CD1/$DIR/extras/modules.squashfs-generic-hwe"35 filepath="$filename"
36 fi36 ;;
3737 esac
38 if [ -e "$LIVEIMAGES/$FULLARCH.installer.squashfs" ]; then38
39 ln "$LIVEIMAGES/$FULLARCH.installer.squashfs" "$BDIR/CD1/$DIR/installer.squashfs"39 mkdir -p $BDIR/CD1/$DIR/$(dirname "$filepath")
40 if [ -e "$LIVEIMAGES/$FULLARCH.installer.size" ]; then40 ln "$LIVEIMAGES/$origfilename" "$BDIR/CD1/$DIR/$filepath"
41 ln "$LIVEIMAGES/$FULLARCH.installer.size" "$BDIR/CD1/$DIR/installer.size"41 done
42 fi42 done
43 if [ -e "$LIVEIMAGES/$FULLARCH.installer.squashfs.gpg" ]; then
44 ln "$LIVEIMAGES/$FULLARCH.installer.squashfs.gpg" "$BDIR/CD1/$DIR/installer.squashfs.gpg"
45 fi
46 fi
47else43else
48 echo "No filesystem for $FULLARCH!" >&244 echo "No filesystem for $FULLARCH!" >&2
49fi45fi
@@ -57,7 +53,6 @@
57 fi53 fi
58 done54 done
59done55done
60ln "$LIVEIMAGES/$FULLARCH.manifest" "$BDIR/CD1/$DIR/filesystem.manifest" || true
61if [ -e "$LIVEIMAGES/$FULLARCH.manifest-remove" ]; then56if [ -e "$LIVEIMAGES/$FULLARCH.manifest-remove" ]; then
62 ln "$LIVEIMAGES/$FULLARCH.manifest-remove" "$BDIR/CD1/$DIR/filesystem.manifest-remove" || true57 ln "$LIVEIMAGES/$FULLARCH.manifest-remove" "$BDIR/CD1/$DIR/filesystem.manifest-remove" || true
63elif [ -e "$LIVEIMAGES/$FULLARCH.manifest-desktop" ]; then58elif [ -e "$LIVEIMAGES/$FULLARCH.manifest-desktop" ]; then
6459
=== modified file 'tools/boot/disco/boot-amd64'
--- tools/boot/disco/boot-amd64 2019-03-08 16:59:14 +0000
+++ tools/boot/disco/boot-amd64 2019-03-12 08:32:44 +0000
@@ -440,23 +440,25 @@
440 liveparams=440 liveparams=
441 esac441 esac
442442
443 LAYERFS_PATH_OPT=$(add_layerfs_path_opt)
444
443 cat >> boot$N/isolinux/txt.cfg <<EOF445 cat >> boot$N/isolinux/txt.cfg <<EOF
444label live446label live
445 menu label $livelabel447 menu label $livelabel
446 kernel $CASPER_KERNEL448 kernel $CASPER_KERNEL
447 append $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams initrd=$CASPER_INITRD $QUIET $SPLASH ---449 append $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams$LAYERFS_PATH_OPT initrd=$CASPER_INITRD $QUIET $SPLASH ---
448EOF450EOF
449 cat >> $CDDIR/boot/grub/grub.cfg <<EOF451 cat >> $CDDIR/boot/grub/grub.cfg <<EOF
450menuentry "${livelabel#^}" {452menuentry "${livelabel#^}" {
451 set gfxpayload=keep453 set gfxpayload=keep
452 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams $QUIET $SPLASH ---454 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams$LAYERFS_PATH_OPT $QUIET $SPLASH ---
453 initrd $CASPER_INITRD455 initrd $CASPER_INITRD
454}456}
455EOF457EOF
456 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF458 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF
457menuentry "${livelabel#^}" {459menuentry "${livelabel#^}" {
458 set gfxpayload=keep460 set gfxpayload=keep
459 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams iso-scan/filename=\${iso_path} $QUIET $SPLASH ---461 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams$LAYERFS_PATH_OPT iso-scan/filename=\${iso_path} $QUIET $SPLASH ---
460 initrd $CASPER_INITRD462 initrd $CASPER_INITRD
461}463}
462EOF464EOF
@@ -465,18 +467,18 @@
465label live-install467label live-install
466 menu label ^Install $HUMANPROJECT468 menu label ^Install $HUMANPROJECT
467 kernel $CASPER_KERNEL469 kernel $CASPER_KERNEL
468 append $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper only-ubiquity initrd=$CASPER_INITRD $QUIET $SPLASH ---470 append $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$LAYERFS_PATH_OPT only-ubiquity initrd=$CASPER_INITRD $QUIET $SPLASH ---
469EOF471EOF
470 cat >> $CDDIR/boot/grub/grub.cfg <<EOF472 cat >> $CDDIR/boot/grub/grub.cfg <<EOF
471menuentry "Install $HUMANPROJECT" {473menuentry "Install $HUMANPROJECT" {
472 set gfxpayload=keep474 set gfxpayload=keep
473 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper only-ubiquity $QUIET $SPLASH ---475 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$LAYERFS_PATH_OPT only-ubiquity $QUIET $SPLASH ---
474 initrd $CASPER_INITRD476 initrd $CASPER_INITRD
475}477}
476EOF478EOF
477 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF479 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF
478menuentry "Install $HUMANPROJECT" {480menuentry "Install $HUMANPROJECT" {
479 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper only-ubiquity iso-scan/filename=\${iso_path} $QUIET $SPLASH ---481 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$LAYERFS_PATH_OPT only-ubiquity iso-scan/filename=\${iso_path} $QUIET $SPLASH ---
480 initrd $CASPER_INITRD482 initrd $CASPER_INITRD
481}483}
482EOF484EOF
@@ -556,7 +558,7 @@
556 cat >> $CDDIR/boot/grub/${!kp}grub.cfg <<EOF558 cat >> $CDDIR/boot/grub/${!kp}grub.cfg <<EOF
557menuentry "OEM install (for manufacturers)" {559menuentry "OEM install (for manufacturers)" {
558 set gfxpayload=keep560 set gfxpayload=keep
559 linux $CASPER_KERNEL $KERNEL_PARAMS ${DEFAULT_PRESEED/$PREFIX_PRESEED/$PREFIX_PRESEED${!kp}} boot=casper only-ubiquity quiet splash oem-config/enable=true ---561 linux $CASPER_KERNEL $KERNEL_PARAMS ${DEFAULT_PRESEED/$PREFIX_PRESEED/$PREFIX_PRESEED${!kp}} boot=casper$LAYERFS_PATH_OPT only-ubiquity quiet splash oem-config/enable=true ---
560 initrd $CASPER_INITRD562 initrd $CASPER_INITRD
561}563}
562EOF564EOF
@@ -640,18 +642,18 @@
640label check642label check
641 menu label ^Check disc for defects643 menu label ^Check disc for defects
642 kernel $CASPER_KERNEL644 kernel $CASPER_KERNEL
643 append $KERNEL_PARAMS boot=casper integrity-check initrd=$CASPER_INITRD quiet splash ---645 append $KERNEL_PARAMS boot=casper$LAYERFS_PATH_OPT integrity-check initrd=$CASPER_INITRD quiet splash ---
644EOF646EOF
645 cat >> $CDDIR/boot/grub/grub.cfg <<EOF647 cat >> $CDDIR/boot/grub/grub.cfg <<EOF
646menuentry "Check disc for defects" {648menuentry "Check disc for defects" {
647 set gfxpayload=keep649 set gfxpayload=keep
648 linux $CASPER_KERNEL $KERNEL_PARAMS boot=casper integrity-check quiet splash ---650 linux $CASPER_KERNEL $KERNEL_PARAMS boot=casper$LAYERFS_PATH_OPT integrity-check quiet splash ---
649 initrd $CASPER_INITRD651 initrd $CASPER_INITRD
650}652}
651EOF653EOF
652 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF654 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF
653menuentry "Check disc for defects" {655menuentry "Check disc for defects" {
654 linux $CASPER_KERNEL $KERNEL_PARAMS boot=casper integrity-check iso-scan/filename=\${iso_path} quiet splash ---656 linux $CASPER_KERNEL $KERNEL_PARAMS boot=casper$LAYERFS_PATH_OPT integrity-check iso-scan/filename=\${iso_path} quiet splash ---
655 initrd $CASPER_INITRD657 initrd $CASPER_INITRD
656}658}
657EOF659EOF
658660
=== modified file 'tools/boot/disco/boot-arm64'
--- tools/boot/disco/boot-arm64 2018-10-30 13:12:35 +0000
+++ tools/boot/disco/boot-arm64 2019-03-12 08:32:44 +0000
@@ -163,6 +163,8 @@
163EOF163EOF
164fi164fi
165165
166LAYERFS_PATH_OPT=$(add_layerfs_path_opt)
167
166if [ "$CDIMAGE_LIVE" = 1 ]; then168if [ "$CDIMAGE_LIVE" = 1 ]; then
167 if [ "$PROJECT" = kubuntu ] || [ "$PROJECT" = kubuntu-plasma5 ]; then169 if [ "$PROJECT" = kubuntu ] || [ "$PROJECT" = kubuntu-plasma5 ]; then
168 livelabel="^Start $HUMANPROJECT"170 livelabel="^Start $HUMANPROJECT"
@@ -174,14 +176,14 @@
174 cat >> $CDDIR/boot/grub/grub.cfg <<EOF176 cat >> $CDDIR/boot/grub/grub.cfg <<EOF
175menuentry "${livelabel#^}" {177menuentry "${livelabel#^}" {
176 set gfxpayload=keep178 set gfxpayload=keep
177 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams quiet splash ---179 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams$LAYERFS_PATH_OPT quiet splash ---
178 initrd $CASPER_INITRD180 initrd $CASPER_INITRD
179}181}
180EOF182EOF
181 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF183 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF
182menuentry "${livelabel#^}" {184menuentry "${livelabel#^}" {
183 set gfxpayload=keep185 set gfxpayload=keep
184 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams iso-scan/filename=\${iso_path} quiet splash ---186 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$liveparams$LAYERFS_PATH_OPT iso-scan/filename=\${iso_path} quiet splash ---
185 initrd $CASPER_INITRD187 initrd $CASPER_INITRD
186}188}
187EOF189EOF
@@ -189,13 +191,13 @@
189 cat >> $CDDIR/boot/grub/grub.cfg <<EOF191 cat >> $CDDIR/boot/grub/grub.cfg <<EOF
190menuentry "Install $HUMANPROJECT" {192menuentry "Install $HUMANPROJECT" {
191 set gfxpayload=keep193 set gfxpayload=keep
192 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper only-ubiquity quiet splash ---194 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$LAYERFS_PATH_OPT only-ubiquity quiet splash ---
193 initrd $CASPER_INITRD195 initrd $CASPER_INITRD
194}196}
195EOF197EOF
196 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF198 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF
197menuentry "Install $HUMANPROJECT" {199menuentry "Install $HUMANPROJECT" {
198 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper only-ubiquity iso-scan/filename=\${iso_path} quiet splash ---200 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$LAYERFS_PATH_OPT only-ubiquity iso-scan/filename=\${iso_path} quiet splash ---
199 initrd $CASPER_INITRD201 initrd $CASPER_INITRD
200}202}
201EOF203EOF
@@ -230,7 +232,7 @@
230 cat >> $CDDIR/boot/grub/grub.cfg <<EOF232 cat >> $CDDIR/boot/grub/grub.cfg <<EOF
231menuentry "OEM install (for manufacturers)" {233menuentry "OEM install (for manufacturers)" {
232 set gfxpayload=keep234 set gfxpayload=keep
233 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper only-ubiquity quiet splash oem-config/enable=true ---235 linux $CASPER_KERNEL $KERNEL_PARAMS $DEFAULT_PRESEED boot=casper$LAYERFS_PATH_OPT only-ubiquity quiet splash oem-config/enable=true ---
234 initrd $CASPER_INITRD236 initrd $CASPER_INITRD
235}237}
236EOF238EOF
@@ -268,13 +270,13 @@
268 cat >> $CDDIR/boot/grub/grub.cfg <<EOF270 cat >> $CDDIR/boot/grub/grub.cfg <<EOF
269menuentry "Check disc for defects" {271menuentry "Check disc for defects" {
270 set gfxpayload=keep272 set gfxpayload=keep
271 linux $CASPER_KERNEL $KERNEL_PARAMS boot=casper integrity-check quiet splash ---273 linux $CASPER_KERNEL $KERNEL_PARAMS boot=casper$LAYERFS_PATH_OPT integrity-check quiet splash ---
272 initrd $CASPER_INITRD274 initrd $CASPER_INITRD
273}275}
274EOF276EOF
275 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF277 cat >> $CDDIR/boot/grub/loopback.cfg <<EOF
276menuentry "Check disc for defects" {278menuentry "Check disc for defects" {
277 linux $CASPER_KERNEL $KERNEL_PARAMS boot=casper integrity-check iso-scan/filename=\${iso_path} quiet splash ---279 linux $CASPER_KERNEL $KERNEL_PARAMS boot=casper$LAYERFS_PATH_OPT integrity-check iso-scan/filename=\${iso_path} quiet splash ---
278 initrd $CASPER_INITRD280 initrd $CASPER_INITRD
279}281}
280EOF282EOF
281283
=== modified file 'tools/boot/disco/boot-s390x'
--- tools/boot/disco/boot-s390x 2018-12-23 18:12:29 +0000
+++ tools/boot/disco/boot-s390x 2019-03-12 08:32:44 +0000
@@ -53,9 +53,11 @@
53cp -lf "$DI_DIR/generic/initrd.off" $imagedir53cp -lf "$DI_DIR/generic/initrd.off" $imagedir
54cp -lf "$DI_DIR/generic/initrd.siz" $imagedir54cp -lf "$DI_DIR/generic/initrd.siz" $imagedir
5555
56LAYERFS_PATH_OPT=$(add_layerfs_path_opt)
57
56# For server-live images, use casper's initrd and kernel instead58# For server-live images, use casper's initrd and kernel instead
57if [ "$CDIMAGE_LIVE" = 1 ]; then59if [ "$CDIMAGE_LIVE" = 1 ]; then
58 CMDLINE="boot=casper --- quiet"60 CMDLINE="boot=casper$LAYERFS_PATH_OPT --- quiet"
59 mv $CDDIR/casper/filesystem.initrd-generic $imagedir/initrd.ubuntu61 mv $CDDIR/casper/filesystem.initrd-generic $imagedir/initrd.ubuntu
60 mv $CDDIR/casper/filesystem.kernel-generic $imagedir/kernel.ubuntu62 mv $CDDIR/casper/filesystem.kernel-generic $imagedir/kernel.ubuntu
61 echo "$CMDLINE" > $imagedir/parmfile.ubuntu63 echo "$CMDLINE" > $imagedir/parmfile.ubuntu
6264
=== modified file 'tools/boot/disco/common.sh'
--- tools/boot/disco/common.sh 2018-10-30 13:12:35 +0000
+++ tools/boot/disco/common.sh 2019-03-12 08:32:44 +0000
@@ -158,3 +158,19 @@
158 echo -n "$NEW_OPT " >> $OPTS_FILE158 echo -n "$NEW_OPT " >> $OPTS_FILE
159 fi159 fi
160}160}
161
162# for multi-layer images, add a kernel command line option to set layerfs-path
163# and select the leaf filesystem to determine the list of layers to merge in
164# an overlay and boot from.
165add_layerfs_path_opt() {
166 case $PROJECT in
167 ubuntu)
168 if [ "$SUBPROJECT" = "canary" ]; then
169 echo ' layerfs-path=minimal.standard.live.squashfs'
170 return
171 fi
172 ;;
173 *)
174 ;;
175 esac
176}

Subscribers

People subscribed via source and target branches