分类: LINUX
2009-02-12 11:08:22
在一塊s3c2440a的平台上,跑linux-2.6.12.1, 在root分區中直接用genromfs建立了一個romfs.img,寫入root分區, 打印的信息如下,又跟蹤了一下發現在
create_dev("/dev/root", ROOT_DEV, root_device_name);就出錯了返回值 -2,
請高人指點一二。
Uncompressing Linux.......................................................... done, booting the kernel.
consoleLinux version 2.6.12.1 (xxxx@xxxx) (gcc version 3.4.3) #49 Fri Jul 1 14:30:16 2005
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
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
Machine: SMDK2440
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440aaa)
S3C2440: core 196.608 MHz, memory 98.304 MHz, peripheral 49.152 MHz
S3C2410 Clocks, (c) 2004 Simtec Electronics
Built 1 zonelists
Kernel command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC1,115200n8
irq: clearing pending ext status 00000100
irq: clearing subpending status 00000010
PID hash table entries: 256 (order: 8, 4096 bytes)
timer tcon=00000000, tcnt 9fff, tcfg 000002_0,00000000, usec 00001f40
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB = 32MB total
Memory: 30464KB available (1473K code, 303K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C2440: Clock Support, UPLL 208.896 MHz
S3C2410 DMA Driver, (c) 2003-2004 Simtec Electronics
DMA channel 0 at c2800000, irq 33
DMA channel 1 at c2800040, irq 34
DMA channel 2 at c2800080, irq 35
DMA channel 3 at c28000c0, irq 36
NetWinder Floating Point Emulator V0.97 (double precision)
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFS: nTxBlock = 238, nTxLock = 1908
S3C2410 RTC, (c) 2004 Simtec Electronics
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
S3C2410 NAND Driver, (c) 2004 Simtec Electronics
s3c2410-nand: mapped registers at c2a00000
s3c2410-nand: timing: Tacls 9ns, Twrph0 39ns, Twrph1 9ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0x36 (Samsung NAND 64MiB 1,8V 8-bit)
NAND_ECC_NONE selected by board driver. This is not recommended !!
Scanning device for bad blocks
Creating 5 MTD partitions on "NAND 64MiB 1,8V 8-bit":
0x00000000-0x00020000 : "loader"
mtd: Giving out device 0 to loader
0x00020000-0x00030000 : "param"
mtd: Giving out device 1 to param
0x00030000-0x00200000 : "kernel"
mtd: Giving out device 2 to kernel
0x00200000-0x00400000 : "root"
mtd: Giving out device 3 to root
0x00400000-0x03ef8000 : "user"
mtd: Giving out device 4 to user
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 384 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
NET: Registered protocol family 1
VFS: Cannot open root device "mtdblock3" or unknown-block(31,3)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
不知道2.6上怎麼樣,你把內核參數root=/dev/mtdblock3改為root=/dev/mtdblock/3試試,或者去掉devfs支持試試。