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.

PROCESSOR-SDK-AM335X: linux cannot boot successfully on am3354 board.

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: AM3354

  When booting the linux kernel on am3354 board, the console output the nothing except 'Starting kernel ...', I traced that the kernel do not return on invoking schedule() via calling machine_restart(), the full invoking route is: 

start_kernel()-->rest_init()-->schedule_preempt_disabled()-->schedule().

  I also found that the do_initcalls() only run two levels and the thread invoking the do_initcalls() not runing any more. the full thread route is : 

start_kernel()-->rest_init()-->kernel_thread(kernel_init, NULL, CLONE_FS)-->kernel_init()-->kernel_init_freeable()-->do_basic_setup()-->do_initcalls().

the bootargs I'm using is:

set hzmmcargs "set bootargs console=ttyS0,115200n8 loglevel=8 earlyprintk initcall_debug root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rw;";
set hzmmccmd "run hzmmcargs;mmc dev 0;load mmc 0:2 ${loadaddr} /boot/zImage;load mmc 0:2 ${fdtaddr} /boot/am335x-evm.dtb;bootz ${loadaddr} - ${fdtaddr}";
set bootcmd "run hzmmccmd";
boot

the sdk version is:ti-processor-sdk-linux-am335x-evm-06.01.00.08

the linux version is:linux-4.19.59+gitAUTOINC+5f8c1c6121-g5f8c1c6121

I have no idea on this issue, could some one help me? thanks.

  • Hi Shun,

    Is this on any AM335x EVM or your custom board?

  • Hi Bin,

    Thanks for your reply.this is on my custom board.this board is a mature product. the board has been running the u-boot-2013 and linux-3.12.10. recently, we want to upgrade the uboot and linux.but I don't have the previous source code.if you have any idea,please let me know.thanks.

  • Hi Shun,

    I am routing your query to our board port expert for comments.

  • Hi,

    I am out of the office currently returning next week. 

    Could you please describe the steps that you did to move from the earlier SDK to this one? Did you create an updated DTS file? Which u-boot are you using?

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Thanks for your reply.The earlier SDK was moved not by me.and I don't have any source code of  earlier SDK.I'm moving SDK of ti-processor-sdk-linux-am335x-evm-06.01.00.08.and I using dts of this SDK,uboot also comes with this SDK. but linux can't boot successfuly.

    Yesterday, I went to the TI  website to find the early SDK through the early uboot and linux versions. found early SDK versions is AM335x Linux SDK 7.0.    I tried to download this SDK. I boot the board that had previously moved ealry SDK and got the .config file of the previous configuration through the  "zcat /proc/config.gz > .config".I copied this .config file to Linux with the downloaded AM335x Linux SDK 7.0 and compiled it.but can not found "am335x-pm-firmware.bin",I don't know what to do of "am335x-pm-firmware.bin"? So I don't load this file by 'make ARCH=arm menuconfig'.Finally, zImage is generated.I tried to boot the board with this zImage and the early dtb,but not succeed. Then I searched "am335x-pm-firmware.bin"  and downloaded it from TI's official website.And recompile it into the linux to generate zImage.But still couldn't boot successfully on my board.the hint is hanging "staring kernel ..."

  • Thank you!