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/PROCESSOR-SDK-DRA7X: Question about U-Boot ** File not found /boot/zImage **

Hallo,

I have some question about U-Boot. I rebuild the tisdk-rootfs-image-dra7xx-evm.tar.xz with this guide  http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_Automotive_Software_Developers_Guide .

When I boot this Image, U-Boot says  ** File not found /boot/zImage **. But it is there. The prebuilt image works fine.

Have I to create a new uImage for a custom linux image, or could I use the prebuilt uImage from the SDK? And there were no uImage created, like the guide says.

SDK-Version v3.02.00.

Greetings,

eddi

  • Hi Eddi,

    I have forwarded your question to an U-boot expert for comment.

    Regards,
    Yordan
  • Some additonal Infos:

    Bootlog from prebuilt image that works and boot the system from sd-card:

    U-Boot SPL 2016.05-g97c89e23c8 (Mar 09 2017 - 08:17:38)
    DRA752-GP ES2.0
    MMC Device 1 not found
    *** Warning - No MMC card found, using default environment
    
    Trying to boot from MMC1
    spl: falcon_args_file not set in environment, falling back to default
    reading args
    spl_load_image_fat_os: error reading image args, err - -1
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    
    
    U-Boot 2016.05-g97c89e23c8 (Mar 09 2017 - 08:17:38 +0530)
    
    CPU  : DRA752-GP ES2.0
    Model: TI DRA742
    Board: DRA74x EVM REV H.0
    DRAM:  4 GiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    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:   
    Warning: ethernet@48484000 using MAC address from ROM
    eth0: ethernet@48484000
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    222 bytes read in 4 ms (53.7 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    3632848 bytes read in 271 ms (12.8 MiB/s)
    108573 bytes read in 87 ms (1.2 MiB/s)
    Booting from mmc0 ...
    Kernel image @ 0x82000000 [ 0x000000 - 0x376ed0 ]
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8ffe2000, end 8ffff81c ... OK
    
    Starting kernel ...
    

    Bootlog from builded tisdk-rootfs-image that not works and falls back to android system from the flash:

    U-Boot SPL 2016.05-g97c89e23c8 (Mar 09 2017 - 08:17:38)
    DRA752-GP ES2.0
    MMC Device 1 not found
    *** Warning - No MMC card found, using default environment
    
    Trying to boot from MMC1
    spl: falcon_args_file not set in environment, falling back to default
    reading args
    spl_load_image_fat_os: error reading image args, err - -1
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    
    
    U-Boot 2016.05-g97c89e23c8 (Mar 09 2017 - 08:17:38 +0530)
    
    CPU  : DRA752-GP ES2.0
    Model: TI DRA742
    Board: DRA74x EVM REV H.0
    DRAM:  4 GiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    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:   
    Warning: ethernet@48484000 using MAC address from ROM
    eth0: ethernet@48484000
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    222 bytes read in 3 ms (72.3 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** File not found /boot/zImage **
    switch to partitions #0, OK
    mmc1(part 0) is current device
    
    MMC read: dev # 1, block # 2048, count 256 ... 256 blocks read: OK
    
    MMC read: dev # 1, block # 56608, count 20480 ... 20480 blocks read: OK
    Booting from eMMC ...
    ## Booting Android Image at 0x82000000 ...
    Kernel load addr 0x80008000 size 4655 KiB
    RAM disk load addr 0x83000000 size 892 KiB
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Kernel Image ... OK
       Loading Ramdisk to 8ff21000, end 8ffffcd0 ... OK
       Loading Device Tree to 8ff03000, end 8ff20c38 ... OK
    Using machid 0xfe6 from environment
    
    Starting kernel ...

    Output from printenv: (I use the uenv.txt from the prebuilt images) No changes from me:

    arch=arm
    args_fit=setenv bootargs console=${console} 
    args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
    baudrate=115200
    board=dra7xx
    board_name=dra7xx
    board_rev=H.0
    boot_fdt=try
    boot_fit=0
    boot_os=0
    bootargs=androidboot.serialno=${serial#} console=ttyS0,115200 androidboot.console=ttyS0 androidboot.hardware=jacinto6evmboard
    bootcmd=if test ${dofastboot} -eq 1; then echo Boot fastboot requested, resetting dofastboot ...;setenv dofastboot 0; saveenv;echo Booting into fastboot ...; fastb 
    bootdelay=2
    bootdir=/boot
    bootenvfile=uEnv.txt
    bootfile=zImage
    bootm_size=0x10000000
    bootpart=0:2
    bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
    console=ttyO0,115200n8
    cpu=armv7
    dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x400;spl-os-args.raw raw 0x80 01
    dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x400;spl-os-args.raw raw 0x80 0x80;spl-os-image.raw ra1
    dfu_alt_info_qspi=MLO raw 0x0 0x040000;u-boot.img raw 0x040000 0x0100000;u-boot-spl-os raw 0x140000 0x080000;u-boot-env raw 0x1C0000 0x010000;u-boot-env.backup raw0
    dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
    dfu_bufsiz=0x10000
    dofastboot=0
    emmc_android_boot=setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 1; setenv fdt_part 3; setenv boot_part 9; if test $reboot_image ;
    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 ;
    ethaddr=a0:f6:fd:9f:80:04
    fastboot.board_rev=H.0
    fastboot.cpu=J6
    fastboot.secure=GP
    fastboot.userdata_size=6482271 KB
    fdt_addr_r=0x88000000
    fdtaddr=0x88000000
    fdtcontroladdr=fdf0c318
    fdtfile=undefined
    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 
    finduuid=part uuid mmc ${bootpart} uuid
    fit_bootfile=fitImage.itb
    fit_loadaddr=0x88000000
    importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
    kernel_addr_r=0x82000000
    loadaddr=0x82000000
    loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
    loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr
    loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
    loadfit=run args_fit; bootm ${loadaddr}#${fdtfile};
    loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
    mmcboot=if mmc dev ${mmcdev}; then setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then run loadfdt; echo Booting f;
    mmcdev=0
    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} = t;
    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=xloader,start=128K,size=128K,uuid=${uuid_gpt_xloader};name=bootloader,size=768K,uuid=${uuid_gpt_bootloader};name=environ}
    partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=128K,uuid=${uuid_gpt_xloader};name=bootloader,size=768K,uuid=${uuid_gpt_bootloader};name}
    pxefile_addr_r=0x80100000
    ramdisk_addr_r=0x88080000
    rdaddr=0x88080000
    reboot_image=boot
    rootpath=/export/rootfs
    scriptaddr=0x80000000
    scsidevs=0
    serial#=0500f009777800e2
    soc=omap5
    static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
    stderr=serial@4806a000
    stdin=serial@4806a000
    stdout=serial@4806a000
    update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
    usbtty=cdc_acm
    vendor=ti
    ver=U-Boot 2016.05-g97c89e23c8 (Mar 09 2017 - 08:17:38 +0530)
    vram=16M
    
    Environment size: 7969/131067 bytes
    

  • Eddi

    What is the boot mode used ..MMC/SD ?
    The SD card prepared will have boot and rootfs partition .
    You must copy the MLO/u-boot.img to boot partition and copy the new zImage and DTBs to rootfs/boot directory.

    From u-boot, reset the environement variable (issue command "env default -a " ).

    When you invoke boot command from u-boot, the commands listed in "bootcmd" environment variable will get executed.

    Check the enviroment variable "bootcmd", will help you understand sequeunce of command to boot the kernel.

    Regards
    Ravi
  • Hallo Ravi,

    thanks for the answer.

    Ravi B said:


    What is the boot mode used ..MMC/SD ?

    Do you mean the DIP-Switch (SYSBOOT)? It is on SD-Mode: 00001100 10000001

    Ravi B said:

    The SD card prepared will have boot and rootfs partition .
    You must copy the MLO/u-boot.img to boot partition and copy the new zImage and DTBs to rootfs/boot directory.

    For create partitons I use the ti-script, copy the prebuilt MLO/u-boot.img to boot and extract the created filesystem to rootfs. Is it ok to use the prebuilt MLO and u-boot.img?

    Ravi B said:

    From u-boot, reset the environement variable (issue command "env default -a " ).

    When you invoke boot command from u-boot, the commands listed in "bootcmd" environment variable will get executed.

    Check the enviroment variable "bootcmd", will help you understand sequeunce of command to boot the kernel.

    What I have to do exactly? U-Boot is still a black hole for me at the moment. I used the 'bin/setup-uboot-env' script to configure uboot for sd-boot and created the new Images with 'make u-boot'. But in the boot process I get the same error.

    Greetings

  • Hallo,

    I found a solution for my problem. Now it works. The solution -> https://archlinuxarm.org/forum/viewtopic.php?f=48&t=10563