Quote:
Now I am trying to flash everything from this SD Card to NAND Flash on embedded board.
|
It's usual for SD-Cards to have an on-disk partition table, e.g. MBR in your case, but this is not the norm for NAND.
Even if you flash your SD-Card completely to NAND, it will not behave as you expect. The Phytec BSP can probably
generate images for NAND as well, which you should rather use.
A usual setup is having the NAND partitioning described in the device tree, then you use barebox_update to install
barebox into the NAND and then the kernel, device tree and rootfs are in an UBI/UBIFS.
I think the Phytec documentation should help you with all that. In general, it's often easiest to flash over USB:
Code:
barebox$ usbgadget -A /dev/nand0.root(root-nand)u -b
host$ fastboot getvar all # list all flashable partitions
host$ fastboot flash root-nand my-image.ubi
host$ fastboot flash bbu-nand barebox-phytec-something.img
Replace /dev/nand0.root with whatever the name of your root partition is.
Quote:
When I stop autoboot of embedded board and try flashing barebox like this:
Code:
barebox_update -t nand /dev/mmc0.barebox
Code:
UPDATE: Image is not of type ARM barebox image but of type MBR sector
update failed
|
That's expected: If you run devinfo, you'll see that the barebox partition starts at
address 0. That's ok, because the i.MX6 BootROM only cares about what's at location 0x400
of the SD-Card. barebox_update though will try to guess what kind of image it's given
to protect your from soft-bricking your device.
As you are pointing it at the start of the SD-Card, it will see the MBR 0xaa55 magic and
tell you that it's not what it expects.
In your case, because you know that the image is valid despite the mismatched header,
you can pass barebox_update the force flag -f, so it ignores the header check.
Another way is to update barebox over USB or over the network and use a pristine barebox image
that hasn't been mangled by writing MBR magic over it.