diff --git a/features.in/syslinux/config.mk b/features.in/syslinux/config.mk index 420a9cea..76655e0d 100644 --- a/features.in/syslinux/config.mk +++ b/features.in/syslinux/config.mk @@ -1,25 +1,35 @@ # default is plain text prompt # NB: might be usbflash-ready hybrid iso -ifeq (,$(filter-out i586 x86_64,$(ARCH))) + +# on ppc64le syslinux feature is used only to generate config +# (it's converted into grub.cfg later) +ifeq (,$(filter-out i586 x86_64 ppc64le,$(ARCH))) + use/syslinux: sub/stage1 $(ISOHYBRID:%=use/isohybrid) @$(call add_feature) +ifeq (,$(filter-out i586 x86_64,$(ARCH))) @$(call add,STAGE1_PACKAGES,syslinux) - @$(call try,META_SYSTEM_ID,SYSLINUX) @$(call try,BOOTVGA,normal) +endif + @$(call try,META_SYSTEM_ID,SYSLINUX) @$(call set,RELNAME,ALT ($(IMAGE_NAME))) @$(call set,IMAGE_PACKTYPE,boot) else + use/syslinux: ; @: + endif +ifeq (,$(filter-out i586 x86_64,$(ARCH))) # UI is overwritten use/syslinux/ui/%: use/syslinux @$(call set,SYSLINUX_UI,$*) -ifeq (,$(filter-out i586 x86_64,$(ARCH))) @if [ "$*" == gfxboot ]; then \ $(call add,STAGE1_PACKAGES,gfxboot); \ $(call add,STAGE1_BRANDING,bootloader); \ fi +else +use/syslinux/ui/%: use/syslinux; @: endif # modules and config snippets just add up @@ -29,5 +39,9 @@ use/syslinux/%.com use/syslinux/%.c32: use/syslinux use/syslinux/%.cfg: use/syslinux @$(call add,SYSLINUX_CFG,$*) +ifeq (,$(filter-out ppc64le,$(ARCH))) +use/syslinux/localboot.cfg use/syslinux/removable.cfg use/syslinux/lateboot.cfg use/syslinux/sdab.cfg: use/syslinux; @: +endif + use/syslinux/timeout/%: use/syslinux @$(call set,SYSLINUX_TIMEOUT,$*) diff --git a/features.in/syslinux/scripts.d/20-propagator-ramdisk b/features.in/syslinux/scripts.d/20-propagator-ramdisk index 525512a0..8e3f5bb2 100755 --- a/features.in/syslinux/scripts.d/20-propagator-ramdisk +++ b/features.in/syslinux/scripts.d/20-propagator-ramdisk @@ -5,10 +5,16 @@ cd "$WORKDIR" +cfgs="$(find syslinux boot/grub -name '*.cfg')" +[ -n "$cfgs" ] || { + echo "${0##*/}: did not find any config under /syslinux or /boot/grub" >&2 + exit 1 +} + # apply size census while looking for potential squashfs images find -maxdepth 1 -type f -size +1M \ | sed 's,^\./,,' \ | while read image; do size="$[ $(stat -c%s "$image") / 1024 + 1 ]" - sed -i "s,@${image}_size@,$size," syslinux/*.cfg + sed -i "s,@${image}_size@,$size," $cfgs done diff --git a/features.in/syslinux/stage1/scripts.d/01-syslinux b/features.in/syslinux/stage1/scripts.d/01-syslinux index e9390715..d61b0da5 100755 --- a/features.in/syslinux/stage1/scripts.d/01-syslinux +++ b/features.in/syslinux/stage1/scripts.d/01-syslinux @@ -10,7 +10,7 @@ cd "$WORKDIR/syslinux" # validate just in case (see also stage1 Makefile) case "$GLOBAL_BOOTLOADER" in - isolinux|syslinux) ;; + isolinux|syslinux|ieee1275boot) ;; *) echo "error: weird GLOBAL_BOOTLOADER: \`$GLOBAL_BOOTLOADER'" >&2; exit 1;; esac