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.

am335x_evm booting problem with sdk 7.00 and 6.00

Hi,

I am new to the embedded linux environment. Please help in solving the following issue.

I am working on am335x_evm and ti-sdk-am335x-evm-07.00.00.00-Linux-x86-Install. When I am trying to create sd card images using the script only MLO and u-boot.img are being copied into boot partition. And the board is being stopped at Uboot as there is no kernal image. The log while creating the sd card image is as follows. Even with sdk version 06.00 the same problem is existing. My requirement is now I have to edit the dts file for other serial ports enabling(other than console) and compile the kernel and use the serial port from  user interface application. Even Im copying the uImage, dtb files manually its not working. And I have doubts on uEnv.txt file also. Uboot is searching for this file if its not existing then stops booting kernel. I tried to keep a file just the name uEnv.txt then the uImage is being copied but stopped at Starting kernal..... log. Pleas hlep me in solving these issues. Please give details for each query. Thanks in anticipation. 

Log for sd card script:

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1   *      0+      8       9-     72261    c  W95 FAT32 (LBA)
/dev/sdb2         10     239     230    1847475   83  Linux
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

################################################################################

        Partitioning Boot

################################################################################
mkfs.vfat 3.0.12 (29 Oct 2011)

################################################################################

        Partitioning rootfs

################################################################################
mke2fs 1.42 (29-Nov-2011)
Filesystem label=rootfs
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
115680 inodes, 461868 blocks
23093 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=473956352
15 block groups
32768 blocks per group, 32768 fragments per group
7712 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done



################################################################################

   Partitioning is now done
   Continue to install filesystem or select 'n' to safe exit

   **Warning** Continuing will erase files any files in the partitions

################################################################################


Would you like to continue? [y/n] : y

 
 
Mount the partitions
 
Emptying partitions
 

Syncing....

################################################################################

    Choose file path to install from

    1 ) Install pre-built images from SDK
    2 ) Enter in custom boot and rootfs file paths

################################################################################

Choose now [1/2] : 1

 
Will now install from SDK pre-built images
now installing:  ti-sdk-am335x-evm-07.00.00.00
################################################################################

    Copying files now... will take minutes

################################################################################

Copying boot partition

MLO copied


u-boot.img copied


Copying rootfs System partition
Written 100%  

Syncing...
 
Un-mount the partitions
 
Remove created temp directories
 
Operation Finished

Regards,

Vijaykumar Ponugoti

  • Hi,

    It is to be expected that only MLO & u-boot are copied on the boot partition of your sdcard. The kernel image & device tree are copied in the /boot directory of the rootfs partition uEnv.txt should point the bootcmd to look for kernel image & dtb in the /boot directory.

    1. Regarding your kernel getting stuck at "Starting kernal..... " this is probably because there is some hang before UART driver is initialized & you don't see the debug prints on your console.
    Can you add earlyprintk bootarg in uEnv.txt? This should enable the debug log & you could analyze it to see what caused the kernel to hang.

    Also check the following article for possible solutions: http://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux

    2. When booting your board, are you following exactly the steps from the User Guide: http://processors.wiki.ti.com/index.php/Sitara_Linux_Software_Developer%E2%80%99s_Guide? Are you executing the create-sdcard.sh script from the ti-sdk-am335x-evm-07.00.00.00 base directory?

    Best Regards,
    Yordan
  • Hi Yordan,
    Thanks for your reply.
    I found the images in rootfs/boot folder as u said. Please give details what to write in uEnv.txt so that bootcmd points to these images. I am new this area and I do not know about uEnv.txt. We are using DRA7xx board also where all these images are copied into boot partition only and there was no uEnv.txt file for that board. So i thought it will be same for this also. Please give me the details.

    1. In the link provided it is given for Beaglebone black.
    # CONFIG_OMAP_LL_DEBUG_UART1 is not set
    # CONFIG_OMAP_LL_DEBUG_UART2 is not set
    CONFIG_OMAP_LL_DEBUG_UART3=y
    These macros are not available in the .config file for am335x_evm.(I am asked to use omap2plus_defconfig as am335x_evm and DRA7xx boards config file by TI support). How that early printk can be added to uEnv.txt.?

    2. Yes. Im running the script from base directory only.


    Thanks in anticipation.
    Rgds,
    Vijaykumar P
  • Hi Vijaykumar,

    First of all I am referring to SDK7.0

    If you use uEnv.txt file it should look something like this: http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide#Setting_U-Boot_environment_using_uEnv.txt

    But it probably points to zImage instead of uImage.  The /boot directory is provided within u-boot sources in u-boot-2013.10-ti2013.12.01/include/config/am335x_evm.h file:

      "loadaddr=0x80200000\0" \

    "fdtaddr=0x80F80000\0" \

    "fdt_high=0xa0000000\0" \

    "boot_fdt=try\0" \

    "rdaddr=0x81000000\0" \

    "bootpart=0:2\0" \

    "bootdir=/boot\0" \

    "bootfile=zImage\0" \

    "fdtfile=undefined\0" \

    "console=ttyO0,115200n8\0" \

    "partitions=" \

    "uuid_disk=${uuid_gpt_disk};" \

    "name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}\0" \

    "optargs=\0" \

    "dfu_alt_info_mmc=" DFU_ALT_INFO_MMC "\0" \

    "dfu_alt_info_emmc=rawemmc mmc 0 3751936\0" \

    "mmcdev=0\0" \

    "mmcroot=/dev/mmcblk0p2 ro\0" \


    To add earlyprintk in uEnv.txt just include it to bootargs= part of the script, smth like:
       bootargs=earlyprintk console=ttyO0,115200n8 root=/dev/mmcblk0p2 mem=128M rootwait

    Or you can add the same in the "bootargs= " part in include/config/am335x_evm.h 

    Regarding:
     

    Vijaykumar Ponugoti said:
    I am asked to use omap2plus_defconfig as am335x_evm and DRA7xx boards config file by TI support

    Can you try to rebuild your kernel with make tisdk_am335x-evm_defconfig instead of omap2plus_defconfig ? 


    Best Regards,

    Yordan