我正在尝试让我的 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
为了后代,这是我第二次被这个咬了:
希望是最后一个。