[PATCH] xload: be more flexible when searching for second stage bootloader.
Vicente Bergas
vicencb at gmail.com
Sun Sep 27 07:08:51 PDT 2015
A first stage bootloader can read fat and ext4 filesystems, and
even both can be compiled-in at the same time.
But then xload has a hardcoded fat filesystem mount option which
renders ext4 unusable.
This patch tries to mount it as ext4 if the fat attempt fails.
Then, a typical use case of an ext4 formatted filesystem
is it to be a standard linux filesystem, which contains
boot-related files in /boot. So, when searching for the second stage
bootloader, try /boot/barebox.bin after not finding it in /barebox.bin
Signed-off-by: Vicente Bergas <vicencb at gmail.com>
---
arch/arm/mach-omap/xload.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
index ebcbcbc..c5e29f8 100644
--- a/arch/arm/mach-omap/xload.c
+++ b/arch/arm/mach-omap/xload.c
@@ -118,6 +118,8 @@ static void *omap_xload_boot_mmc(void)
partname = asprintf("%s.0", diskdev);
ret = mount(partname, "fat", "/", NULL);
+ if (ret)
+ ret = mount(partname, "ext4", "/", NULL);
if (ret) {
printf("Unable to mount %s (%d)\n", partname, ret);
@@ -128,6 +130,8 @@ static void *omap_xload_boot_mmc(void)
free(partname);
buf = read_file("/barebox.bin", &len);
+ if (!buf)
+ buf = read_file("/boot/barebox.bin", &len);
if (!buf) {
printf("could not read barebox.bin from sd card\n");
return NULL;
--
2.5.3
More information about the barebox
mailing list