wish: code cleanup to change NETBOOT_PATH (d-i modifications)
Hello,
I'm trying to modify the d-i a bit and my idea is to store netboot files
under a tftp root under a different directory than the official d-i
(debian-installer). I want to choose from a menu during PXE and have
ability to boot e.g. official d-i, modified d-i, debian-live, and other
things. String `debian-installer' is harcoded on several places
unfortunately.
My modifications are attached. I simply add variable NETBOOT_DI_DIR with
the string `debian-installer'. Only things needed to build modified
installer is to change value to e.g. `debian-installer-my'. This
installer can be arranged to tftp directory besides `debian-installer'
and other staff...
Other problem is with pxelinux itself. I'm using menu.c32 (pxelinux
module) to use a submenus and in this menu mode are screens f1,f2... not
displayed. Hmm, maybe this is for differend thread. I will post this as
a separate message.
Thanks for any reactions
Regards
--
Vaclav Ovsik
--- debian-installer-20070308.orig/build/config/x86.cfg
+++ debian-installer-20070308/build/config/x86.cfg
@@ -196,8 +196,8 @@
DEBIAN_VERSION "$(DEBIAN_VERSION)" \
BUILD_DATE "$(BUILD_DATE)" \
SYSDIR "$(BOOT_SCREEN_DIR)" \
- KERNEL debian-installer/$(ARCH)/linux \
- INITRD debian-installer/$(ARCH)/initrd.gz \
+ KERNEL $(NETBOOT_PATH)/linux \
+ INITRD $(NETBOOT_PATH)/initrd.gz \
VIDEO_MODE $(VIDEO_MODE) \
> $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/pxelinux.cfg/default
@@ -207,8 +207,8 @@
DEBIAN_VERSION "$(DEBIAN_VERSION)" \
BUILD_DATE "$(BUILD_DATE)" \
SYSDIR "$(BOOT_SCREEN_DIR)" \
- KERNEL debian-installer/$(ARCH)/linux \
- INITRD debian-installer/$(ARCH)/initrd.gz \
+ KERNEL $(NETBOOT_PATH)/linux \
+ INITRD $(NETBOOT_PATH)/initrd.gz \
CONSOLE "console=ttyS0,9600n8" SYSLINUX_SERIAL \
"SERIAL 0 9600 0" \
VIDEO_MODE $(VIDEO_MODE) \
--- debian-installer-20070308.orig/build/config/dir
+++ debian-installer-20070308/build/config/dir
@@ -56,7 +56,8 @@
# isolated into their own directory so the tftp server can be used for
# other purposes too. Anything outside this directory should be a symlink
# to a file in it.
-NETBOOT_PATH = debian-installer/$(ARCH)
+NETBOOT_DI_DIR = debian-installer
+NETBOOT_PATH = $(NETBOOT_DI_DIR)/$(ARCH)
# The files we may want to have in dest/
INITRD = $(SOME_DEST)/$(EXTRANAME)initrd.gz
@@ -66,7 +67,7 @@
EXTRA = $(SOME_DEST)/$(EXTRANAME).img$(GZIPPED)
MINIISO = $(SOME_DEST)/$(EXTRANAME)mini.iso
DEBIAN_CD_INFO = $(SOME_DEST)/$(EXTRANAME)debian-cd_info.tar.gz
-NETBOOT_DIR = $(SOME_DEST)/$(EXTRANAME)debian-installer
+NETBOOT_DIR = $(SOME_DEST)/$(EXTRANAME)$(NETBOOT_DI_DIR)
NETBOOT_TAR = $(SOME_DEST)/$(EXTRANAME)netboot.tar.gz
RAMDISK = $(SOME_DEST)/$(EXTRANAME)ramdisk.gz
MISC = $(foreach name,$(MISCNAME),$(SOME_DEST)/$(EXTRANAME)$(name))
--- debian-installer-20070308.orig/build/Makefile
+++ debian-installer-20070308/build/Makefile
@@ -639,9 +639,9 @@
# a directory full of files for netbooting
$(NETBOOT_DIR): $(NETBOOT_DIR_TARGETS) $(TEMP_BOOT_SCREENS) $(TEMP_NETBOOT_DIR)
- rm -rf $(SOME_DEST)/$(EXTRANAME)/debian-installer
- mkdir -p $(SOME_DEST)/$(EXTRANAME)/debian-installer
- cp -a $(TEMP_NETBOOT_DIR)/debian-installer/* $@
+ rm -rf $(SOME_DEST)/$(EXTRANAME)/$(NETBOOT_DI_DIR)
+ mkdir -p $(SOME_DEST)/$(EXTRANAME)/$(NETBOOT_DI_DIR)
+ cp -a $(TEMP_NETBOOT_DIR)/$(NETBOOT_DI_DIR)/* $@
$(foreach link,$(NETBOOT_DIR_LINKS), \
rm -f $@/../$(link); \
cp -a $(TEMP_NETBOOT_DIR)/$(link) $@/..; \
Reply to: