diff mbox

[v2,1/1] update package isolinux bootloader - simplify code

Message ID 1389745445-8884-1-git-send-email-jean.sorgemoel@laposte.net
State Superseded
Headers show

Commit Message

jean Jan. 15, 2014, 12:24 a.m. UTC
From: jean <jean.sorgemoel@laposte.net>


Signed-off-by: jean <jean.sorgemoel@laposte.net>
---
After Arnout's remark, (sorry, I read last month), I updated this module. 
Goal : use other method to generate iso (and I think it's work fine)
File : fs/isolinux/Config.in
1/ I suppress redundant comment
2/ Suppress menu and use conditional (replace 'depends on' by 'if/endif')
3/ Modify comment
4/ suppress option (keyboard, ...)
5/ replace 8 x space by tabulation
File : fs/isolinux/isolinux.mk
5/ suppress extension 'BR2_'
7/ use variable 'ISOLINUX_DIR'
8/ suppress keyboard option
9/ I can't use command '$(INSTALL) -D' beacause I don't define filenames (I keep old code)
10/ Hide command genisoimage (with option $@)

 fs/Config.in             |    2 +-
 fs/isolinux/Config.in    |  210 ++++++++++----------------------------------
 fs/isolinux/bootmsg.txt  |    4 +
 fs/isolinux/isolinux.cfg |    7 ++
 fs/isolinux/isolinux.mk  |  219 ++++++----------------------------------------
 5 files changed, 87 insertions(+), 355 deletions(-)
 create mode 100644 fs/isolinux/bootmsg.txt
 create mode 100644 fs/isolinux/isolinux.cfg

Comments

Thomas Petazzoni Jan. 28, 2014, 4:27 p.m. UTC | #1
Dear jean.sorgemoel@laposte.net,

On Wed, 15 Jan 2014 01:24:05 +0100, jean.sorgemoel@laposte.net wrote:
> From: jean <jean.sorgemoel@laposte.net>
> 
> 
> Signed-off-by: jean <jean.sorgemoel@laposte.net>

Please add a commit log with details, explaining what the patch is
doing.

> ---
> After Arnout's remark, (sorry, I read last month), I updated this module. 
> Goal : use other method to generate iso (and I think it's work fine)
> File : fs/isolinux/Config.in
> 1/ I suppress redundant comment
> 2/ Suppress menu and use conditional (replace 'depends on' by 'if/endif')
> 3/ Modify comment
> 4/ suppress option (keyboard, ...)
> 5/ replace 8 x space by tabulation
> File : fs/isolinux/isolinux.mk
> 5/ suppress extension 'BR2_'
> 7/ use variable 'ISOLINUX_DIR'
> 8/ suppress keyboard option
> 9/ I can't use command '$(INSTALL) -D' beacause I don't define filenames (I keep old code)
> 10/ Hide command genisoimage (with option $@)
> 
>  fs/Config.in             |    2 +-
>  fs/isolinux/Config.in    |  210 ++++++++++----------------------------------
>  fs/isolinux/bootmsg.txt  |    4 +
>  fs/isolinux/isolinux.cfg |    7 ++
>  fs/isolinux/isolinux.mk  |  219 ++++++----------------------------------------
>  5 files changed, 87 insertions(+), 355 deletions(-)
>  create mode 100644 fs/isolinux/bootmsg.txt
>  create mode 100644 fs/isolinux/isolinux.cfg

You did your patch incorrectly: what you're sending here are the
differences between your v1 and your v2. What we need is a single patch
that contains all of your changes.

You need to squash your v2 changes into the original patch, to make
only one patch that adds the isolinux stuff.

Thomas
Arnout Vandecappelle Jan. 29, 2014, 7:02 a.m. UTC | #2
On 28/01/14 17:27, Thomas Petazzoni wrote:
> Dear jean.sorgemoel@laposte.net,
>
> On Wed, 15 Jan 2014 01:24:05 +0100, jean.sorgemoel@laposte.net wrote:
>> From: jean <jean.sorgemoel@laposte.net>
>>
>>
>> Signed-off-by: jean <jean.sorgemoel@laposte.net>
>
> Please add a commit log with details, explaining what the patch is
> doing.
>
>> ---
>> After Arnout's remark, (sorry, I read last month), I updated this module.
>> Goal : use other method to generate iso (and I think it's work fine)
>> File : fs/isolinux/Config.in
>> 1/ I suppress redundant comment
>> 2/ Suppress menu and use conditional (replace 'depends on' by 'if/endif')
>> 3/ Modify comment
>> 4/ suppress option (keyboard, ...)
>> 5/ replace 8 x space by tabulation
>> File : fs/isolinux/isolinux.mk
>> 5/ suppress extension 'BR2_'
>> 7/ use variable 'ISOLINUX_DIR'
>> 8/ suppress keyboard option
>> 9/ I can't use command '$(INSTALL) -D' beacause I don't define filenames (I keep old code)
>> 10/ Hide command genisoimage (with option $@)
>>
>>   fs/Config.in             |    2 +-
>>   fs/isolinux/Config.in    |  210 ++++++++++----------------------------------
>>   fs/isolinux/bootmsg.txt  |    4 +
>>   fs/isolinux/isolinux.cfg |    7 ++
>>   fs/isolinux/isolinux.mk  |  219 ++++++----------------------------------------
>>   5 files changed, 87 insertions(+), 355 deletions(-)
>>   create mode 100644 fs/isolinux/bootmsg.txt
>>   create mode 100644 fs/isolinux/isolinux.cfg
>
> You did your patch incorrectly: what you're sending here are the
> differences between your v1 and your v2. What we need is a single patch
> that contains all of your changes.
>
> You need to squash your v2 changes into the original patch, to make
> only one patch that adds the isolinux stuff.

  Also, this version doesn't yet address one of the main comments that 
both Thomas and I have: you shouldn't create a new filesystem type, but 
instead you should modify the existing iso9660 support and add an option 
to it to use isolinux instead of grub.

  Regards,
  Arnout
diff mbox

Patch

diff --git a/fs/Config.in b/fs/Config.in
index 02294a9..dd526f8 100644
--- a/fs/Config.in
+++ b/fs/Config.in
@@ -6,11 +6,11 @@  source "fs/cramfs/Config.in"
 source "fs/ext2/Config.in"
 source "fs/initramfs/Config.in"
 source "fs/iso9660/Config.in"
+source "fs/isolinux/Config.in"
 source "fs/jffs2/Config.in"
 source "fs/romfs/Config.in"
 source "fs/squashfs/Config.in"
 source "fs/tar/Config.in"
 source "fs/ubifs/Config.in"
-source "fs/isolinux/Config.in"
 
 endmenu
diff --git a/fs/isolinux/Config.in b/fs/isolinux/Config.in
index 8abe409..aca54b4 100644
--- a/fs/isolinux/Config.in
+++ b/fs/isolinux/Config.in
@@ -1,182 +1,66 @@ 
-## Menu ISO image with syslinux
-menu "iso image (isolinux bootloader - with initramfs)"
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX
-	bool "iso image (isolinux bootloader)"
+config BR2_TARGET_ROOTFS_ISOLINUX
+	bool "isolinux"
 	depends on (BR2_i386 || BR2_x86_64)
 	depends on BR2_LINUX_KERNEL
 	select BR2_TARGET_ROOTFS_INITRAMFS
 	select BR2_TARGET_SYSLINUX
 	select BR2_TARGET_SYSLINUX_ISOLINUX
 	help
-		Build a bootable iso9660 image (with isolinux bootloader and initramfs)
-		You can launch this iso with :
-			qemu -boot d -cdrom rootfs.isolinux
+	  Build a bootable iso9660 image
+	    (with isolinux bootloader and initramfs)
+	  The image will be called rootfs.isolinux
+	  You can test this iso with :
+	    qemu -boot d -cdrom output/images/rootfs.isolinux
 
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_JOLIET
-        bool "create iso with Joliet format"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-              	Create iso image with Joliet format (long file)
+comment "isolinux needs a Linux kernel to be built"
+	depends on BR2_i386 || BR2_x86_64
+	depends on !BR2_LINUX_KERNEL
 
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_ROCK_RIDGE
-        bool "Generate Rock Ridge directory information"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-                Generate Rock Ridge directory information
+if BR2_TARGET_ROOTFS_ISOLINUX
 
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_MENU_LINUX
-        string "Name to start linux"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        default "buildroot"
-        help
-                define message see to select linux 
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_NAME
-        string "Name iso"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        default "buildroot iso"
-        help
-                cdrom name
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_INPUT_CHARSET
-        string "define parameter input charset"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-	default "iso8859-15"
-        help
-                define parameter input charset 
-		(see program genisoimage : genisoimage -input-charset help)
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_BOOT_MESSAGE
-	string "Message boot for isolinux"
-	depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-	default "Buildroot isolinux boot"
+config BR2_TARGET_ROOTFS_ISOLINUX_JOLIET
+	bool "Create iso with Joliet format"
 	help
-		define first message see in prompt boot
-		after that, you see all options
+	  Create iso image with Joliet format (long filenames)
 
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_BOOT_TIMEOUT
-	int "timeout"
-	depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        default "20"
+config BR2_TARGET_ROOTFS_ISOLINUX_ROCK_RIDGE
+	bool "Generate Rock Ridge directory information"
 	help
-		define timeout (second)
-		after this time, boot on default config
-
-config BR2_TARGET_ISO_ISOLINUX_TOOLS_HARDWARE_INFO
-	bool "add tools hardware info"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-		isolinux menu, you can see hardware info
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_TOOLS_REBOOT
-        bool "add isolinux option reboot"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-                isolinux menu, you can reboot
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_TOOLS_POWEROFF
-        bool "add isolinux option poweroff"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-                isolinux menu, you can power off
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_TOOLS_FIRSTDISKBOOT
-        bool "add isolinux option to boot on first disk"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-                isolinux menu, you can boot on disk
-
-## Keyboard menu
-menu "keyboard"
-depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-depends on BR2_PACKAGE_KBD
-
-## Choice default keyboard on boot (isolinux only)
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD
-        string
-choice
-	prompt "Default keyboard on isolinux boot"
-	default BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_US if BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD = "us"
-	default BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_FR if BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD = "fr"
-	default BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_FR_PC if BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD = "fr-pc"
-	default BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_DE if BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD = "de"
-	default BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_MANUAL if BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD = "manual"
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_US
-	bool "us"
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_FR
-	bool "fr"
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_FR_PC
-	bool "fr-pc"
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_DE
-	bool "de"
+	  Generate Rock Ridge directory information,
+	  which includes symbolic links, file mode, uid, gid, etc...
 
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_MANUAL
-	bool "manual"
-	depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_ACTIVATE
-
-endchoice
-## End choice default keyboard on boot (isolinux only)
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_US
-	bool "keyboard us"
-	depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-		activate option keyboard us (exist by default)
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_FR
-	bool "keyboard fr"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-                activate option keyboard fr
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_FR_PC
-	bool "keyboard fr-pc"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-                activate option keyboard fr_pc
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_DE
-	bool "keyboard de"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        help
-                activate option keyboard de
-
-
-menu "Manual configuration keyboard"
-
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_ACTIVATE
-	bool "Enable manual configuration"
-	depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
+config BR2_TARGET_ROOTFS_ISOLINUX_BOOT_MESSAGE
+	string "Boot message"
+	default "fs/isolinux/bootmsg.txt"
 	help
-		Activate manual keyboard configuration
+	  Filename is contain boot message
 
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_NAME
-        string "Name of keyboard"
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-        depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_ACTIVATE
-        default "unknown"
-        help
-                define name to select this keyboard in isolinux menu
+config BR2_TARGET_ROOTFS_ISOLINUX_CONFIG_FILE
+	string "Configuration file"
+	default "fs/isolinux/isolinux.cfg"
+	help
+	  isolinux configuration file
 
-config BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_SOURCE
-	string "File source to generate the keyboard map"
-	depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX
-	depends on BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_ACTIVATE
-        default "data/keymaps/i386/qwerty/us.map"
-        help
-                define map file to generate the keyboard configuration
-		root is kbd package 
-		example : data/keymaps/i386/qwerty/gr.map
+config BR2_TARGET_ROOTFS_ISOLINUX_NAME
+	string "Volume label"
+	default "buildroot"
+	help
+	  cdrom name
 
-endmenu
-## End manual configuration keyboard
+config BR2_TARGET_ROOTFS_ISOLINUX_INPUT_CHARSET
+	string "Define parameter input charset"
+	default "iso8859-15"
+	help
+	  define parameter input charset 
+	  (see program genisoimage : genisoimage -input-charset help)
 
-endmenu
-## End keyboard menu
+config BR2_TARGET_ROOTFS_ISOLINUX_EXTRA_FILES
+	string "Extra files copy on image"
+	default ""
+	help
+	  list of file (binary or other) copy directly on iso
+	  (separate by space, target directory 'extra')
+	  ex. :
+	    $(SYSLINUX_BUILDDIR)com32/hdt/hdt.c32
 
-endmenu
-## End Menu ISO image with syslinux
+endif # BR2_TARGET_ROOTFS_ISOLINUX
diff --git a/fs/isolinux/bootmsg.txt b/fs/isolinux/bootmsg.txt
new file mode 100644
index 0000000..4b9ba94
--- /dev/null
+++ b/fs/isolinux/bootmsg.txt
@@ -0,0 +1,4 @@ 
+Buildroot isolinux boot
+  buildroot) launch linux
+
+
diff --git a/fs/isolinux/isolinux.cfg b/fs/isolinux/isolinux.cfg
new file mode 100644
index 0000000..f2f2aa1
--- /dev/null
+++ b/fs/isolinux/isolinux.cfg
@@ -0,0 +1,7 @@ 
+display bootmsg.txt
+default buildroot
+timeout 20
+prompt 1
+LABEL buildroot
+  KERNEL bzImage
+
diff --git a/fs/isolinux/isolinux.mk b/fs/isolinux/isolinux.mk
index 0d9464d..848d3bb 100644
--- a/fs/isolinux/isolinux.mk
+++ b/fs/isolinux/isolinux.mk
@@ -4,67 +4,43 @@ 
 #
 ################################################################################
 
-BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_BOOT=boot
-BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_ISOLINUX=isolinux
-BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS=tools
-BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD=keyboard
+ISOLINUX_DIR = $(BUILD_DIR)/isolinux
+ISOLINUX_DIR_EXTRA = $(ISOLINUX_DIR)/extra
 
-BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR = $(BUILD_DIR)/isolinux
-BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_BOOT = $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)/$(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_BOOT)
-BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_ISOLINUX = $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)/$(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_ISOLINUX)
-BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_TOOLS = $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)/$(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)
-BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_KEYBOARD = $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)/$(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)
+QUOTE = "
+ISOLINUX_LIST_EXTRA = $(subst $(QUOTE),,$(BR2_TARGET_ROOTFS_ISOLINUX_EXTRA_FILES))
 
-BR2_TARGET_ISO_ISOLINUX_BOOT_MESSAGE := $(call qstrip,$(BR2_TARGET_ROOTFS_ISO_ISOLINUX_BOOT_MESSAGE))
-BR2_TARGET_ISO_ISOLINUX_BOOT_TIMEOUT := $(call qstrip,$(BR2_TARGET_ROOTFS_ISO_ISOLINUX_BOOT_TIMEOUT))
-
-BR2_TARGET_ISO_ISOLINUX_KEYBOARD_US = $(KBD_BUILDDIR)data/keymaps/i386/qwerty/us.map
-
-BR2_TARGET_ISO_ISOLINUX_CONFIG = ""
-BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG = ""
-
-define copy_files_isolinux_image_tools
-	cp $(1) $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_TOOLS);
-endef
-
-define copy_files_isolinux_image_keyboard
-	$(SYSLINUX_BUILDDIR)utils/keytab-lilo \
-	        $(BR2_TARGET_ISO_ISOLINUX_KEYBOARD_US) \
-        	$1 \
-	         > $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_KEYBOARD)/$(subst -,_,$(notdir $(basename $1))).ktl;
+define copy_files_isolinux_image_extra
+	cp $(1) $(ISOLINUX_DIR_EXTRA);
 endef
 
 $(BINARIES_DIR)/rootfs.isolinux: host-cdrkit linux syslinux rootfs-initramfs
 	@$(call MESSAGE,"Generating root filesystem image rootfs.isolinux")
-	@mkdir -p $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)
-	@mkdir -p $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_BOOT)
-	@mkdir -p $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_ISOLINUX)
-	@mkdir -p $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_TOOLS)
-	@mkdir -p $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR_KEYBOARD)
+	@mkdir -p $(ISOLINUX_DIR)
+	@mkdir -p $(ISOLINUX_DIR_EXTRA)
+
+	@cp $(BR2_TARGET_ROOTFS_ISOLINUX_BOOT_MESSAGE) $(ISOLINUX_DIR)
 
-	@echo -e $(BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG) > $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)/bootmsg.txt
+	@cp $(BINARIES_DIR)/isolinux.bin $(ISOLINUX_DIR)
+	@cp $(LINUX_IMAGE_PATH) $(ISOLINUX_DIR)
 
-	@cp $(BINARIES_DIR)/isolinux.bin $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)/$(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_ISOLINUX)/
-	@cp $(LINUX_IMAGE_PATH) $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)/$(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_BOOT)/
+	@cp $(BR2_TARGET_ROOTFS_ISOLINUX_CONFIG_FILE) $(ISOLINUX_DIR)/isolinux.cfg
 
-	@echo -e $(BR2_TARGET_ISO_ISOLINUX_CONFIG) > $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)/isolinux.cfg
-	
-	@$(foreach file, $(BR2_TARGET_ISO_ISOLINUX_LIST_TOOLS), $(call copy_files_isolinux_image_tools, $(file) ) )
-	@$(foreach file, $(BR2_TARGET_ISO_ISOLINUX_LIST_KEYBOARD), $(call copy_files_isolinux_image_keyboard, $(file) ) )
+	@$(foreach file, $(ISOLINUX_LIST_EXTRA), $(call copy_files_isolinux_image_extra, $(file) ) )
 
-	$(HOST_DIR)/usr/bin/genisoimage \
-		$(BR2_TARGET_ISO_ISOLINUX_GENISOIMAGE_OPTION) \
+	@$(HOST_DIR)/usr/bin/genisoimage \
+		$(ISOLINUX_GENISOIMAGE_OPTION) \
 		-o $(BINARIES_DIR)/rootfs.isolinux \
-		-b $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_ISOLINUX)/isolinux.bin \
+		-b isolinux.bin \
 		-no-emul-boot \
-		-c $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_ISOLINUX)/boot.cat \
+		-c boot.cat \
 		-boot-load-size 4 \
 		-boot-info-table \
-		-input-charset $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_INPUT_CHARSET) \
-		-V $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_NAME) \
-		$(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)
+		-input-charset $(BR2_TARGET_ROOTFS_ISOLINUX_INPUT_CHARSET) \
+		-V $(BR2_TARGET_ROOTFS_ISOLINUX_NAME) \
+		$(ISOLINUX_DIR)
 
-	-@rm -rf $(BR2_TARGET_ISO_ISOLINUX_BUILDIMAGE_DIR)
+	-@rm -rf $(ISOLINUX_DIR)
 
 rootfs-isolinux: $(BINARIES_DIR)/rootfs.isolinux
 
@@ -74,153 +50,14 @@  rootfs-isolinux: $(BINARIES_DIR)/rootfs.isolinux
 #
 ################################################################################
 
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX),y)
-TARGETS+=rootfs-isolinux
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "display bootmsg.txt\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "default $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_MENU_LINUX)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "timeout $(BR2_TARGET_ISO_ISOLINUX_BOOT_TIMEOUT)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "prompt 1\\n"
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_JOLIET),y)
-BR2_TARGET_ISO_ISOLINUX_GENISOIMAGE_OPTION += -J
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_ROCK_RIDGE),y)
-BR2_TARGET_ISO_ISOLINUX_GENISOIMAGE_OPTION += -R
-endif
-
-# By default it us keyboard
-#ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_US),y)
-#BR2_TARGET_ISO_ISOLINUX_CONFIG += "kbdmap $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/us.ktl"
-#BR2_TARGET_ISO_ISOLINUX_KEYBOARD_US_ACTIVATED=y
-#endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_FR),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "kbdmap $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/fr.ktl\\n"
-BR2_TARGET_ISO_ISOLINUX_KEYBOARD_FR_ACTIVATED=y
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_FR_PC),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "kbdmap $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/fr_pc.ktl\\n"
-BR2_TARGET_ISO_ISOLINUX_KEYBOARD_FR_PC_ACTIVATED=y
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_DESIRED_KEYBOARD_DE),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "kbdmap $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/de.ktl\\n"
-BR2_TARGET_ISO_ISOLINUX_KEYBOARD_DE_ACTIVATED=y
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_MENU_LINUX)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  KERNEL $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_BOOT)/bzImage\\n"
-BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG += "$(BR2_TARGET_ISO_ISOLINUX_BOOT_MESSAGE)\n"
-BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG += "  $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_MENU_LINUX)) launch linux\n"
-endif
-
-ifeq ($(BR2_TARGET_ISO_ISOLINUX_TOOLS_HARDWARE_INFO),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL hdt\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL Hardware Info\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  COM32 $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)/hdt.c32\\n"
-BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG += "  hdt) hardware info\n"
-BR2_TARGET_ISO_ISOLINUX_LIST_TOOLS += $(SYSLINUX_BUILDDIR)com32/hdt/hdt.c32
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_TOOLS_REBOOT),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL reboot\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL Reboot\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  KERNEL $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)/reboot.c32\\n"
-BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG += "  reboot) reboot server\n"
-BR2_TARGET_ISO_ISOLINUX_LIST_TOOLS += $(SYSLINUX_BUILDDIR)com32/modules/reboot.c32
+ifeq ($(BR2_TARGET_ROOTFS_ISOLINUX),y)
+TARGETS += rootfs-isolinux
 endif
 
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_TOOLS_POWEROFF),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL poweroff\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL Poweroff\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  KERNEL $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)/poweroff.com\\n"
-BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG += "  poweroff) poweroff server\n"
-BR2_TARGET_ISO_ISOLINUX_LIST_TOOLS += $(SYSLINUX_BUILDDIR)modules/poweroff.com
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_TOOLS_FIRSTDISKBOOT),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL hd\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL Boot from first hard disk\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  localboot 0x80\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  append -\\n"
-BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG += "  hd) boot on first hard disk\n"
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_US),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL us\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL keyboard US (qwerty)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  KERNEL $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)/kbdmap.c32\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  APPEND $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/us.ktl\\n"
-BR2_TARGET_ISO_BR2_TARGET_KEYBOARD_OPTION += us
-BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_ACTIVATED=y
-BR2_TARGET_ISO_ISOLINUX_KEYBOARD_US_ACTIVATED=y
-endif
-
-ifeq ($(BR2_TARGET_ISO_ISOLINUX_KEYBOARD_US_ACTIVATED),y)
-BR2_TARGET_ISO_ISOLINUX_LIST_KEYBOARD +=  $(KBD_BUILDDIR)data/keymaps/i386/qwerty/us.map
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_FR),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL fr\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL keyboard FR (azerty)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  KERNEL $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)/kbdmap.c32\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  APPEND $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/fr.ktl\\n"
-BR2_TARGET_ISO_BR2_TARGET_KEYBOARD_OPTION += fr
-BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_ACTIVATED=y
-BR2_TARGET_ISO_ISOLINUX_KEYBOARD_FR_ACTIVATED=y
-endif
-
-ifeq ($(BR2_TARGET_ISO_ISOLINUX_KEYBOARD_FR_ACTIVATED),y)
-BR2_TARGET_ISO_ISOLINUX_LIST_KEYBOARD +=  $(KBD_BUILDDIR)data/keymaps/i386/azerty/fr.map
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_FR_PC),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL frpc\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL keyboard FR-PC (azerty)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  KERNEL $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)/kbdmap.c32\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  APPEND $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/fr_pc.ktl\\n"
-BR2_TARGET_ISO_BR2_TARGET_KEYBOARD_OPTION += frpc
-BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_ACTIVATED=y
-BR2_TARGET_ISO_ISOLINUX_KEYBOARD_FR_PC_ACTIVATED=y
-endif
-
-ifeq ($(BR2_TARGET_ISO_ISOLINUX_KEYBOARD_FR_PC_ACTIVATED),y)
-BR2_TARGET_ISO_ISOLINUX_LIST_KEYBOARD +=  $(KBD_BUILDDIR)data/keymaps/i386/azerty/fr-pc.map
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_DE),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL de\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL keyboard DE (qwertz)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  KERNEL $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)/kbdmap.c32\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  APPEND $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/de.ktl\\n"
-BR2_TARGET_ISO_BR2_TARGET_KEYBOARD_OPTION += de
-BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_ACTIVATED=y
-BR2_TARGET_ISO_ISOLINUX_KEYBOARD_DE_ACTIVATED=y
-endif
-
-ifeq ($(BR2_TARGET_ISO_ISOLINUX_KEYBOARD_DE_ACTIVATED),y)
-BR2_TARGET_ISO_ISOLINUX_LIST_KEYBOARD +=  $(KBD_BUILDDIR)data/keymaps/i386/qwertz/de.map
-endif
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_ACTIVATE),y)
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "LABEL $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_NAME)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  MENU LABEL keyboard $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_NAME)\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  KERNEL $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_TOOLS)/kbdmap.c32\\n"
-BR2_TARGET_ISO_ISOLINUX_CONFIG += "  APPEND $(BR2_TARGET_ISO_ISOLINUX_ROOT_DIR_KEYBOARD)/$(subst -,_,$(notdir $(basename $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_SOURCE)))).ktl\\n"
-BR2_TARGET_ISO_ISOLINUX_LIST_KEYBOARD +=  $(KBD_BUILDDIR)$(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_SOURCE)
-BR2_TARGET_ISO_BR2_TARGET_KEYBOARD_OPTION += $(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_MANUAL_NAME)
-BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_ACTIVATED=y
-endif
-
-
-ifeq ($(BR2_TARGET_ROOTFS_ISO_ISOLINUX_KEYBOARD_ACTIVATED),y)
-BR2_TARGET_ISO_ISOLINUX_LIST_TOOLS += $(SYSLINUX_BUILDDIR)com32/modules/kbdmap.c32
+ifeq ($(BR2_TARGET_ROOTFS_ISOLINUX_JOLIET),y)
+ISOLINUX_GENISOIMAGE_OPTION += -J
 endif
 
-ifneq ($(BR2_TARGET_ISO_BR2_TARGET_KEYBOARD_OPTION),)
-BR2_TARGET_ISO_BR2_TARGET_ISO_ISOLINUX_BOOT_MSG += "  $(BR2_TARGET_ISO_BR2_TARGET_KEYBOARD_OPTION)) keyboard option"
+ifeq ($(BR2_TARGET_ROOTFS_ISOLINUX_ROCK_RIDGE),y)
+ISOLINUX_GENISOIMAGE_OPTION += -R
 endif