免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5816 | 回复: 11
打印 上一主题 下一主题

[操作系统] linxu内核启动出错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-02 15:00 |只看该作者 |倒序浏览
大家好,我的在S3C210上移植linxu2.6.32内核l时启动出错,各位大侠帮我指导下,谢谢!

   大概情况如下:
   我的分区表如下:
                             name              offset        size        flag
                              ------------------------------------------------
                             vivi            : 0x00000000    0x00020000     0  128k
                             param           : 0x00020000    0x00010000     0   64k
                             kernel          : 0x00030000    0x00300000     0    3M
                             root            : 0x00330000    0x002c0000     0    2M+768k
                             usr             : 0x00600000    0x03a00000     0   58M

  kernel中是移植的linxu2.6.32内核
  root是cramfs文件系统(我原来板上用的是2.4内核,也是用此文件系统,启动正常)
  usr中使用yaffs文件系统


移植的linux2.6.32内核启动时会出现如下错误信息

Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "mtdblock/3" or unknown-block(2,0)

大家帮我看下是什么原因不能打开"mtdblock/3“分区,谢谢了。



  

  




以下是linux具体的启动信息
Copy linux kernel from 0x00030000 to 0x30008000, size = 0x00300000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/mtdblock/3 init=/linuxrc console=ttySAC0"
MACH_TYPE = 193
NOW, Booting Linux......
Uncompressing Linux...................................................................................................................................... done, booting the kernel.
Linux version 2.6.32.2 (arm443@ubuntu) (gcc version 4.4.3 (ctng-1.6.1) ) #14 Mon Aug 1 22:56:31 PDT 2011
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: SMDK2410
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2410A (id 0x32410002)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C2410: core 200.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: noinitrd root=/dev/mtdblock/3 init=/linuxrc console=ttySAC0
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 60512KB available (3864K code, 341K data, 152K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:99
irq: clearing subpending status 00000003
irq: clearing subpending status 00000002
Console: colour dummy device 80x30
console [ttySAC0] enabled
Calibrating delay loop... 99.53 BogoMIPS (lpj=248832)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
S3C Power Management, Copyright 2004 Simtec Electronics
S3C2410: Initialising architecture
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
DMA channel 0 at c4808000, irq 33
DMA channel 1 at c4808040, irq 34
DMA channel 2 at c4808080, irq 35
DMA channel 3 at c48080c0, irq 36
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
s3c-i2c s3c2410-i2c: slave address 0x10
s3c-i2c s3c2410-i2c: bus frequency set to 97 KHz
s3c-i2c s3c2410-i2c: i2c-0: S3C I2C adapter
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
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 204
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (extended precision)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) (SUMMARY)  Â© 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni has been set to 118
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
s3c2410-lcd s3c2410-lcd: no platform data for lcd, cannot attach
s3c2410-lcd: probe of s3c2410-lcd failed with error -22
lp: driver loaded but no devices found
ppdev: user-space parallel port driver
leds    initialized
buttons initialized
pwm     initialized
adc     initialized
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
s3c2410-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410
s3c2410-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410
s3c2410-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410
brd: module loaded
loop: module loaded
Uniform Multi-Platform E-IDE driver
ide-gd driver 1.18
ide-cd driver 5.00
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c24xx-nand s3c2410-nand: Tacls=2, 20ns Twrph0=6 60ns, Twrph1=2 20ns
s3c24xx-nand s3c2410-nand: NAND ECC disabled
add by zhengjixiang at:  drivers/mtd/nand/s3c2410.c  
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
Creating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x000000000000-0x000000020000 : "vivi"
0x000000020000-0x000000030000 : "param"
0x000000030000-0x000000330000 : "kernel"
0x000000330000-0x000000d30000 : "root"
0x000000d30000-0x000003d30000 : "usr"
usbcore: registered new interface driver alauda
dm9000 Ethernet Driver, V1.31
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
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
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
Advanced Linux Sound Architecture Driver Version 1.0.21.
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 17
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "mtdblock/3" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00             128 mtdblock0 (driver?)
1f01              64 mtdblock1 (driver?)
1f02            3072 mtdblock2 (driver?)
1f03           10240 mtdblock3 (driver?)
1f04           49152 mtdblock4 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
Backtrace:
[<c0032ad0>] (dump_backtrace+0x0/0x114) from [<c0317dec>] (dump_stack+0x18/0x1c)
r6:00008000 r5:c3886000 r4:c041c264
[<c0317dd4>] (dump_stack+0x0/0x1c) from [<c0317e3c>] (panic+0x4c/0x11c)
[<c0317df0>] (panic+0x0/0x11c) from [<c0009108>] (mount_block_root+0x1d8/0x21
r3:00000000 r2:00000000 r1:c381bf64 r0:c0396e56
[<c0008f30>] (mount_block_root+0x0/0x21 from [<c000920c>] (mount_root+0xc4/0xfc)
[<c0009148>] (mount_root+0x0/0xfc) from [<c00093b0>] (prepare_namespace+0x16c/0x1c0)
r5:c002881d r4:c041b9d4
[<c0009244>] (prepare_namespace+0x0/0x1c0) from [<c0008648>] (kernel_init+0xe0/0x114)
r5:c00271b8 r4:c041b7a0
[<c0008568>] (kernel_init+0x0/0x114) from [<c0054f78>] (do_exit+0x0/0x5ac)
r5:00000000 r4:00000000

论坛徽章:
0
2 [报告]
发表于 2011-08-02 15:22 |只看该作者
本帖最后由 rqzrqh 于 2011-08-02 15:27 编辑

试试启动参数为root=/dev/mtdblock3,或root=/dev/mtd3之类的。
可能2.6的mtd的命名方式不一样。
从信息来看应该是检测为mtdblockN这种格式

论坛徽章:
0
3 [报告]
发表于 2011-08-02 16:13 |只看该作者
谢谢 楼上rqzrqh,是刚才那启动不能打开“mtdblock/3”的错误按你的方法解决了。


现在启动出现如下信息
Creating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x000000000000-0x000000020000 : "vivi"
0x000000020000-0x000000030000 : "param"
0x000000030000-0x000000330000 : "kernel"
0x000000330000-0x000000d30000 : "root"
0x000000d30000-0x000003d30000 : "usr"
usbcore: registered new interface driver alauda
dm9000 Ethernet Driver, V1.31
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
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
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
Advanced Linux Sound Architecture Driver Version 1.0.21.
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 17
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
VFS: Mounted root (cramfs filesystem) readonly on device 31:3.
Freeing init memory: 152K
Warning: unable to open an initial console.

论坛徽章:
0
4 [报告]
发表于 2011-08-02 16:41 |只看该作者
还需要指定init=...,如果用busybox建立根文件系统的话,就要可以传入init=/linuxrc,指示内核完成启动后第一个执行的程序

论坛徽章:
0
5 [报告]
发表于 2011-08-02 16:49 |只看该作者
回复 4# nazily2150

我的bootloader传递了此参数,具体命令行如下
    Linux command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

论坛徽章:
0
6 [报告]
发表于 2011-08-02 16:54 |只看该作者
不需要添加这个noinitrd吧?

论坛徽章:
0
7 [报告]
发表于 2011-08-02 16:59 |只看该作者
回复 6# nazily2150


    我试的,不加也是一样的,我用的文件系统是cramfs。

论坛徽章:
0
8 [报告]
发表于 2011-08-02 17:05 |只看该作者
还要确认你的init的程序的权限问题

论坛徽章:
0
9 [报告]
发表于 2011-08-02 20:23 |只看该作者
本帖最后由 janylilala 于 2011-08-02 20:26 编辑

回复 8# nazily2150


    不好意思,你说的“init的程序的权限”问题不是很理解,我linux内核启动,并应该是用root权限挂载cramfs文件系统,应该有执行根目录下的linuxrc文件权限
   
   若真的是你所说的“init的程序的权限问题”,那应该如何解决呢,请赐教下,谢谢!


  我的根目录下的linuxrc文件内容如下
  1 #!/bin/sh
  2
  3 echo "mount /etc as ramfs"
  4 /bin/mount -n -t ramfs ramfs /etc
  5 /bin/cp -a /mnt/etc/* /etc
  6 mknod -m 660 console c 5 1
  7 mknod -m 660 null c 1 3
  8 echo "re-create the /etc/mtab entries"
  9 # re-create the /etc/mtab entries
10 /sbin/insmod -f /lib/yaffs.o
11 /bin/mount -f -t yaffs -o remount,rw /dev/mtdblock/3 /
12 #/bin/mount -f -t ramfs ramfs /etc
13
14 /bin/mount -t yaffs /dev/mtdblock/4 /usr
15 #/bin/cp -a /usr/etc/linutte/* /etc/linutte
16
17 /sbin/insmod -f /lib/mmcsd_core.o
18 /sbin/insmod -f /lib/mmcsd_disk.o
19 /sbin/insmod -f /lib/mmcsd_slot.o
20 /sbin/insmod -f /lib/mmc_fix.o
21
22
23 exec /sbin/init

论坛徽章:
0
10 [报告]
发表于 2011-08-03 11:23 |只看该作者
问题解决了,我在网上找的,是因为在2.6.14后内核对devf设备发生了变化

其实是缺少 /dev/console 和 /dev/null
在文件系统dev目录下添加如下两条命令就可以正常启动了
mknod -m 660 console c 5 1
mknod -m 660 null c 1 3
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP