[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: