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.

如何实现SD卡启动,查看分区内容没有问题,启动时总提示** File not found /boot/uImage **



2G SD卡分成了2个分区,一分区FAT格式,2分区EXT4格式

1分区, 放入了MLO,  u-boot.img, uImage,3个文件

2分区,放进了rootfs

上电启动后如下:


U-Boot SPL 2013.04-dirty (May 06 2013 - 16:12:47)
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
OMAP SD/MMC: 0
mmc_send_cmd : timeout: No status update
reading u-boot.img
reading u-boot.img


U-Boot 2013.04-dirty (May 06 2013 - 16:12:47)

I2C:   ready
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  No NAND device found!!!
0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot:  0
gpio: pin 53 (gpio 53) value is 1
mmc0 is current device
micro SD card found
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
SD/MMC found on device 0
reading uEnv.txt
** Unable to read file uEnv.txt **
gpio: pin 55 (gpio 55) value is 1
** File not found /boot/uImage **
U-Boot#

beaglebone自带EMMC的系统没有擦除,去掉SD卡,自带的系统就可以正常启动

  • UBoot命令查看2个分区内容是正确的

    U-Boot# fatls mmc 0:1
      3194336   uimage.bin
       364376   u-boot.img
       100549   mlo


    U-Boot# ext4ls mmc 0:2
    <DIR>       4096 .
    <DIR>       4096 ..
    <DIR>      16384 lost+found
    <DIR>       4096 bin
    <DIR>       4096 boot
    <DIR>       4096 dev
    <DIR>       4096 etc
    <DIR>       4096 home
    <DIR>       4096 lib
    <DIR>       4096 media
    <DIR>       4096 mnt
    <DIR>       4096 proc
    <DIR>       4096 sbin
    <DIR>       4096 srv
    <DIR>       4096 sys
    <SYM>          8 tmp
    <DIR>       4096 usr
    <DIR>       4096 var

  • 这个明显跑的是3.8以上的系统,应该把zImage放在文件系统的boot文件夹下

  • fdisk -l Disk

    /dev/sdb: 1995 MB, 1995964416 bytes 255 heads, 63 sectors/track, 242 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x58d05b11 Device Boot Start End Blocks Id System

    /dev/sdb1 * 1 7 56196 c W95 FAT32 (LBA)

    /dev/sdb2 8 242 1887637+ 83 Linux

    sudo mount /dev/sdb1 /mnt/
    abner@abner-desktop:~$ ls /mnt/
     MLO u-boot.img uImage.bin

    zImage放在SD卡的BOOT分区中,linux内核是3.2版本的,前面的那个启动日志,应该是系统自带的,SD卡中的版本与那些不一样