aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Mitchell <jack@embed.me.uk>2017-03-11 14:16:03 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-13 09:43:08 +0000
commit86b09a7ed67a43a45c805f44778bed0bfdf57361 (patch)
treefbd2fbcd0391b0af6f5261d01d08c6629b8888cb
parent60c90398580998b2379bb438f0f75b29285135a5 (diff)
downloadopenembedded-core-contrib-86b09a7ed67a43a45c805f44778bed0bfdf57361.tar.gz
u-boot: add option to specify FDT argument in extlinux.conf
Also fixes a use before defined bug with localdata. Signed-off-by: Jack Mitchell <jack@embed.me.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/uboot-extlinux-config.bbclass15
1 files changed, 12 insertions, 3 deletions
diff --git a/meta/classes/uboot-extlinux-config.bbclass b/meta/classes/uboot-extlinux-config.bbclass
index aae21713e3..8447a047ee 100644
--- a/meta/classes/uboot-extlinux-config.bbclass
+++ b/meta/classes/uboot-extlinux-config.bbclass
@@ -12,6 +12,7 @@
# UBOOT_EXTLINUX_KERNEL_ARGS - Add additional kernel arguments.
# UBOOT_EXTLINUX_KERNEL_IMAGE - Kernel image name.
# UBOOT_EXTLINUX_FDTDIR - Device tree directory.
+# UBOOT_EXTLINUX_FDT - Device tree file.
# UBOOT_EXTLINUX_INITRD - Indicates a list of filesystem images to
# concatenate and use as an initrd (optional).
# UBOOT_EXTLINUX_MENU_DESCRIPTION - Name to use as description.
@@ -59,6 +60,7 @@
# a console=...some_tty...
UBOOT_EXTLINUX_CONSOLE ??= "console=${console}"
UBOOT_EXTLINUX_LABELS ??= "linux"
+UBOOT_EXTLINUX_FDT ??= ""
UBOOT_EXTLINUX_FDTDIR ??= "../"
UBOOT_EXTLINUX_KERNEL_IMAGE ??= "../${KERNEL_IMAGETYPE}"
UBOOT_EXTLINUX_KERNEL_ARGS ??= "rootwait rw"
@@ -84,6 +86,8 @@ python create_extlinux_config() {
if not cfile:
bb.fatal('Unable to read UBOOT_EXTLINUX_CONFIG')
+ localdata = bb.data.createCopy(d)
+
try:
with open(cfile, 'w') as cfgfile:
cfgfile.write('# Generic Distro Configuration file generated by OpenEmbedded\n')
@@ -99,9 +103,8 @@ python create_extlinux_config() {
default = localdata.getVar('UBOOT_EXTLINUX_DEFAULT_LABEL')
if default:
cfgfile.write('DEFAULT %s\n' % (default))
-
+
for label in labels.split():
- localdata = bb.data.createCopy(d)
overrides = localdata.getVar('OVERRIDES')
if not overrides:
@@ -121,7 +124,13 @@ python create_extlinux_config() {
kernel_image = localdata.getVar('UBOOT_EXTLINUX_KERNEL_IMAGE')
fdtdir = localdata.getVar('UBOOT_EXTLINUX_FDTDIR')
- if fdtdir:
+
+ fdt = localdata.getVar('UBOOT_EXTLINUX_FDT')
+
+ if fdt:
+ cfgfile.write('LABEL %s\n\tKERNEL %s\n\tFDT %s\n' %
+ (menu_description, kernel_image, fdt))
+ elif fdtdir:
cfgfile.write('LABEL %s\n\tKERNEL %s\n\tFDTDIR %s\n' %
(menu_description, kernel_image, fdtdir))
else: