Beagleboard and barebox problem
Victor Rodriguez
vm.rod25 at gmail.com
Mon Oct 25 18:29:41 EDT 2010
On Fri, Oct 22, 2010 at 2:05 AM, Sascha Hauer <s.hauer at pengutronix.de> wrote:
> Hi Victor,
>
> On Thu, Oct 21, 2010 at 12:55:16PM -0500, Victor Rodriguez wrote:
>> Hey I am new on bare box I have download it from git repo and when I
>> make the barebox.bin with omap3530_beagle_defconfig this is the output
>>
>> Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
>> Reading boot sector
>> Loading u-boot.bin from mmc
>>
>>
>> barebox 2010.10.0-00086-ga14c018 (Oct 21 2010 - 12:19:10)
>>
>> Board: Texas Instrument's Beagle
>> I2C probe
>> i2c-omap at i2c-omap0: bus 0 rev3.12 at 100 kHz
>> ehci at ehci0: USB EHCI 1.00
>> NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB
>> 1,8V 16-bit)
>> Malloc space: 0x80c00000 -> 0x81000000 (size 4 MB)
>> Stack space : 0x80bf8000 -> 0x80c00000 (size 32 kB)
>> Open /dev/env0 No such file or directory
>> running /env/bin/init...
>> not found
>> barebox> ls
>> . .. dev
>> barebox> ls /dev/
>> zero mem ram0 twl4030 nand0
>> nand_oob0
>
> Then it's up and running, congratulations ;)
>
> What the beagle board is missing is currently a place to store the
> environment. You could add an environment to nand by adding something
> like this to the board setup function:
>
> devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED,"env_raw");
> dev_add_bb_dev("env_raw", "env0");
>
> (this adds a partition at offset 0x40000 and size 0x20000 to nand, you
> probably have to adjust the offset to not overwrite the X-loader)
HI Sascha thanks a lot for the help
Well after adding the environment for nand by adding this code :
arch/arm/boards/omap/board-beagle.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/omap/board-beagle.c
b/arch/arm/boards/omap/board-beagle.c
index 6de2cce..21b31c2 100644
--- a/arch/arm/boards/omap/board-beagle.c
+++ b/arch/arm/boards/omap/board-beagle.c
@@ -73,6 +73,8 @@
#include <linux/err.h>
#include <usb/ehci.h>
#include "board.h"
+#include <partition.h>
+#include <nand.h>
/******************** Board Boot Time *******************/
@@ -334,6 +336,16 @@ static int beagle_devices_init(void)
#endif
gpmc_generic_nand_devices_init(0, 16, 1);
+ /* ----------- add some vital partitions -------- */
+#ifdef CONFIG_NAND
+
+ devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED, "env_raw");
+ dev_add_bb_dev("env_raw", "env0");
+#endif
+
+
+
+
armlinux_add_dram(&sdram_dev);
armlinux_set_bootparams((void *)0x80000100);
armlinux_set_architecture(MACH_TYPE_OMAP3_BEAGLE);
--
1.7.0.4
barebox compiles fine
(Hope it could be a patch if you consider I could send this tiny patch
to the mailing list :) )
And the output for the new boat loader is
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
Reading boot sector
Loading u-boot.bin from mmc
bare box 2010.10.0-00088-gd3ddbec (Oct 25 2010 - 16:36:06)
Board: Texas Instrument's Beagle
I2C probe
i2c-omap at i2c-omap0: bus 0 rev3.12 at 100 kHz
ehci at ehci0: USB EHCI 1.00
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB
1,8V 16-bit)
Malloc space: 0x80c00000 -> 0x81000000 (size 4 MB)
Stack space : 0x80bf8000 -> 0x80c00000 (size 32 kB)
envfs: wrong magic on /dev/env0
running /env/bin/init...
not found
barebox> /
I fix the problem of envfs: wrong magic on /dev/env0 with your thread
http://www.mail-archive.com/u-boot-users@lists.sourceforge.net/msg10197.html
And every thing works fine
uboot> addpart /dev/nand0 256k(uboot),128k(env),2048k(kernel),-(rootfs)
uboot> nand -a /dev/nand0.*
uboot> erase /dev/nand0.kernel.bb
and in the end I have
barebox> /dev ls -la
ls: invalid option -- a
cr-------- 4294967295 zero
crw------- 4294967295 mem
crw------- 134217728 ram0
crw------- 1024 twl4030
crw------- 268435456 nand0
cr-------- 8388608 nand_oob0
crw------- 131072 env_raw
crw------- 131072 env0
crw------- 262144 nand0.uboot
crw------- 131072 nand0.env
crw------- 2097152 nand0.kernel
crw------- 265945088 nand0.rootfs
crw------- 265945088 nand0.rootfs.bb
crw------- 2097152 nand0.kernel.bb
crw------- 131072 nand0.env.bb
crw------- 262144 nand0.uboot.bb
So every thing works fine :)
But I have a question how do I save the bootargs
My boot args used to be
setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
rootfstype=ext2 rw rootdelay=1 nohz=off
But is not working for bare box
How do you save the boot args ?
The next step will be
uboot> tftp uImage-mx27ads /dev/nand0.kernel.bb
And the same for a ram disk File System in the nand0.rootfs.bb right ?
And
uboot> bootm /dev/nand0.kernel.bb
But my second question is How the kernel know were is the File
System, where should I set something similar to boot args ?
Thanks for the help it really helps me a lot
> Another possibility would be to add mmc support for omap and put the
> environment there. We recently gained mmc support for barebox, so all
> that's missing is an omap driver. The mmc support is still close to
> U-Boot, so the driver won't need many changes.
I will try to do this hope it could help some one else.
Sincerely yours
Victor Rodriguez
>>
>>
>> And when I compile with omap3530_beagle_per_uart_defconfig
>
> The per_uart_defconfig is more a X-loader replacement. You can use it to
> bootstrap from the serial port. For your case the other config is the
> correct one.
>
> Sascha
>
>
> --
> Pengutronix e.K. | |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
More information about the barebox
mailing list