diff --git a/build/boot/x86/adamd.cfg b/build/boot/x86/adamd.cfg new file mode 100644 index 000000000..e0cca44bb --- /dev/null +++ b/build/boot/x86/adamd.cfg @@ -0,0 +1,15 @@ +menu hshift 9 +menu width 58 + +label amd64-expert + menu label 64 bit expert install + kernel ${KERNEL} + append priority=low ${VIDEO_MODE} initrd=${INITRD} -- ${CONSOLE} +label amd64-rescue + menu label 64 bit rescue mode + kernel ${KERNEL} + append ${VIDEO_MODE} initrd=${INITRD} rescue/enable=true -- quiet ${CONSOLE} +label amd64-auto + menu label 64 bit automated install + kernel ${KERNEL} + append auto=true priority=critical ${VIDEO_MODE} initrd=${INITRD} -- quiet ${CONSOLE} diff --git a/build/boot/x86/adamdgtk.cfg b/build/boot/x86/adamdgtk.cfg new file mode 100644 index 000000000..81392796e --- /dev/null +++ b/build/boot/x86/adamdgtk.cfg @@ -0,0 +1,12 @@ +label amd64-expertgui + menu label 64 bit graphical expert install + kernel ${KERNEL} + append priority=low ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- ${CONSOLE} +label amd64-rescuegui + menu label 64 bit graphical rescue mode + kernel ${KERNEL} + append ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} rescue/enable=true -- quiet ${CONSOLE} +label amd64-autogui + menu label 64 bit graphical automated install + kernel ${KERNEL} + append auto=true priority=critical ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- quiet ${CONSOLE} diff --git a/build/boot/x86/adgtk.cfg b/build/boot/x86/adgtk.cfg new file mode 100644 index 000000000..47bdc69b4 --- /dev/null +++ b/build/boot/x86/adgtk.cfg @@ -0,0 +1,15 @@ +menu hshift 9 +menu width 58 + +label expertgui + menu label Graphical expert install + kernel ${KERNEL} + append priority=low ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- ${CONSOLE} +label rescuegui + menu label Graphical rescue mode + kernel ${KERNEL} + append ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} rescue/enable=true -- quiet ${CONSOLE} +label autogui + menu label Graphical automated install + kernel ${KERNEL} + append auto=true priority=critical ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- quiet ${CONSOLE} diff --git a/build/boot/x86/adtext.cfg b/build/boot/x86/adtext.cfg new file mode 100644 index 000000000..d5be53049 --- /dev/null +++ b/build/boot/x86/adtext.cfg @@ -0,0 +1,12 @@ +label expert + menu label ^Expert install + kernel ${KERNEL} + append priority=low ${VIDEO_MODE} initrd=${INITRD} -- ${CONSOLE} +label rescue + menu label ^Rescue mode + kernel ${KERNEL} + append ${VIDEO_MODE} initrd=${INITRD} rescue/enable=true -- quiet ${CONSOLE} +label auto + menu label ^Automated install + kernel ${KERNEL} + append auto=true priority=critical ${VIDEO_MODE} initrd=${INITRD} -- quiet ${CONSOLE} diff --git a/build/boot/x86/amd.cfg b/build/boot/x86/amd.cfg new file mode 100644 index 000000000..2c2e86119 --- /dev/null +++ b/build/boot/x86/amd.cfg @@ -0,0 +1,7 @@ +# default64 does not currently behave right with vesamenu +#default64 amd64-install + +label amd64-install + menu label ^64 bit install + kernel ${KERNEL} + append ${VIDEO_MODE} initrd=${INITRD} -- quiet ${CONSOLE} diff --git a/build/boot/x86/amdgtk.cfg b/build/boot/x86/amdgtk.cfg new file mode 100644 index 000000000..c30fd5834 --- /dev/null +++ b/build/boot/x86/amdgtk.cfg @@ -0,0 +1,4 @@ +label amd64-installgui + menu label 64 bit graphical install + kernel ${KERNEL} + append ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- quiet ${CONSOLE} diff --git a/build/boot/x86/boot.txt b/build/boot/x86/boot.txt deleted file mode 100644 index bcd16fca8..000000000 --- a/build/boot/x86/boot.txt +++ /dev/null @@ -1,3 +0,0 @@ -${SYSDIR}splash.rle - -Press F1control and F then 1 for help, or ENTER to ${BOOTPROMPT} diff --git a/build/boot/x86/gtk.cfg b/build/boot/x86/gtk.cfg new file mode 100644 index 000000000..a4b2977c7 --- /dev/null +++ b/build/boot/x86/gtk.cfg @@ -0,0 +1,4 @@ +label installgui + menu label ^Graphical install + kernel ${KERNEL} + append ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- quiet ${CONSOLE} diff --git a/build/boot/x86/menu.cfg b/build/boot/x86/menu.cfg new file mode 100644 index 000000000..ea2e740dd --- /dev/null +++ b/build/boot/x86/menu.cfg @@ -0,0 +1,23 @@ +menu hshift 13 +menu width 49 + +menu title Installer boot menu +include ${SYSDIR}stdmenu.cfg +include ${SYSDIR}text.cfg +include ${SYSDIR}amd.cfg +include ${SYSDIR}gtk.cfg +include ${SYSDIR}amdgtk.cfg +menu begin advanced + menu title Advanced options + label mainmenu + menu label ^Back.. + menu exit + include ${SYSDIR}stdmenu.cfg + include ${SYSDIR}adtext.cfg + include ${SYSDIR}adamd.cfg + include ${SYSDIR}adgtk.cfg + include ${SYSDIR}adamdgtk.cfg +menu end +label help + menu label ^Help + config ${SYSDIR}prompt.cfg diff --git a/build/boot/x86/prompt.cfg b/build/boot/x86/prompt.cfg new file mode 100644 index 000000000..cd2957d5a --- /dev/null +++ b/build/boot/x86/prompt.cfg @@ -0,0 +1,15 @@ +prompt 1 +display ${SYSDIR}f1.txt +timeout 0 +include ${SYSDIR}menu.cfg + +f1 ${SYSDIR}f1.txt +f2 ${SYSDIR}f2.txt +f3 ${SYSDIR}f3.txt +f4 ${SYSDIR}f4.txt +f5 ${SYSDIR}f5.txt +f6 ${SYSDIR}f6.txt +f7 ${SYSDIR}f7.txt +f8 ${SYSDIR}f8.txt +f9 ${SYSDIR}f9.txt +f0 ${SYSDIR}f10.txt diff --git a/build/boot/x86/stdmenu.cfg b/build/boot/x86/stdmenu.cfg new file mode 100644 index 000000000..6616a3207 --- /dev/null +++ b/build/boot/x86/stdmenu.cfg @@ -0,0 +1,11 @@ +menu background ${SYSDIR}splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu vshift 12 +menu rows 10 +menu tabmsgrow 16 +menu timeoutrow 17 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/build/boot/x86/syslinux.cfg b/build/boot/x86/syslinux.cfg index 9b98daa6d..277da3502 100644 --- a/build/boot/x86/syslinux.cfg +++ b/build/boot/x86/syslinux.cfg @@ -1,34 +1,4 @@ -${SYSLINUX_SERIAL} -DISPLAY ${SYSDIR}boot.txt - -F1 ${SYSDIR}f1.txt -F2 ${SYSDIR}f2.txt -F3 ${SYSDIR}f3.txt -F4 ${SYSDIR}f4.txt -F5 ${SYSDIR}f5.txt -F6 ${SYSDIR}f6.txt -F7 ${SYSDIR}f7.txt -F8 ${SYSDIR}f8.txt -F9 ${SYSDIR}f9.txt -F0 ${SYSDIR}f10.txt - -DEFAULT install - -LABEL install - kernel ${KERNEL} - append ${VIDEO_MODE} initrd=${INITRD} -- quiet ${CONSOLE} - -LABEL expert - kernel ${KERNEL} - append priority=low ${VIDEO_MODE} initrd=${INITRD} -- ${CONSOLE} - -LABEL rescue - kernel ${KERNEL} - append ${VIDEO_MODE} initrd=${INITRD} rescue/enable=true -- quiet ${CONSOLE} - -LABEL auto - kernel ${KERNEL} - append auto=true priority=critical ${VIDEO_MODE} initrd=${INITRD} -- quiet ${CONSOLE} - -PROMPT 1 -TIMEOUT 0 +include ${SYSDIR}menu.cfg +default ${SYSDIR}vesamenu.c32 +prompt 0 +timeout 0 diff --git a/build/boot/x86/syslinux.cfg.withgtk b/build/boot/x86/syslinux.cfg.withgtk deleted file mode 100644 index 47895cf30..000000000 --- a/build/boot/x86/syslinux.cfg.withgtk +++ /dev/null @@ -1,46 +0,0 @@ -${SYSLINUX_SERIAL} -DISPLAY ${SYSDIR}boot.txt - -F1 ${SYSDIR}f1.txt -F2 ${SYSDIR}f2.txt -F3 ${SYSDIR}f3.txt -F4 ${SYSDIR}f4.txt -F5 ${SYSDIR}f5.txt -F6 ${SYSDIR}f6.txt -F7 ${SYSDIR}f7.txt -F8 ${SYSDIR}f8.txt -F9 ${SYSDIR}f9.txt -F0 ${SYSDIR}f10.txt - -DEFAULT install - -LABEL install - kernel ${KERNEL} - append ${VIDEO_MODE} initrd=${INITRD} -- quiet ${CONSOLE} -LABEL installgui - kernel ${KERNEL} - append ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- quiet ${CONSOLE} - -LABEL expert - kernel ${KERNEL} - append priority=low ${VIDEO_MODE} initrd=${INITRD} -- ${CONSOLE} -LABEL expertgui - kernel ${KERNEL} - append priority=low ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- ${CONSOLE} - -LABEL rescue - kernel ${KERNEL} - append ${VIDEO_MODE} initrd=${INITRD} rescue/enable=true -- quiet ${CONSOLE} -LABEL rescuegui - kernel ${KERNEL} - append ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} rescue/enable=true -- quiet ${CONSOLE} - -LABEL auto - kernel ${KERNEL} - append auto=true priority=critical ${VIDEO_MODE} initrd=${INITRD} -- quiet ${CONSOLE} -LABEL autogui - kernel ${KERNEL} - append auto=true priority=critical ${VIDEO_MODE_GTK} initrd=${INITRD_GTK} -- quiet ${CONSOLE} - -PROMPT 1 -TIMEOUT 0 diff --git a/build/boot/x86/text.cfg b/build/boot/x86/text.cfg new file mode 100644 index 000000000..e413d6a98 --- /dev/null +++ b/build/boot/x86/text.cfg @@ -0,0 +1,5 @@ +default install +label install + menu label ^Install + kernel ${KERNEL} + append ${VIDEO_MODE} initrd=${INITRD} -- quiet ${CONSOLE} diff --git a/build/config/i386/floppy/boot.cfg b/build/config/i386/floppy/boot.cfg index ff15eaf29..2835b27bd 100644 --- a/build/config/i386/floppy/boot.cfg +++ b/build/config/i386/floppy/boot.cfg @@ -32,3 +32,6 @@ TRANSSTATUS= # use klibc, not libc ONLY_KLIBC=1 + +# omit the syslinux vesamenu +NO_VESAMENU=1 diff --git a/build/config/x86.cfg b/build/config/x86.cfg index 5ca736b29..ea832d60c 100644 --- a/build/config/x86.cfg +++ b/build/config/x86.cfg @@ -11,10 +11,7 @@ DOS_VOLUME_ID = deb00001 DOS_VOLUME_LABEL = "Debian Inst" # The image to use for a syslinux splash screen. -#SPLASH_RLE=boot/x86/pics/nicholson.rle -#SPLASH_RLE=boot/x86/pics/yazici.rle -SPLASH_RLE=boot/x86/pics/klowner.rle -#SPLASH_RLE=boot/x86/pics/polverini_b.rle +SPLASH_PNG=boot/x86/pics/klowner.png # The directory boot screens for syslinux will go in. BOOT_SCREEN_DIR = @@ -39,7 +36,6 @@ endif # syslinux is used to make the image bootable syslinux $(SYSLINUX_OPTS) $(TEMP_BOOT) - mcopy -i$(TEMP_BOOT) $(TEMP_KERNEL) ::linux mcopy -i$(TEMP_BOOT) $(TEMP_INITRD) ::initrd.gz @@ -51,21 +47,29 @@ endif makelabel $(DISK_LABEL) $(BUILD_DATE) > $(TEMP)/disk.lbl mcopy -i$(TEMP_BOOT) $(TEMP)/disk.lbl ::disk.lbl - # syslinux.cfg - if [ -n "$(INITRD_GTK)" ]; then \ - cat boot/x86/syslinux.cfg.withgtk; \ - else \ - cat boot/x86/syslinux.cfg; \ - fi \ - | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ - DEBIAN_VERSION "$(DEBIAN_VERSION)" \ - BUILD_DATE "$(BUILD_DATE)" \ - KERNEL linux INITRD initrd.gz \ - KERNEL_26 linux26 INITRD_26 initrd26.gz \ - INITRD_GTK initrdg.gz \ - VIDEO_MODE $(VIDEO_MODE) \ - VIDEO_MODE_GTK $(VIDEO_MODE_GTK) \ - | todos | mcopy -i$(TEMP_BOOT) - ::syslinux.cfg + # syslinux configs + $(foreach file,$(shell syslinux-cfgs "$(INITRD_GTK)"), \ + outfile=`basename $(file)`; \ + if [ "$(NO_VESAMENU)" ]; then \ + if [ $$outfile = prompt.cfg ]; then \ + outfile=syslinux.cfg; \ + elif [ $$outfile != menu.cfg ] && [ $$outfile != text.cfg ] ; then \ + outfile="" ; \ + fi; \ + fi; \ + if [ "$$outfile" ]; then \ + cat $(file) \ + | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ + DEBIAN_VERSION "$(DEBIAN_VERSION)" \ + BUILD_DATE "$(BUILD_DATE)" \ + KERNEL linux INITRD initrd.gz \ + KERNEL_26 linux26 INITRD_26 initrd26.gz \ + INITRD_GTK initrdg.gz \ + VIDEO_MODE $(VIDEO_MODE) \ + VIDEO_MODE_GTK $(VIDEO_MODE_GTK) \ + | todos | mcopy -i$(TEMP_BOOT) - ::$$outfile; \ + fi; \ + ) # syslinux help screens if [ -z "$(OMIT_BOOT_HELP)" ]; then \ @@ -79,10 +83,13 @@ endif ) \ fi - if [ -e $(TEMP_BOOT_SCREENS)/splash.rle ]; then \ - mcopy -i$(TEMP_BOOT) $(TEMP_BOOT_SCREENS)/splash.rle ::splash.rle; \ - fi || echo "*** Failed to add boot logo, probably out of space." >&2 - + if [ ! "$(NO_VESAMENU)" ]; then \ + mcopy -i$(TEMP_BOOT) /usr/lib/syslinux/vesamenu.c32 ::vesamenu.c32; \ + if [ -e $(TEMP_BOOT_SCREENS)/splash.png ]; then \ + mcopy -i$(TEMP_BOOT) $(TEMP_BOOT_SCREENS)/splash.png ::splash.png; \ + fi; \ + fi + # win32-loader if [ -z "$(OMIT_WIN32_LOADER)" ]; then \ (mcopy -i$(TEMP_BOOT) /usr/lib/win32-loader/win32-loader.exe ::setup.exe ; \ @@ -112,7 +119,7 @@ arch_root: # Pad the initrd to the floppy size. dd if=$(TEMP_INITRD) bs=$(shell expr $(FLOPPY_SIZE) \* 1024) count=1 of=$(TEMP_ROOT) conv=sync -# Set up syslinux/isolinux help screens. +# Set up syslinux help screens. .PHONY: arch_boot_screens arch_boot_screens: -rm -f $(TEMP_BOOT_SCREENS)/* @@ -124,8 +131,8 @@ arch_boot_screens: SYSDIR "$(BOOT_SCREEN_DIR)" \ < $(SCREEN) > $(TEMP_BOOT_SCREENS)/`basename $(SCREEN)`\ ;) - if [ -n "$(SPLASH_RLE)" ]; then \ - cp $(SPLASH_RLE) $(TEMP_BOOT_SCREENS)/splash.rle; \ + if [ -n "$(SPLASH_PNG)" ]; then \ + cp $(SPLASH_PNG) $(TEMP_BOOT_SCREENS)/splash.png; \ fi # isolinux CD info directory, including help screens and an isolinux.cfg. @@ -138,25 +145,24 @@ arch_cd_info_dir: cp -a $(TEMP_BOOT_SCREENS)/* $(TEMP_CD_INFO_DIR) - cat boot/x86/syslinux.cfg \ - | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ - DEBIAN_VERSION "$(DEBIAN_VERSION)" \ - BUILD_DATE "$(BUILD_DATE)" \ - KERNEL /install/vmlinuz INITRD /install/initrd.gz \ - VIDEO_MODE $(VIDEO_MODE) \ - > $(TEMP_CD_INFO_DIR)/isolinux.cfg - - if [ -n "$(INITRD_GTK)" ]; then \ - cat boot/x86/syslinux.cfg.withgtk \ + # amd64 files are included, in case the CD turns out to be + # multiarch + $(foreach file,$(shell syslinux-cfgs "$(INITRD_GTK)" 1), \ + outfile=`basename $(file)`; \ + if [ $$outfile = syslinux.cfg ]; then \ + outfile=isolinux.cfg; \ + fi; \ + cat $(file) \ | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ DEBIAN_VERSION "$(DEBIAN_VERSION)" \ BUILD_DATE "$(BUILD_DATE)" \ - KERNEL /install/vmlinuz INITRD /install/initrd.gz \ + KERNEL /install/vmlinuz \ + INITRD /install/initrd.gz \ INITRD_GTK /install/gtk/initrd.gz \ VIDEO_MODE $(VIDEO_MODE) \ VIDEO_MODE_GTK $(VIDEO_MODE_GTK) \ - > $(TEMP_CD_INFO_DIR)/isolinux.cfg.withgtk; \ - fi + > $(TEMP_CD_INFO_DIR)/$$outfile; \ + ) # win32-loader cp /usr/lib/win32-loader/win32-loader.exe $(TEMP_CD_INFO_DIR)/setup.exe @@ -181,29 +187,37 @@ arch_miniiso: -rm -f $(TEMP_CD_TREE)/* mkdir -p $(TEMP_CD_TREE) cp /usr/lib/syslinux/isolinux.bin $(TEMP_CD_TREE) + cp /usr/lib/syslinux/vesamenu.c32 $(TEMP_CD_TREE) + $(foreach file,$(wildcard boot/x86/*.txt), \ cat $(file) | \ bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ DEBIAN_VERSION "$(DEBIAN_VERSION)" \ BUILD_DATE "$(BUILD_DATE)" "" \ - > $(TEMP_CD_TREE)/`basename $(file)` \ - ;) - set -e; \ - $(foreach file,$(wildcard $(TEMP_BOOT_SCREENS)/*.txt), \ + > $(TEMP_CD_TREE)/`basename $(file)`; \ ) - if [ -e $(TEMP_BOOT_SCREENS)/splash.rle ]; then \ - cp $(TEMP_BOOT_SCREENS)/splash.rle $(TEMP_CD_TREE); \ + + if [ -e $(TEMP_BOOT_SCREENS)/splash.png ]; then \ + cp $(TEMP_BOOT_SCREENS)/splash.png $(TEMP_CD_TREE); \ fi ln -f $(TEMP_KERNEL) $(TEMP_CD_TREE)/linux ln -f $(TEMP_INITRD) $(TEMP_CD_TREE)/initrd.gz - cat boot/x86/syslinux.cfg \ - | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ - DEBIAN_VERSION "$(DEBIAN_VERSION)" \ - BUILD_DATE "$(BUILD_DATE)" \ - KERNEL linux INITRD initrd.gz \ - VIDEO_MODE $(VIDEO_MODE) \ - | todos > $(TEMP_CD_TREE)/isolinux.cfg - ln -f $(TEMP_INITRD) $(TEMP_CD_TREE)/initrd.gz + $(foreach file,$(shell syslinux-cfgs "$(INITRD_GTK)"), \ + outfile=`basename $(file)`; \ + if [ $$outfile = syslinux.cfg ]; then \ + outfile=isolinux.cfg; \ + fi; \ + cat $(file) \ + | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ + DEBIAN_VERSION "$(DEBIAN_VERSION)" \ + BUILD_DATE "$(BUILD_DATE)" \ + KERNEL linux \ + INITRD initrd.gz \ + INITRD_GTK /install/gtk/initrd.gz \ + VIDEO_MODE $(VIDEO_MODE) \ + VIDEO_MODE_GTK $(VIDEO_MODE_GTK) \ + | todos > $(TEMP_CD_TREE)/$$outfile; \ + ) # win32-loader cp /usr/lib/win32-loader/win32-loader.exe $(TEMP_CD_TREE)/setup.exe @@ -227,38 +241,33 @@ arch_miniiso: -no-emul-boot -boot-load-size 4 -boot-info-table \ -o $(TEMP_MINIISO) $(TEMP_CD_TREE) -# Netboot images, including a small iso with the netboot stuff on it. +# Netboot files .PHONY: arch_netboot_dir arch_netboot_dir: -rm -f $(TEMP_NETBOOT_DIR) mkdir -p $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH) cp $(TEMP_INITRD) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH) cp $(TEMP_KERNEL) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/linux - cp /usr/lib/syslinux/pxelinux.0 $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH) mkdir -p $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/pxelinux.cfg - cat boot/x86/syslinux.cfg \ - | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ - DEBIAN_VERSION "$(DEBIAN_VERSION)" \ - BUILD_DATE "$(BUILD_DATE)" \ - SYSDIR "$(BOOT_SCREEN_DIR)" \ - KERNEL $(NETBOOT_PATH)/linux \ - INITRD $(NETBOOT_PATH)/initrd.gz \ - VIDEO_MODE $(VIDEO_MODE) \ - > $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/pxelinux.cfg/default - - mkdir -p $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/pxelinux.cfg.serial-9600 - cat boot/x86/syslinux.cfg \ - | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ - DEBIAN_VERSION "$(DEBIAN_VERSION)" \ - BUILD_DATE "$(BUILD_DATE)" \ - SYSDIR "$(BOOT_SCREEN_DIR)" \ - KERNEL $(NETBOOT_PATH)/linux \ - INITRD $(NETBOOT_PATH)/initrd.gz \ - CONSOLE "console=ttyS0,9600n8" SYSLINUX_SERIAL \ - "SERIAL 0 9600 0" \ - VIDEO_MODE $(VIDEO_MODE) \ - > $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/pxelinux.cfg.serial-9600/default + mkdir -p $(TEMP_NETBOOT_DIR)/$(BOOT_SCREEN_DIR) + cp /usr/lib/syslinux/vesamenu.c32 $(TEMP_NETBOOT_DIR)/$(BOOT_SCREEN_DIR) + + $(foreach file,$(shell syslinux-cfgs "$(INITRD_GTK)"), \ + outfile=$(TEMP_NETBOOT_DIR)/$(BOOT_SCREEN_DIR)/`basename $(file)`; \ + if [ `basename $(file)` = syslinux.cfg ]; then \ + outfile=$(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/pxelinux.cfg/default; \ + fi; \ + cat $(file) \ + | bootvars-subst MEDIA_TYPE "$(MEDIA_TYPE)" \ + DEBIAN_VERSION "$(DEBIAN_VERSION)" \ + BUILD_DATE "$(BUILD_DATE)" \ + SYSDIR "$(BOOT_SCREEN_DIR)" \ + KERNEL $(NETBOOT_PATH)/linux \ + INITRD $(NETBOOT_PATH)/initrd.gz \ + VIDEO_MODE $(VIDEO_MODE) \ + > $$outfile; \ + ) # This symlink is required as pxelinux always looks in the root # of the tftp server for its config. @@ -269,12 +278,11 @@ arch_netboot_dir: rm -f $(TEMP_NETBOOT_DIR)/pxelinux.0 ln -sf $(NETBOOT_PATH)/pxelinux.0 $(TEMP_NETBOOT_DIR)/pxelinux.0 - mkdir -p $(TEMP_NETBOOT_DIR)/$(BOOT_SCREEN_DIR) set -e; \ $(foreach file,$(wildcard $(TEMP_BOOT_SCREENS)/*.txt), \ cp $(file) $(TEMP_NETBOOT_DIR)/$(BOOT_SCREEN_DIR); \ ) - if [ -n "$(SPLASH_RLE)" ]; then \ - cp $(SPLASH_RLE) $(TEMP_NETBOOT_DIR)/$(BOOT_SCREEN_DIR)/splash.rle; \ + if [ -n "$(SPLASH_PNG)" ]; then \ + cp $(SPLASH_PNG) $(TEMP_NETBOOT_DIR)/$(BOOT_SCREEN_DIR)/splash.png; \ fi diff --git a/build/util/syslinux-cfgs b/build/util/syslinux-cfgs new file mode 100644 index 000000000..25081547e --- /dev/null +++ b/build/util/syslinux-cfgs @@ -0,0 +1,23 @@ +#!/bin/sh +# List syslinux cfg files to include on an image. + +INCLUDE_GTK="$1" +INCLUDE_AMD="$2" + +filter_gtk () { + if [ -n "$INCLUDE_GTK" ]; then + cat + else + grep -v gtk + fi +} + +filter_amd () { + if [ -n "$INCLUDE_AMD" ]; then + cat + else + grep -v amd + fi +} + +ls -1 boot/x86/*.cfg | filter_gtk | filter_amd diff --git a/debian/changelog b/debian/changelog index ee91875c3..cd01202ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -37,6 +37,13 @@ debian-installer (2008xxxx) UNRELEASED; urgency=low * The i386 root floppy has been changed to a bare gzipped cpio file, null-paddded to the end of the floppy. This needs rootskel-bootfloppy version 1.60. + * Use syslinux's vesamenu for all x86 images except the boot floppy. + * Split up syslinux config files. + * Note that the pxelinux config file for serial terminals has been dropped, + at least for now, since the split config files made it too difficult to + set up. + * Note that this needs debian-cd changes to change its code for + merging syslinux configs when producing i386+amd64 CDs. * Document the irqpoll boot parameter. Closes: #477988 [ Frans Pop ]