Creator CI20:bootm 命令的图像格式错误

Creator CI20:bootm 命令的图像格式错误

我正在尝试让我的 Creator CI20从 SD 卡启动直接地。

我使用以下命令编译了普通 Linux 内核 4.9.20(我在笔记本电脑上运行 debianstretch):

$ make ARCH=mips ci20_defconfig
$ make ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- uImage
Image Name:   Linux-4.9.20
Created:      Sat Jul  1 21:04:19 2017
Image Type:   MIPS Linux Kernel Image (uncompressed)
Data Size:    5225712 Bytes = 5103.23 kB = 4.98 MB
Load Address: 80010000
Entry Point:  8034d0a0
  Image arch/mips/boot/uImage is ready

如果我将文件复制arch/mips/boot/uImage到我的TFTP 位置,我可以管理内核以正常启动:

Hit any key to stop autoboot:  0
ci20# dhcp 0x88000000 192.168.0.14:uImage
ERROR: resetting DM9000 -> not responding
dm9000 i/o: 0xb6000000, id: 0x90000a46 
DM9000: running in 8 bit mode
MAC: d0:31:10:ff:7d:02
operating at 100M full duplex mode
BOOTP broadcast 1
DHCP client bound to address 192.168.0.15
Using dm9000 device
TFTP from server 192.168.0.14; our IP address is 192.168.0.15
Filename 'uImage'.
Load address: 0x88000000
Loading: #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     ################################
     264.6 KiB/s
done
Bytes transferred = 4924012 (4b226c hex)

## Booting kernel from Legacy Image at 88000000 ...
   Image Name:   Linux-4.9.20
   Image Type:   MIPS Linux Kernel Image (uncompressed)
   Data Size:    4923948 Bytes = 4.7 MiB
   Load Address: 80010000
   Entry Point:  803465e0
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting k[    0.111767] jz4780-nemc 13410000.nemc: failed to calculate clock period
[    0.148419] UBI error: cannot open mtd 3, error -19[    0.153621] UBI error: cannot open mtd 4, error -19
[    0.158775] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    0.167039] Rebooting in 10 seconds..bootm 0x88000000NAND:  8192 MiB

但如果我将其复制到 SD 卡上,我会从 u-boot 收到这条奇怪的消息:

U-Boot 2013.10-rc3-g25f5638f9 (Jul 01 2017 - 16:30:50)

Board: ci20 (r1) (Ingenic XBurst JZ4780 SoC)
DRAM:  1 GiB
NAND:  8192 MiB
MMC:   jz_mmc msc1: 0
In:    eserial4
Out:   eserial4
Err:   eserial4
Net:   dm9000
Hit any key to stop autoboot:  0 
** File not found /boot/uImage **
Wrong Image Format for bootm command
ERROR: can't get kernel image!

这是sdcard的内容:

% tree /media/mathieu/466bcc7d-37c4-41f3-b83f-8ac6628eb2bb/boot 
/media/mathieu/466bcc7d-37c4-41f3-b83f-8ac6628eb2bb/boot
├── uImage
└── vmlinux.img

0 directories, 2 files

文件系统是:

% mount
/dev/mmcblk0p1 on /media/mathieu/466bcc7d-37c4-41f3-b83f-8ac6628eb2bb type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)

有没有办法从 u-boot 获取更多有关错误可能是什么的信息?

答案1

正如 @tom-rini 所解释的,问题只是 ext4 中自动添加的 64 位。

文档来自:

描述:

$ sudo mkfs.ext4 /dev/sdx1

相反,它应该说(对于较新的 mkfs.ext4 命令):

$ sudo mkfs.ext4 -O^64bit,^metadata_csum /dev/sdx1

为了后代,这是我第二次被这个咬了:

希望是最后一个。

相关内容