Hello all,
I am running a custom board based on the Beagle Bone Black, but using NAND instead of eMMC. U-boot version is u-boot-2013.10-ti2013.12.01 taken from TI SDK ti-sdk-am335x-evm-07.00.00.00. Here is my U-Boot partition table for reference
device nand0 <nand.0>, # parts = 10
#: name size offset mask_flags
0: SPL 0x00020000 0x00000000 0
1: SPL.backup1 0x00020000 0x00020000 0
2: SPL.backup2 0x00020000 0x00040000 0
3: SPL.backup3 0x00020000 0x00060000 0
4: u-boot-spl-os 0x00040000 0x00080000 0
5: u-boot 0x00100000 0x000c0000 0
6: u-boot-env 0x00020000 0x001c0000 0
7: u-boot-env.backup1 0x00020000 0x001e0000 0
8: kernel 0x00800000 0x00200000 0
9: rootfs 0x07600000 0x00a00000 0
If I put my zImage kernel at the kernel partition 8 and let the unit boot from NAND with default environment, U-Boot can find the kernel and boot it fine.
Now, I have a Multi-Image that I created with mkimage that contains the kernel, ramdisk image, and device tree blob. I store this multi-image in the same location that I was storing my zImage, thinking that U-Boot will find it and just know how to boot it. However it will not boot the multi-image, it appears that it is expecting a zImage only.
I am able to get the system to boot my multi-image by adding the following bootcmd:
setenv bootcmd 'nand read 0x90000000 0x00200000 0x00800000; bootm 0x90000000'
As you can see, I manually read the multi-image from NAND into ram, then bootm at that ram location and the system boots fine.
I am wondering if this bootcmd is necessary, or the best way to accomplish my system boot. Or is there a way to configure U-Boot to still automatically boot the image in my kernel partition without the bootcmd definition, but let it accept a multi-image instead zImage?
Thanks in advance for any help! - Anthony