]> git.ozlabs.org Git - petitboot/commitdiff
pb-discover: add dtb support for PXE config
authorOliver O'Halloran <oohall@gmail.com>
Mon, 9 May 2016 05:38:47 +0000 (15:38 +1000)
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>
Tue, 24 May 2016 01:08:11 +0000 (11:08 +1000)
Currently there is no way to manually specify a DTB file when with a PXE
network boot configuration file. This makes it difficult when you need
to work with or emulate a special snowflake machines with special snowflake
hardware.

Some ARM systems provide this feature with the "fdt" option so this patch
adds support for using the ftd or dtb configuration options to the PXE
config parser.

Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
discover/pxe-parser.c
test/parser/test-pxe-single.c

index 95547c389799ab06ed7dc4f5a06f937e9ed4743e..4812c374d1991b74ba938e9fd935154982a6b3d3 100644 (file)
@@ -189,6 +189,10 @@ static void pxe_process_pair(struct conf_context *ctx,
                type = strtoul(value, &end, 10);
                if (end != value && !(*end))
                        pxe_process_sysappend(ctx->dc, opt, type);
+
+       } else if (streq(name, "DTB") || streq(name, "FDT")) {
+               url = pxe_url_join(ctx->dc, ctx->dc->conf_url, value);
+               opt->dtb = create_url_resource(opt, url);
        }
 
 }
index 56c404cd98203fb8cb6afb816a26598e838e8969..3c3ab2b9beae976a61b6d8caa1a1485202acd216 100644 (file)
@@ -8,6 +8,7 @@ label linux
 kernel ./pxe/de-ad-de-ad-be-ef.vmlinuz
 append command line
 initrd=./pxe/de-ad-de-ad-be-ef.initrd
+dtb ./pxe/de-ad-de-ad-be-ef.dtb
 #endif
 
 void run_test(struct parser_test *test)
@@ -35,4 +36,6 @@ void run_test(struct parser_test *test)
                        "tftp://host/dir/./pxe/de-ad-de-ad-be-ef.vmlinuz");
        check_resolved_url_resource(opt->initrd,
                        "tftp://host/dir/./pxe/de-ad-de-ad-be-ef.initrd");
+       check_resolved_url_resource(opt->dtb,
+                       "tftp://host/dir/./pxe/de-ad-de-ad-be-ef.dtb");
 }