U-Boot Bootup error

9,067

If you can access the U-Boot command line console, you can enter printenv to see U-Boot's environment variables. Some of these variables define the commands that are run at boot time - beginning with bootcmd.

Based on the output you've provided, it appears U-Boot is trying different load commands for different filesystems - for example, ext2load vs fatload. As such, it fails to mount it as ext2; then later succeeds - presumably with FAT load commands.

The details of this process are described here.

In any case, it is possible to prevent these errors by modifying the bootcmd variable in your U-Boot environment so that it first attempts the configuration which you are using for your system and avoids attempting commands that are going to fail with your configuration.

Share:
9,067

Related videos on Youtube

Kousha
Author by

Kousha

Biomedical Engineering Master student at UBC. I develop apps for both fun and large scale application for clients.

Updated on September 18, 2022

Comments

  • Kousha
    Kousha over 1 year

    I'm running a Debian Linux on a Cubietruck, running off a SD card.

    When I power on, I get the following error:

    ## Booting kernel from Legacy Image at 46000000 ...                                                                                                                Image Name:   Linux-3.4.105+                                          
    Image Type:   ARM Linux Kernel Image (uncompressed)                   
    Data Size:    5359176 Bytes = 5.1 MiB                                 
    Load Address: 40008000                                                
    Entry Point:  40008000                                                
    Verifying Checksum ... OK                                             
    ERROR: Did not find a cmdline Flattened Device Tree                   
    Could not find a valid device tree                                    
    reading boot.scr                                                      
    
    ** Unable to read file boot.scr **                                                                                                                              Failed to mount ext2 filesystem...                                    
    
    ** Unrecognized filesystem type **                                                                                                                              Failed to mount ext2 filesystem...                                    
    
    ** Unrecognized filesystem type **                                                                                                                              Failed to mount ext2 filesystem...                                    
    
    ** Unrecognized filesystem type **                                                                                                                              reading script.bin                                                    
    46240 bytes read in 30 ms (1.5 MiB/s)                                 
    reading uImage                                                        
    5359240 bytes read in 274 ms (18.7 MiB/s)                             
    
    ## Booting kernel from Legacy Image at 48000000 ...                                                                                                                Image Name:   Linux-3.4.105+                                          
    Image Type:   ARM Linux Kernel Image (uncompressed)                   
    Data Size:    5359176 Bytes = 5.1 MiB                                 
    Load Address: 40008000                                                
    Entry Point:  40008000                                                
    Verifying Checksum ... OK                                             
    Loading Kernel Image ... OK                                           
    
    Starting kernel ...
    

    The system does eventually boot, but it seems like it first tries to read from boot.src, but then somehow finds the correct image file and boots fine.

    I just want to remove this error. Could somebody please elaborate?