diff options
Diffstat (limited to 'scripts/lib/wic/plugins/source/bootimg-pcbios.py')
-rw-r--r-- | scripts/lib/wic/plugins/source/bootimg-pcbios.py | 72 |
1 files changed, 44 insertions, 28 deletions
diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/scripts/lib/wic/plugins/source/bootimg-pcbios.py index 96ed54dbad..80c7dfb65e 100644 --- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py | |||
@@ -29,6 +29,7 @@ import os | |||
29 | from wic.utils.errors import ImageError | 29 | from wic.utils.errors import ImageError |
30 | from wic import kickstart, msger | 30 | from wic import kickstart, msger |
31 | from wic.utils import runner | 31 | from wic.utils import runner |
32 | from wic.utils.misc import get_custom_config | ||
32 | from wic.pluginbase import SourcePlugin | 33 | from wic.pluginbase import SourcePlugin |
33 | from wic.utils.oe.misc import exec_cmd, exec_native_cmd, \ | 34 | from wic.utils.oe.misc import exec_cmd, exec_native_cmd, \ |
34 | get_bitbake_var, BOOTDD_EXTRA_SPACE | 35 | get_bitbake_var, BOOTDD_EXTRA_SPACE |
@@ -83,34 +84,49 @@ class BootimgPcbiosPlugin(SourcePlugin): | |||
83 | install_cmd = "install -d %s" % hdddir | 84 | install_cmd = "install -d %s" % hdddir |
84 | exec_cmd(install_cmd) | 85 | exec_cmd(install_cmd) |
85 | 86 | ||
86 | splash = os.path.join(cr_workdir, "/hdd/boot/splash.jpg") | 87 | configfile = kickstart.get_bootloader_file(creator.ks) |
87 | if os.path.exists(splash): | 88 | custom_cfg = None |
88 | splashline = "menu background splash.jpg" | 89 | if configfile: |
89 | else: | 90 | custom_cfg = get_custom_config(configfile) |
90 | splashline = "" | 91 | if custom_cfg: |
91 | 92 | # Use a custom configuration for grub | |
92 | options = creator.ks.handler.bootloader.appendLine | 93 | syslinux_conf = custom_cfg |
93 | 94 | msger.debug("Using custom configuration file " | |
94 | syslinux_conf = "" | 95 | "%s for syslinux.cfg" % configfile) |
95 | syslinux_conf += "PROMPT 0\n" | 96 | else: |
96 | timeout = kickstart.get_timeout(creator.ks) | 97 | msger.error("configfile is specified but failed to " |
97 | if not timeout: | 98 | "get it from %s." % configfile) |
98 | timeout = 0 | 99 | |
99 | syslinux_conf += "TIMEOUT " + str(timeout) + "\n" | 100 | if not custom_cfg: |
100 | syslinux_conf += "\n" | 101 | # Create syslinux configuration using parameters from wks file |
101 | syslinux_conf += "ALLOWOPTIONS 1\n" | 102 | splash = os.path.join(cr_workdir, "/hdd/boot/splash.jpg") |
102 | syslinux_conf += "SERIAL 0 115200\n" | 103 | if os.path.exists(splash): |
103 | syslinux_conf += "\n" | 104 | splashline = "menu background splash.jpg" |
104 | if splashline: | 105 | else: |
105 | syslinux_conf += "%s\n" % splashline | 106 | splashline = "" |
106 | syslinux_conf += "DEFAULT boot\n" | 107 | |
107 | syslinux_conf += "LABEL boot\n" | 108 | options = creator.ks.handler.bootloader.appendLine |
108 | 109 | ||
109 | kernel = "/vmlinuz" | 110 | syslinux_conf = "" |
110 | syslinux_conf += "KERNEL " + kernel + "\n" | 111 | syslinux_conf += "PROMPT 0\n" |
111 | 112 | timeout = kickstart.get_timeout(creator.ks) | |
112 | syslinux_conf += "APPEND label=boot root=%s %s\n" % \ | 113 | if not timeout: |
113 | (creator.rootdev, options) | 114 | timeout = 0 |
115 | syslinux_conf += "TIMEOUT " + str(timeout) + "\n" | ||
116 | syslinux_conf += "\n" | ||
117 | syslinux_conf += "ALLOWOPTIONS 1\n" | ||
118 | syslinux_conf += "SERIAL 0 115200\n" | ||
119 | syslinux_conf += "\n" | ||
120 | if splashline: | ||
121 | syslinux_conf += "%s\n" % splashline | ||
122 | syslinux_conf += "DEFAULT boot\n" | ||
123 | syslinux_conf += "LABEL boot\n" | ||
124 | |||
125 | kernel = "/vmlinuz" | ||
126 | syslinux_conf += "KERNEL " + kernel + "\n" | ||
127 | |||
128 | syslinux_conf += "APPEND label=boot root=%s %s\n" % \ | ||
129 | (creator.rootdev, options) | ||
114 | 130 | ||
115 | msger.debug("Writing syslinux config %s/hdd/boot/syslinux.cfg" \ | 131 | msger.debug("Writing syslinux config %s/hdd/boot/syslinux.cfg" \ |
116 | % cr_workdir) | 132 | % cr_workdir) |