Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

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.

Linux/AM5728: Kernel boot problem

Part Number: AM5728
Other Parts Discussed in Thread: PMP, DRA752

Tool/software: Linux

I have a AM5728 custom board.

I split the sd card's partition into two partitions via create-sdcard.sh provided by sdk (8GB capacity).

The following dt and pinmux have been modified for custom boards.

software-dl.ti.com/.../Foundational_Components_U-Boot.html
I built u-boot and the kernel as shown in the above guide and copied the image to the sd card.

But I can not move from u-boot to the kernel.

Could you tell me why?

------------------------------------------------------------------
SDK = ti-processor-sdk-linux-rt-am57xx-evm-05.03.00.07

u-boot = u-boot-2018.01+gitAUTOINC+313dcd69c2-ge2bc936055

kernel = linux-rt-4.14.79+gitAUTOINC+a72bf1418c-ga72bf1418c

cross compiler = arm-linux-gnueabihf-gcc
------------------------------------------------------------------
1. console
MMC read: dev # 1, block # 10518528, count 2097152 ... �
U-Boot SPL 2018.01-00569-g7d9bc2b3c2-dirty (May 28 2019 - 15:41:00)
DRA752-GP ES2.0
Trying to boot from MMC1
no pinctrl state for default mode
no pinctrl state for default mode


U-Boot 2018.01-00569-g7d9bc2b3c2-dirty (May 28 2019 - 15:41:00 +0900)

CPU : DRA752-GP ES2.0
Model: TI AM5728 IDK
Board: AM572x IDK REV
DRAM: 2 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Warning: fastboot.board_rev: unknown board revision
SCSI: SATA link 0 timeout.
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
scanning bus for devices...
Found 0 device(s).
Net: Could not get PHY for ethernet@48484000: addr 0
eth0: ethernet@48484000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
** File not found boot.scr **
** Unrecognized filesystem type **
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
** File not found /boot/fitImage **
Trying to boot Linux from eMMC ...
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
** File not found /boot/fitImage **
Trying to boot Android from eMMC ...
switch to partitions #0, OK
mmc1(part 0) is current device

MMC read: dev # 1, block # 10518528, count 2097152 ... 2097152 blocks read: OK
mmc - MMC sub system

Usage:
mmc info - display info of the current MMC device
mmc read addr blk# cnt
mmc write addr blk# cnt
mmc erase blk# cnt
mmc rescan
mmc part - lists available partition on current mmc device
mmc dev [dev] [part] - show or set current mmc device [partition]
mmc list - lists available devices
mmc hwpartition [args...] - does hardware partitioning
arguments (sizes in 512-byte blocks):
[user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes
[gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition
[check|set|complete] - mode, complete set partitioning completed
WARNING: Partitioning is a write-once setting once it is set to complete.
Power cycling is required to initialize partitions after set to complete.
mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode
- Set the BOOT_BUS_WIDTH field of the specified device
mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>
- Change sizes of boot and RPMB partitions of specified device
mmc partconf dev [boot_ack boot_partition partition_access]
- Show or change the bits of the PARTITION_CONFIG field of the specified device
mmc rst-function dev value
- Change the RST_n_FUNCTION field of the specified device
WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values.
mmc setdsr <value> - set DSR register value

Wrong Image Format for bootm command
ERROR: can't get kernel image!
=>

2.printenv
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
baudrate=115200
board=am57xx
board_name=am572x_idk
boot_fdt=try
boot_fit=0
boot_part=9
bootargs=androidboot.serialno=0f00200e1b340122 console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am57xevmboard
bootcmd=if test ${dofastboot} -eq 1; then echo Boot fastboot requested, resetting dofastboot ...;setenv dofastboot 0; saveenv;echo Booting into fastboot ...; fastboot 1; fi;if test ${boot_fit} -eq 1; then run u
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=fitImage
bootm_size=0x10000000
bootpart=1:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyO1,115200n8
cpu=armv7
devnum=1
devtype=mmc
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;1
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
dfu_bufsiz=0x10000
dofastboot=0
emmc_android_boot=echo Trying to boot Android from eMMC ...; run update_to_fit; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 1; setenv fdt_part 3; setenv boot_part 9; setenv ;
emmc_linux_boot=echo Trying to boot Linux from eMMC ...; setenv mmcdev 1; setenv bootpart 1:2; setenv mmcroot /dev/mmcblk0p2 rw; run mmcboot;
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbooten;
ethaddr=94:e3:6d:4a:fe:f2
eval_bootargs=setenv bootargs androidboot.serialno=0f00200e1b340122 console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am57xevmboard
fastboot.cpu=DRA752
fastboot.secure=GP
fdt_addr_r=0x88000000
fdt_part=3
fdt_size=200000
fdt_start=a08000
fdtaddr=0x88000000
fdtcontroladdr=fdf187d8
fdtfile=am572x-idk.dtb
findfdt=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfile dra7-evm.dtb; fi;if test $board_name = dra72x-revc; then setenv fdtfile dra72-
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x87000000
idk_lcd=no
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
kernel_addr_r=0x82000000
loadaddr=0x87000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; bootm ${loadaddr}#${fdtfile};
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
machid=fe6
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmc;
mmcdev=1
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the;
mmcroot=/dev/mmcblk0p2 rw
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}
partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};name=bootloader,size=1792K,uuid=${uuid_gpt_bootloader};name=environment,size=128K,uuid=${uuid_gpt_environ}
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
rdaddr=0x88080000
rootpath=/export/rootfs
scriptaddr=0x80000000
scsidevs=0
serial#=0f00200e1b340122
soc=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@4806c000
stdin=serial@4806c000
stdout=serial@4806c000
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usbtty=cdc_acm
vendor=ti
ver=U-Boot 2018.01-00569-g7d9bc2b3c2-dirty (May 28 2019 - 15:41:00 +0900)
vram=16M

Environment size: 8012/131067 bytes

  • Hello Sunmin,

    Your board doesn't recognize the SD card in U-Boot, the kernel and device tree loading is failing, so that the booting hung at that point.

    Can you post the feedback of these commands and the SD card part of your schematic?

    => mmc list
    => mmc dev 0
    => mmc part
    => mmc info
    => mmc dev 1
    => mmc part
    => mmc info
    => mmc rescan
    => mmc list
    => mmc dev 0
    => mmc dev 1

    Best regards,
    Kemal
  • 1. feedback

    => mmc list
    OMAP SD/MMC: 0
    OMAP SD/MMC: 1 (eMMC)

    => mmc dev 0
    switch to partitions #0, OK
    mmc0 is current device

    => mmc part

    Partition Map for MMC device 0 -- Partition Type: DOS

    Part Start Sector Num Sectors UUID Type
    1 2048 143360 60370d1e-01 0c Boot
    2 145408 15108096 60370d1e-02 83

    => mmc info
    Device: OMAP SD/MMC
    Manufacturer ID: 41
    OEM: 3432
    Name: SDCIT
    Bus Speed: 192000000
    Mode : UHS SDR104 (208MHz)
    Rd Block Len: 512
    SD version 3.0
    High Capacity: Yes
    Capacity: 7.3 GiB
    Bus Width: 4-bit
    Erase Group Size: 512 Bytes

    => mmc dev 1
    switch to partitions #0, OK
    mmc1(part 0) is current device

    => mmc part

    Partition Map for MMC device 1 -- Partition Type: EFI

    Part Start LBA End LBA Name
    Attributes
    Type GUID
    Partition GUID
    1 0x00008000 0x00207fff "rootfs"
    attrs: 0x0000000000000000
    type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
    guid: b20c611f-28c7-a549-b1b0-142b607587bf
    2 0x00208000 0x00a07fff "wavefs"
    attrs: 0x0000000000000000
    type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
    guid: 49509477-41c4-a84c-9051-c3393ff23ed3
    3 0x00a08000 0x00c07fff "logicfs"
    attrs: 0x0000000000000000
    type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
    guid: e3286c7b-a562-eb43-8e76-123cdb23b914
    4 0x00c08000 0x00e07fff "upgradefs"
    attrs: 0x0000000000000000
    type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
    guid: cb32512d-22da-f540-ae9b-ca08952c4ef6
    5 0x00e08000 0x01b7ffde "datafs"
    attrs: 0x0000000000000000
    type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
    guid: da046abb-f56c-9e46-80aa-f4c941c23072

    => mmc info
    Device: OMAP SD/MMC
    Manufacturer ID: 13
    OEM: 14e
    Name: R1J56
    Bus Speed: 48000000
    Mode : MMC DDR52 (52MHz)
    Rd Block Len: 512
    MMC version 5.0
    High Capacity: Yes
    Capacity: 13.8 GiB
    Bus Width: 8-bit DDR
    Erase Group Size: 512 KiB
    HC WP Group Size: 8 MiB
    User Capacity: 13.8 GiB WRREL
    Boot Capacity: 16 MiB ENH
    RPMB Capacity: 128 KiB ENH

    => mmc rescan

    => mmc list
    OMAP SD/MMC: 0 (SD)
    OMAP SD/MMC: 1 (eMMC)

    => mmc dev 0
    switch to partitions #0, OK
    mmc0 is current device

    => mmc dev 1
    switch to partitions #0, OK
    mmc1(part 0) is current device
    =>

    2. SD Card part of schematic

  • MMC interfaces seem okay. Can you try to boot with these three commands?

    => run findfdt
    => setenv mmcdev 0
    => run mmcboot
  • Hello Sunmin,

    Please, change the bootfile name to zImage and try to boot in that way.

    => setenv bootfile zImage

    Best regards,
    Kemal

  • Hello Kemal R. Shakir

    I still get the following message:
    => run findfdt
    => setenv mmcdev 0
    => setenv bootfile zImage
    => saveenv
    Saving Environment to MMC...
    Writing to redundant MMC(1)... done
    => run mmcboot
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** File not found /boot/zImage **
    =>

    My SD card configuration.

  • Can you post the output of this command?

    => ext4ls mmc 0:2 boot
  • Hello Kemal R. Shakir

    The issue has been resolved.

    Thank you very much.

    I would like to know about environment variables of U-boot.

    Do you have any sites to recommend?

  • Yes, you can refer to this, this, this post and this page.

  • Thank you very much.