Re: [OE-core] [PATCH 2/2] wic: Allow to use a custom config for bootloaders
On Thu, Nov 26, 2015 at 01:23:50PM -0600, Mariano Lopez wrote: > > > On 11/26/2015 08:48 AM, Mariano Lopez wrote: > > > > > >On 11/24/2015 09:43 AM, Ed Bartosh wrote: > >>On Mon, Nov 23, 2015 at 04:13:15PM -0600, Mariano Lopez wrote: > >>> > >>>On 11/23/2015 11:37 AM, Ed Bartosh wrote: > Hi Mariano, > > Thank you for the patchset! > > Would it be better to put content of configuration file into .wks > instead of just referring to it? > >>>If the configuration is simple I agree with you; however if the > >>>configuration have scripts I think it's better to have separated > >>>file. The file can growth and would be a real mess inside a wks > >>>file. > >>> > >>What bothers me here is that reference to the external entity > >>(config file in this case) which > >>may or may not exist. This makes wic more fragile than it is now. > >> > >>Can we put bootloader configs to some predefined place, e.g. to the same > >>directory where .wks is? > > > >I see your point now. I'll change the code to have the > >configuration in the wks file. > > I was checking in the kickstart code and the parser is a state > machine that reads line by line, so a multi line bootloader config > file is not currently and option. I was about to modify the code > when I saw the comment for this class: > > "Methods that don't need to do anything may just pass. However, > _stateMachine should never be overridden." > > So, in order to have the config file inside the wks file we would > need to hack in kickstart code; I would like to avoid that. What do > you think? > I agree with you. Let's not touch kickstart code. Let's put bootloader config at the same location where .wks is then. It's also not the best solution though as it can be inconvenient for the user, but it's better than pointing to the file which might not exist. -- Regards, Ed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] wic: Allow to use a custom config for bootloaders
On 11/24/2015 09:43 AM, Ed Bartosh wrote: On Mon, Nov 23, 2015 at 04:13:15PM -0600, Mariano Lopez wrote: On 11/23/2015 11:37 AM, Ed Bartosh wrote: Hi Mariano, Thank you for the patchset! Would it be better to put content of configuration file into .wks instead of just referring to it? If the configuration is simple I agree with you; however if the configuration have scripts I think it's better to have separated file. The file can growth and would be a real mess inside a wks file. What bothers me here is that reference to the external entity (config file in this case) which may or may not exist. This makes wic more fragile than it is now. Can we put bootloader configs to some predefined place, e.g. to the same directory where .wks is? I see your point now. I'll change the code to have the configuration in the wks file. It would be also nice to have this code covered by oe-selftest. Yes, I plan do create a test and update the documentation once it is integrated in master. I'd prefer to have tests in the same patchset with the code. It would help to understand better how to handle external configs. Can you do that? I'll work on that and send the series again. Regards, Ed On Wed, Nov 18, 2015 at 08:25:54AM +, mariano.lo...@linux.intel.com wrote: From: Mariano LopezThis change will allow to use a user defined file as the configuration for the bootloaders (grub, gummiboot, syslinux). The config file is defined in the wks file with the "configfile" option in the bootloader line. [YOCTO #8003] Signed-off-by: Mariano Lopez --- scripts/lib/wic/plugins/source/bootimg-efi.py| 66 scripts/lib/wic/plugins/source/bootimg-pcbios.py | 66 ++-- 2 files changed, 83 insertions(+), 49 deletions(-) diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index fa63c6a..8fc879e 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -45,22 +45,33 @@ class BootimgEFIPlugin(SourcePlugin): """ Create loader-specific (grub-efi) config """ -options = creator.ks.handler.bootloader.appendLine - -grubefi_conf = "" -grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n" -grubefi_conf += "default=boot\n" -timeout = kickstart.get_timeout(creator.ks) -if not timeout: -timeout = 0 -grubefi_conf += "timeout=%s\n" % timeout -grubefi_conf += "menuentry 'boot'{\n" - -kernel = "/bzImage" - -grubefi_conf += "linux %s root=%s rootwait %s\n" \ -% (kernel, creator.rootdev, options) -grubefi_conf += "}\n" +configfile = kickstart.get_bootloader_file(creator.ks) + +if configfile and os.path.exists(configfile): +# Use a custom configuration file for grub +msger.info("Using custom configuration file " +"%s for grub.cfg" % configfile) +user_conf = open(configfile, "r") +grubefi_conf = user_conf.read() +user_conf.close() +else: +# Create grub configuration using parameters from wks file +options = creator.ks.handler.bootloader.appendLine + +grubefi_conf = "" +grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n" +grubefi_conf += "default=boot\n" +timeout = kickstart.get_timeout(creator.ks) +if not timeout: +timeout = 0 +grubefi_conf += "timeout=%s\n" % timeout +grubefi_conf += "menuentry 'boot'{\n" + +kernel = "/bzImage" + +grubefi_conf += "linux %s root=%s rootwait %s\n" \ +% (kernel, creator.rootdev, options) +grubefi_conf += "}\n" msger.debug("Writing grubefi config %s/hdd/boot/EFI/BOOT/grub.cfg" \ % cr_workdir) @@ -95,12 +106,23 @@ class BootimgEFIPlugin(SourcePlugin): cfg.write(loader_conf) cfg.close() -kernel = "/bzImage" - -boot_conf = "" -boot_conf += "title boot\n" -boot_conf += "linux %s\n" % kernel -boot_conf += "options LABEL=Boot root=%s %s\n" % (creator.rootdev, options) +configfile = kickstart.get_bootloader_file(creator.ks) + +if configfile and os.path.exists(configfile): +# Use a custom configuration file for gummiboot +msger.info("Using custom configuration file " +"%s for gummiboot's boot.conf" % configfile) +user_conf = open(configfile, "r") +boot_conf = user_conf.read() +user_conf.close() +else: +# Create gummiboot configuration using parameters from wks file +kernel = "/bzImage" +
Re: [OE-core] [PATCH 2/2] wic: Allow to use a custom config for bootloaders
On 11/26/2015 08:48 AM, Mariano Lopez wrote: On 11/24/2015 09:43 AM, Ed Bartosh wrote: On Mon, Nov 23, 2015 at 04:13:15PM -0600, Mariano Lopez wrote: On 11/23/2015 11:37 AM, Ed Bartosh wrote: Hi Mariano, Thank you for the patchset! Would it be better to put content of configuration file into .wks instead of just referring to it? If the configuration is simple I agree with you; however if the configuration have scripts I think it's better to have separated file. The file can growth and would be a real mess inside a wks file. What bothers me here is that reference to the external entity (config file in this case) which may or may not exist. This makes wic more fragile than it is now. Can we put bootloader configs to some predefined place, e.g. to the same directory where .wks is? I see your point now. I'll change the code to have the configuration in the wks file. I was checking in the kickstart code and the parser is a state machine that reads line by line, so a multi line bootloader config file is not currently and option. I was about to modify the code when I saw the comment for this class: "Methods that don't need to do anything may just pass. However, _stateMachine should never be overridden." So, in order to have the config file inside the wks file we would need to hack in kickstart code; I would like to avoid that. What do you think? It would be also nice to have this code covered by oe-selftest. Yes, I plan do create a test and update the documentation once it is integrated in master. I'd prefer to have tests in the same patchset with the code. It would help to understand better how to handle external configs. Can you do that? I'll work on that and send the series again. Regards, Ed On Wed, Nov 18, 2015 at 08:25:54AM +, mariano.lo...@linux.intel.com wrote: From: Mariano LopezThis change will allow to use a user defined file as the configuration for the bootloaders (grub, gummiboot, syslinux). The config file is defined in the wks file with the "configfile" option in the bootloader line. [YOCTO #8003] Signed-off-by: Mariano Lopez --- scripts/lib/wic/plugins/source/bootimg-efi.py| 66 scripts/lib/wic/plugins/source/bootimg-pcbios.py | 66 ++-- 2 files changed, 83 insertions(+), 49 deletions(-) diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index fa63c6a..8fc879e 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -45,22 +45,33 @@ class BootimgEFIPlugin(SourcePlugin): """ Create loader-specific (grub-efi) config """ -options = creator.ks.handler.bootloader.appendLine - -grubefi_conf = "" -grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n" -grubefi_conf += "default=boot\n" -timeout = kickstart.get_timeout(creator.ks) -if not timeout: -timeout = 0 -grubefi_conf += "timeout=%s\n" % timeout -grubefi_conf += "menuentry 'boot'{\n" - -kernel = "/bzImage" - -grubefi_conf += "linux %s root=%s rootwait %s\n" \ -% (kernel, creator.rootdev, options) -grubefi_conf += "}\n" +configfile = kickstart.get_bootloader_file(creator.ks) + +if configfile and os.path.exists(configfile): +# Use a custom configuration file for grub +msger.info("Using custom configuration file " +"%s for grub.cfg" % configfile) +user_conf = open(configfile, "r") +grubefi_conf = user_conf.read() +user_conf.close() +else: +# Create grub configuration using parameters from wks file +options = creator.ks.handler.bootloader.appendLine + +grubefi_conf = "" +grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n" +grubefi_conf += "default=boot\n" +timeout = kickstart.get_timeout(creator.ks) +if not timeout: +timeout = 0 +grubefi_conf += "timeout=%s\n" % timeout +grubefi_conf += "menuentry 'boot'{\n" + +kernel = "/bzImage" + +grubefi_conf += "linux %s root=%s rootwait %s\n" \ +% (kernel, creator.rootdev, options) +grubefi_conf += "}\n" msger.debug("Writing grubefi config %s/hdd/boot/EFI/BOOT/grub.cfg" \ % cr_workdir) @@ -95,12 +106,23 @@ class BootimgEFIPlugin(SourcePlugin): cfg.write(loader_conf) cfg.close() -kernel = "/bzImage" - -boot_conf = "" -boot_conf += "title boot\n" -boot_conf += "linux %s\n" % kernel -boot_conf += "options LABEL=Boot root=%s %s\n" % (creator.rootdev,
Re: [OE-core] [PATCH 2/2] wic: Allow to use a custom config for bootloaders
On Mon, Nov 23, 2015 at 04:13:15PM -0600, Mariano Lopez wrote: > > > On 11/23/2015 11:37 AM, Ed Bartosh wrote: > >Hi Mariano, > > > >Thank you for the patchset! > > > >Would it be better to put content of configuration file into .wks > >instead of just referring to it? > > If the configuration is simple I agree with you; however if the > configuration have scripts I think it's better to have separated > file. The file can growth and would be a real mess inside a wks > file. > What bothers me here is that reference to the external entity (config file in this case) which may or may not exist. This makes wic more fragile than it is now. Can we put bootloader configs to some predefined place, e.g. to the same directory where .wks is? > > > >It would be also nice to have this code covered by oe-selftest. > > Yes, I plan do create a test and update the documentation once it > is integrated in master. > I'd prefer to have tests in the same patchset with the code. It would help to understand better how to handle external configs. Can you do that? Regards, Ed > > > >On Wed, Nov 18, 2015 at 08:25:54AM +, mariano.lo...@linux.intel.com > >wrote: > >>From: Mariano Lopez> >> > >>This change will allow to use a user defined file as the > >>configuration for the bootloaders (grub, gummiboot, syslinux). > >> > >>The config file is defined in the wks file with the "configfile" > >>option in the bootloader line. > >> > >>[YOCTO #8003] > >> > >>Signed-off-by: Mariano Lopez > >>--- > >> scripts/lib/wic/plugins/source/bootimg-efi.py| 66 > >> > >> scripts/lib/wic/plugins/source/bootimg-pcbios.py | 66 > >> ++-- > >> 2 files changed, 83 insertions(+), 49 deletions(-) > >> > >>diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py > >>b/scripts/lib/wic/plugins/source/bootimg-efi.py > >>index fa63c6a..8fc879e 100644 > >>--- a/scripts/lib/wic/plugins/source/bootimg-efi.py > >>+++ b/scripts/lib/wic/plugins/source/bootimg-efi.py > >>@@ -45,22 +45,33 @@ class BootimgEFIPlugin(SourcePlugin): > >> """ > >> Create loader-specific (grub-efi) config > >> """ > >>-options = creator.ks.handler.bootloader.appendLine > >>- > >>-grubefi_conf = "" > >>-grubefi_conf += "serial --unit=0 --speed=115200 --word=8 > >>--parity=no --stop=1\n" > >>-grubefi_conf += "default=boot\n" > >>-timeout = kickstart.get_timeout(creator.ks) > >>-if not timeout: > >>-timeout = 0 > >>-grubefi_conf += "timeout=%s\n" % timeout > >>-grubefi_conf += "menuentry 'boot'{\n" > >>- > >>-kernel = "/bzImage" > >>- > >>-grubefi_conf += "linux %s root=%s rootwait %s\n" \ > >>-% (kernel, creator.rootdev, options) > >>-grubefi_conf += "}\n" > >>+configfile = kickstart.get_bootloader_file(creator.ks) > >>+ > >>+if configfile and os.path.exists(configfile): > >>+# Use a custom configuration file for grub > >>+msger.info("Using custom configuration file " > >>+"%s for grub.cfg" % configfile) > >>+user_conf = open(configfile, "r") > >>+grubefi_conf = user_conf.read() > >>+user_conf.close() > >>+else: > >>+# Create grub configuration using parameters from wks file > >>+options = creator.ks.handler.bootloader.appendLine > >>+ > >>+grubefi_conf = "" > >>+grubefi_conf += "serial --unit=0 --speed=115200 --word=8 > >>--parity=no --stop=1\n" > >>+grubefi_conf += "default=boot\n" > >>+timeout = kickstart.get_timeout(creator.ks) > >>+if not timeout: > >>+timeout = 0 > >>+grubefi_conf += "timeout=%s\n" % timeout > >>+grubefi_conf += "menuentry 'boot'{\n" > >>+ > >>+kernel = "/bzImage" > >>+ > >>+grubefi_conf += "linux %s root=%s rootwait %s\n" \ > >>+% (kernel, creator.rootdev, options) > >>+grubefi_conf += "}\n" > >> msger.debug("Writing grubefi config > >> %s/hdd/boot/EFI/BOOT/grub.cfg" \ > >> % cr_workdir) > >>@@ -95,12 +106,23 @@ class BootimgEFIPlugin(SourcePlugin): > >> cfg.write(loader_conf) > >> cfg.close() > >>-kernel = "/bzImage" > >>- > >>-boot_conf = "" > >>-boot_conf += "title boot\n" > >>-boot_conf += "linux %s\n" % kernel > >>-boot_conf += "options LABEL=Boot root=%s %s\n" % (creator.rootdev, > >>options) > >>+configfile = kickstart.get_bootloader_file(creator.ks) > >>+ > >>+if configfile and os.path.exists(configfile): > >>+# Use a custom configuration file for gummiboot > >>+msger.info("Using custom configuration file " > >>+"%s for gummiboot's boot.conf" % configfile) > >>+
Re: [OE-core] [PATCH 2/2] wic: Allow to use a custom config for bootloaders
On 11/23/2015 11:37 AM, Ed Bartosh wrote: Hi Mariano, Thank you for the patchset! Would it be better to put content of configuration file into .wks instead of just referring to it? If the configuration is simple I agree with you; however if the configuration have scripts I think it's better to have separated file. The file can growth and would be a real mess inside a wks file. It would be also nice to have this code covered by oe-selftest. Yes, I plan do create a test and update the documentation once it is integrated in master. Regards, Ed On Wed, Nov 18, 2015 at 08:25:54AM +, mariano.lo...@linux.intel.com wrote: From: Mariano LopezThis change will allow to use a user defined file as the configuration for the bootloaders (grub, gummiboot, syslinux). The config file is defined in the wks file with the "configfile" option in the bootloader line. [YOCTO #8003] Signed-off-by: Mariano Lopez --- scripts/lib/wic/plugins/source/bootimg-efi.py| 66 scripts/lib/wic/plugins/source/bootimg-pcbios.py | 66 ++-- 2 files changed, 83 insertions(+), 49 deletions(-) diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index fa63c6a..8fc879e 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -45,22 +45,33 @@ class BootimgEFIPlugin(SourcePlugin): """ Create loader-specific (grub-efi) config """ -options = creator.ks.handler.bootloader.appendLine - -grubefi_conf = "" -grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n" -grubefi_conf += "default=boot\n" -timeout = kickstart.get_timeout(creator.ks) -if not timeout: -timeout = 0 -grubefi_conf += "timeout=%s\n" % timeout -grubefi_conf += "menuentry 'boot'{\n" - -kernel = "/bzImage" - -grubefi_conf += "linux %s root=%s rootwait %s\n" \ -% (kernel, creator.rootdev, options) -grubefi_conf += "}\n" +configfile = kickstart.get_bootloader_file(creator.ks) + +if configfile and os.path.exists(configfile): +# Use a custom configuration file for grub +msger.info("Using custom configuration file " +"%s for grub.cfg" % configfile) +user_conf = open(configfile, "r") +grubefi_conf = user_conf.read() +user_conf.close() +else: +# Create grub configuration using parameters from wks file +options = creator.ks.handler.bootloader.appendLine + +grubefi_conf = "" +grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n" +grubefi_conf += "default=boot\n" +timeout = kickstart.get_timeout(creator.ks) +if not timeout: +timeout = 0 +grubefi_conf += "timeout=%s\n" % timeout +grubefi_conf += "menuentry 'boot'{\n" + +kernel = "/bzImage" + +grubefi_conf += "linux %s root=%s rootwait %s\n" \ +% (kernel, creator.rootdev, options) +grubefi_conf += "}\n" msger.debug("Writing grubefi config %s/hdd/boot/EFI/BOOT/grub.cfg" \ % cr_workdir) @@ -95,12 +106,23 @@ class BootimgEFIPlugin(SourcePlugin): cfg.write(loader_conf) cfg.close() -kernel = "/bzImage" - -boot_conf = "" -boot_conf += "title boot\n" -boot_conf += "linux %s\n" % kernel -boot_conf += "options LABEL=Boot root=%s %s\n" % (creator.rootdev, options) +configfile = kickstart.get_bootloader_file(creator.ks) + +if configfile and os.path.exists(configfile): +# Use a custom configuration file for gummiboot +msger.info("Using custom configuration file " +"%s for gummiboot's boot.conf" % configfile) +user_conf = open(configfile, "r") +boot_conf = user_conf.read() +user_conf.close() +else: +# Create gummiboot configuration using parameters from wks file +kernel = "/bzImage" + +boot_conf = "" +boot_conf += "title boot\n" +boot_conf += "linux %s\n" % kernel +boot_conf += "options LABEL=Boot root=%s %s\n" % (creator.rootdev, options) msger.debug("Writing gummiboot config %s/hdd/boot/loader/entries/boot.conf" \ % cr_workdir) diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/scripts/lib/wic/plugins/source/bootimg-pcbios.py index 96ed54d..9e21572 100644 --- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py @@ -83,34 +83,46 @@ class
[OE-core] [PATCH 2/2] wic: Allow to use a custom config for bootloaders
From: Mariano LopezThis change will allow to use a user defined file as the configuration for the bootloaders (grub, gummiboot, syslinux). The config file is defined in the wks file with the "configfile" option in the bootloader line. [YOCTO #8003] Signed-off-by: Mariano Lopez --- scripts/lib/wic/plugins/source/bootimg-efi.py| 66 scripts/lib/wic/plugins/source/bootimg-pcbios.py | 66 ++-- 2 files changed, 83 insertions(+), 49 deletions(-) diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index fa63c6a..8fc879e 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -45,22 +45,33 @@ class BootimgEFIPlugin(SourcePlugin): """ Create loader-specific (grub-efi) config """ -options = creator.ks.handler.bootloader.appendLine - -grubefi_conf = "" -grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n" -grubefi_conf += "default=boot\n" -timeout = kickstart.get_timeout(creator.ks) -if not timeout: -timeout = 0 -grubefi_conf += "timeout=%s\n" % timeout -grubefi_conf += "menuentry 'boot'{\n" - -kernel = "/bzImage" - -grubefi_conf += "linux %s root=%s rootwait %s\n" \ -% (kernel, creator.rootdev, options) -grubefi_conf += "}\n" +configfile = kickstart.get_bootloader_file(creator.ks) + +if configfile and os.path.exists(configfile): +# Use a custom configuration file for grub +msger.info("Using custom configuration file " +"%s for grub.cfg" % configfile) +user_conf = open(configfile, "r") +grubefi_conf = user_conf.read() +user_conf.close() +else: +# Create grub configuration using parameters from wks file +options = creator.ks.handler.bootloader.appendLine + +grubefi_conf = "" +grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n" +grubefi_conf += "default=boot\n" +timeout = kickstart.get_timeout(creator.ks) +if not timeout: +timeout = 0 +grubefi_conf += "timeout=%s\n" % timeout +grubefi_conf += "menuentry 'boot'{\n" + +kernel = "/bzImage" + +grubefi_conf += "linux %s root=%s rootwait %s\n" \ +% (kernel, creator.rootdev, options) +grubefi_conf += "}\n" msger.debug("Writing grubefi config %s/hdd/boot/EFI/BOOT/grub.cfg" \ % cr_workdir) @@ -95,12 +106,23 @@ class BootimgEFIPlugin(SourcePlugin): cfg.write(loader_conf) cfg.close() -kernel = "/bzImage" - -boot_conf = "" -boot_conf += "title boot\n" -boot_conf += "linux %s\n" % kernel -boot_conf += "options LABEL=Boot root=%s %s\n" % (creator.rootdev, options) +configfile = kickstart.get_bootloader_file(creator.ks) + +if configfile and os.path.exists(configfile): +# Use a custom configuration file for gummiboot +msger.info("Using custom configuration file " +"%s for gummiboot's boot.conf" % configfile) +user_conf = open(configfile, "r") +boot_conf = user_conf.read() +user_conf.close() +else: +# Create gummiboot configuration using parameters from wks file +kernel = "/bzImage" + +boot_conf = "" +boot_conf += "title boot\n" +boot_conf += "linux %s\n" % kernel +boot_conf += "options LABEL=Boot root=%s %s\n" % (creator.rootdev, options) msger.debug("Writing gummiboot config %s/hdd/boot/loader/entries/boot.conf" \ % cr_workdir) diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/scripts/lib/wic/plugins/source/bootimg-pcbios.py index 96ed54d..9e21572 100644 --- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py @@ -83,34 +83,46 @@ class BootimgPcbiosPlugin(SourcePlugin): install_cmd = "install -d %s" % hdddir exec_cmd(install_cmd) -splash = os.path.join(cr_workdir, "/hdd/boot/splash.jpg") -if os.path.exists(splash): -splashline = "menu background splash.jpg" +configfile = kickstart.get_bootloader_file(creator.ks) + +if configfile and os.path.exists(configfile): +# Use a custom configuration file for syslinux +msger.info("Using custom configuration file " +"%s for syslinux.cfg" % configfile) +user_conf = open(configfile, "r") +syslinux_conf = user_conf.read() +