移植linux2.6问题
现在在s3c2410上移植u-boot,linux2.6都完成了,网卡也可以用了,用nfs做根文件系统是可以启动的,就是挂载cramfs的时候怎么也不行,下面是log,大侠们帮忙看看啊
Uncompressing Linux.......................................................................... done.Linux version 2.6.14.5 (root@localhost.localdomain) (gcc version 3.4.1) #32 Sun May 27 18:58:59 CS7CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
Machine: SMDK2410
Memory policy: ECC disabled, Data cache writeback
CPU S3C2410 (id 0x32410000)
S3C2410: core 202.800 MHz, memory 101.400 MHz, peripheral 50.700 MHz
S3C2410 Clocks, (c) 2004 Simtec Electronics
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists
Kernel command line: root=/dev/mtdblock2 devfs=mount noinitrd init=/linuxrc console=ttySAC0,115200
irq: clearing subpending status 00000002
PID hash table entries: 512 (order: 9, 8192 bytes)
timer tcon=00500000, tcnt a509, tcfg 00000200,00000000, usec 00001e4c
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 64MB = 64MB total
Memory: 62464KB available (1876K code, 405K data, 96K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
softlockup thread 0 started up.
NET: Registered protocol family 16
S3C2410: Initialising architecture
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NetWinder Floating Point Emulator V0.97 (double precision)
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
yaffs May 24 2007 11:40:48 Installing.
Console: switching to colour frame buffer device 80x25
fb0: Virtual frame buffer device, using 1024K of video memory
S3C2410 RTC, (c) 2004 Simtec Electronics
s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410
s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410
s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
Cirrus Logic CS8900A driver for Linux (Modified for SMDK2410)
eth0: CS8900A rev E at 0xe0000300 irq=53, no eeprom , addr: 08: 0:3E:26:0A:5B
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2410-nand: mapped registers at c4980000
s3c2410-nand: timing: Tacls 10ns, Twrph0 30ns, Twrph1 10ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)
NAND_ECC_NONE selected by board driver. This is not recommended !!
Scanning device for bad blocks
Bad eraseblock 2846 at 0x02c78000
Creating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00300000 : "kernel"
0x00300000-0x00500000 : "root"
0x00500000-0x01000000 : "user"
0x01000000-0x04000000 : "yaffs"
usbmon: debugfs is not available
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
Reading data from NAND FLASH without ECC is not recommended
VFS: Mounted root (cramfs filesystem) readonly.
Mounted devfs on /dev
Freeing init memory: 96K
Open the initial console for you!
Error -3 while decompressing!
c024cdf0(1172)->c3da1000(4096)
incorrect data check
Failed to execute /linuxrc. Attempting defaults...
try /sbin/init
try /etc/init
try /bin/init
try /bin/sh
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
其中incorrect data check是在fs/cramfs/uncompress.c中增加的zlib解压时的错误信息;
其中的try几句是我在init/main.c中增加的打印语句,
从log来看,好像cramfs已经挂载了,但是linuxrc一直都执行不了,linuxrc用脚本试过,也用busybox链接试过,都一样。
大侠们帮忙啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
羡慕中……我还没有开发板,手机MOTO E2没有驱动,也不敢做实验……
Error -3 while decompressing!
c024cdf0(1172)->c3da1000(4096)
incorrect data check
Failed to execute /linuxrc. Attempting defaults...
这可能是你系统起不来的原因,cramfs文件系统解压错误,所以执行不了。
顶一下,我也遇到类似的问题,请哪位大牛出来解释一下原因:
Uncompressing Linux................................................................. done, booting the kernel.
Linux version 2.4.32-uc0 (root@localhost) (gcc version 3.4.4) #115 一 5月 28 06:38:01 CST 2007
CPU: XScale-IXP4xx/IXC11xx revision 1
Machine: Intel IXDP425 Development Platform
alloc_bootmem_low
memtable_init
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/mtdblock2 console=ttyS0,115200 mem=16M@0x00000000
Calibrating delay loop... 527.56 BogoMIPS
Memory: 16MB = 16MB total
Memory: 14000KB available (1594K code, 328K data, 248K init)
Dentry cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
PCI: bus0: Fast back to back transfers enabled
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Sangoma WANPIPE Router v1.1 (c) 1995-2000 Sangoma Technologies Inc.
Initializing RT netlink socket
Starting kswapd
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-0 with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xff000003 (irq = 15) is a XScale UART
ttyS01 at 0xff001003 (irq = 13) is a XScale UART
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
PPP generic driver version 2.4.2
PPP MPPE compression module registered
PPP Deflate Compression module registered
PPP BSD Compression module registered
Amd/Fujitsu Extended Query Table v1.1 at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling fast programming due to code brokenness.
Using static MTD partitions.
Creating 5 MTD partitions on "IXP425 Flash":
0x00000000-0x00040000 : "Boot"
mtd: Giving out device 0 to Boot
0x00040000-0x00120000 : "zImage"
mtd: Giving out device 1 to zImage
0x00120000-0x00320000 : "ramdisk"
mtd: Giving out device 2 to ramdisk
0x00320000-0x003f0000 : "User config"
mtd: Giving out device 3 to User config
0x003f0000-0x00400000 : "Boot config"
mtd: Giving out device 4 to Boot config
init_mtdchar: allocated major number 90.
init_mtdblock: allocated major number 31.
Initializing Cryptographic API
IEEE 802.2 LLC for Linux 2.1 (c) 1996 Tim Alpaerts
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 1024 bind 204
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
Linux IP multicast router 0.06 plus PIM-SM
ip_conntrack version 2.1 (5405 buckets, 43240 max) - 388 bytes per conntrack
ip_conntrack_pptp version $Revision: 1.8 $ loaded
ip_nat_pptp version $Revision: 1.4 $ loaded
ip_tables: (C) 2000-2002 Netfilter core team
ipt_time loading
ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>. http://snowman.net/projects/ipt_recent/
arp_tables: (C) 2002 David S. Miller
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Ebtables v2.0 registered
NET4: Ethernet Bridge 008 for NET4.0
Bridge firewalling registered
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
Other stuff added by David S. Miller <davem@redhat.com>
IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
IPVS: ipvs loaded.
IPVS: [rr] scheduler registered.
IPVS: [wrr] scheduler registered.
IPVS: [lc] scheduler registered.
IPVS: [wlc] scheduler registered.
IPVS: [lblc] scheduler registered.
IPVS: [lblcr] scheduler registered.
IPVS: [dh] scheduler registered.
IPVS: [sh] scheduler registered.
IPVS: [sed] scheduler registered.
IPVS: [nq] scheduler registered.
NetWinder Floating Point Emulator V0.97 (double precision)
mtdblock_open
ok
mtdblock_release
ok
mtdblock_open
ok
mtdblock: read on "ramdisk" at 0x0, size 0x1000
mtdblock: read on "ramdisk" at 0x1000, size 0x1000
mtdblock: read on "ramdisk" at 0x2000, size 0x1000
mtdblock: read on "ramdisk" at 0x3000, size 0x1000
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 248K
Warning: unable to open an initial console.
mtdblock: read on "ramdisk" at 0x144000, size 0x1000
mtdblock: read on "ramdisk" at 0x145000, size 0x1000
mtdblock: read on "ramdisk" at 0x146000, size 0x1000
mtdblock: read on "ramdisk" at 0x147000, size 0x1000
mtdblock: read on "ramdisk" at 0x2e000, size 0x1000
mtdblock: read on "ramdisk" at 0x2f000, size 0x1000
mtdblock: read on "ramdisk" at 0x30000, size 0x1000
mtdblock: read on "ramdisk" at 0x31000, size 0x1000
mtdblock: read on "ramdisk" at 0x148000, size 0x1000
mtdblock: read on "ramdisk" at 0x149000, size 0x1000
mtdblock: read on "ramdisk" at 0x14a000, size 0x1000
mtdblock: read on "ramdisk" at 0x37000, size 0x1000
mtdblock: read on "ramdisk" at 0x38000, size 0x1000
mtdblock: read on "ramdisk" at 0x39000, size 0x1000
mtdblock: read on "ramdisk" at 0x3a000, size 0x1000
mtdblock: read on "ramdisk" at 0x32000, size 0x1000
mtdblock: read on "ramdisk" at 0x33000, size 0x1000
mtdblock: read on "ramdisk" at 0x34000, size 0x1000
mtdblock: read on "ramdisk" at 0x35000, size 0x1000
mtdblock: read on "ramdisk" at 0x36000, size 0x1000
mtdblock: read on "ramdisk" at 0x46000, size 0x1000
mtdblock: read on "ramdisk" at 0x47000, size 0x1000
mtdblock: read on "ramdisk" at 0x48000, size 0x1000
mtdblock: read on "ramdisk" at 0x49000, size 0x1000
mtdblock: read on "ramdisk" at 0xce000, size 0x1000
mtdblock: read on "ramdisk" at 0xcf000, size 0x1000
mtdblock: read on "ramdisk" at 0xd0000, size 0x1000
mtdblock: read on "ramdisk" at 0xd1000, size 0x1000
mtdblock: read on "ramdisk" at 0x4e000, size 0x1000
mtdblock: read on "ramdisk" at 0x4f000, size 0x1000
mtdblock: read on "ramdisk" at 0x50000, size 0x1000
mtdblock: read on "ramdisk" at 0x51000, size 0x1000
mtdblock: read on "ramdisk" at 0xc6000, size 0x1000
mtdblock: read on "ramdisk" at 0xc7000, size 0x1000
mtdblock: read on "ramdisk" at 0xc8000, size 0x1000
mtdblock: read on "ramdisk" at 0xc9000, size 0x1000
mtdblock: read on "ramdisk" at 0xca000, size 0x1000
mtdblock: read on "ramdisk" at 0xcb000, size 0x1000
mtdblock: read on "ramdisk" at 0xcc000, size 0x1000
mtdblock: read on "ramdisk" at 0xcd000, size 0x1000
mtdblock: read on "ramdisk" at 0x4a000, size 0x1000
mtdblock: read on "ramdisk" at 0x4b000, size 0x1000
mtdblock: read on "ramdisk" at 0x4c000, size 0x1000
mtdblock: read on "ramdisk" at 0x4d000, size 0x1000
mtdblock: read on "ramdisk" at 0x52000, size 0x1000
mtdblock: read on "ramdisk" at 0x53000, size 0x1000
mtdblock: read on "ramdisk" at 0x54000, size 0x1000
mtdblock: read on "ramdisk" at 0x55000, size 0x1000
mtdblock: read on "ramdisk" at 0x56000, size 0x1000
mtdblock: read on "ramdisk" at 0xaa000, size 0x1000
mtdblock: read on "ramdisk" at 0xab000, size 0x1000
mtdblock: read on "ramdisk" at 0xac000, size 0x1000
mtdblock: read on "ramdisk" at 0xad000, size 0x1000
mtdblock: read on "ramdisk" at 0xae000, size 0x1000
mtdblock: read on "ramdisk" at 0xaf000, size 0x1000
mtdblock: read on "ramdisk" at 0xb0000, size 0x1000
mtdblock: read on "ramdisk" at 0x7d000, size 0x1000
mtdblock: read on "ramdisk" at 0x7e000, size 0x1000
mtdblock: read on "ramdisk" at 0x7f000, size 0x1000
mtdblock: read on "ramdisk" at 0x80000, size 0x1000
mtdblock: read on "ramdisk" at 0x81000, size 0x1000
mtdblock: read on "ramdisk" at 0x82000, size 0x1000
mtdblock: read on "ramdisk" at 0x83000, size 0x1000
mtdblock: read on "ramdisk" at 0x78000, size 0x1000
mtdblock: read on "ramdisk" at 0x79000, size 0x1000
mtdblock: read on "ramdisk" at 0x7a000, size 0x1000
mtdblock: read on "ramdisk" at 0x7b000, size 0x1000
mtdblock: read on "ramdisk" at 0x7c000, size 0x1000
mtdblock: read on "ramdisk" at 0xc1000, size 0x1000
mtdblock: read on "ramdisk" at 0xc2000, size 0x1000
mtdblock: read on "ramdisk" at 0xc3000, size 0x1000
mtdblock: read on "ramdisk" at 0xc4000, size 0x1000
mtdblock: read on "ramdisk" at 0xc5000, size 0x1000
end_request: I/O error, dev 1f:02 (mtdblock), sector 1576
mtdblock: read on "ramdisk" at 0xc5000, size 0x1000
end_request: I/O error, dev 1f:02 (mtdblock), sector 1576
Error -5 while decompressing!
c01fe394(2490)->c0fec000(4096)
Error decompressing file: ea9f67d1 806704 2490 libc.so.6
Error -3 while decompressing!
c01fed4e(2401)->c0fea000(4096)
Error decompressing file: 69963e1a 809194 2401 libc.so.6
我的解压文件系统的问题解决了,在制作文件系统的时候,有个参数可以设置page size,当size与系统kernel的page size不匹配的时候会出错,具体可以制作文件系统的命令的帮助。
希望会对你有所帮助。