This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM4378: Booting from zImage located on mmc0:2

Part Number: AM4378

In the pre-built tisdk-base-image wic file.  There is a zImage in the rootfs /boot directory (not the mounted /boot directory which is mmcblk0:1).

I was attempting to follow this thread:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/864716/am4378-unable-to-read-zimage?tisearch=e2e-sitesearch&keymatch=zimage#

to boot into RAM from the zImage.   Since I was on mmc and ext4 I had to change the cmdlines a bit, but I "think" I got that part right.

Here is what I did:

=> ext4load mmc 0:2 ${loadaddr} /boot/zImage
4674048 bytes read in 240 ms (18.6 MiB/s)

=> ext4load mmc 0:2 ${fdtaddr} /boot/am437x-sk-evm.dtb
74770 bytes read in 9 ms (7.9 MiB/s)

=> bootz ${loadaddr} - ${fdtaddr}
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8ffea000, end 8ffff411 ... OK

Starting kernel ...

After that all the output goes to the LCD (which I cannot read or copy/paste) on the AM437 starter kit, and results in a kernel panic  Anything I can add to make it go to the usb UART terminal?

After this I rebuilt u-boot with debugging levels to very verbose and here is the bootz output.

=> bootz ${loadaddr} - ${fdtaddr}
arch_lmb_reserve() ## Current stack ends at 0xbdf1108c bootz_start() *  kernel: cmdline image address = 0x82000000
boot_get_ramdisk() ## Skipping init Ramdisk
boot_get_ramdisk() ## No init Ramdisk
boot_get_ramdisk()    ramdisk start = 0x00000000, ramdisk end = 0x00000000
boot_get_fdt() *  fdt: cmdline image address = 0x88000000
boot_get_fdt() ## Checking for 'FDT'/'FDT Image' at 88000000
fit_check_format() Wrong FIT format: no description
boot_get_fdt() *  fdt: raw FDT blob
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
boot_get_fdt()    of_flat_tree at 0x88000000 size 0x00012412
_do_env_set() Initial value for argc=3
_do_env_set() Final value for argc=3
boot_get_loadable() ## FIT configuration was not specified
boot_ramdisk_high() ## initrd_high = 0x90000000, copy_to_ram = 1
boot_ramdisk_high()    ramdisk load start = 0x00000000, ramdisk load end = 0x00000000
_do_env_set() Initial value for argc=3
_do_env_set() Final value for argc=3
_do_env_set() Initial value for argc=3
_do_env_set() Final value for argc=3
boot_prep_linux() using: FDT
boot_relocate_fdt() ## device tree at 88000000 ... 88012411 (len=87058 [0x15412])
   Loading Device Tree to 8ffea000, end 8ffff411 ... OK
_do_env_set() Initial value for argc=3
_do_env_set() Final value for argc=3
boot_jump_linux() ## Transferring control to Linux (at address 82000000)...

Starting kernel ...

Should I be able to load the zImage and run it from RAM?

According to above-referenced thread it sounds like I should.

Thanks

Howard