免费注册 查看新帖 |

Chinaunix

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

紧急求助,无法加载根文件系统 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-23 10:42 |只看该作者 |倒序浏览
我的目标板是友善之臂的sbc2410v6,uboot直接用的luofuchong大侠的u-boot-20060523.tar.bz2+u-boot-lfc.patch.下载后一切正常.
然后按照<<linux系统移植>>这个文档,编译出了zImage,用tftp下载到0x30008000地址.
接着根文件系统没有自己做,下了个luofuchong提供的根文件系统的文件夹,然后由于ubuntu8.04没有mkcramfs,我就:
$sudo apt-get install cramfsprogs
$mkcramfs rootfs my_rootfs.cramfs

目标板的nandflash是这样分区的:
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00400000 : "kernel"
0x00400000-0x02c00000 : "root"
0x02d00000-0x03c00000 : "user"

于是将根文件系统烧到nandflash
$tftp 0x31000000 my_rootfs.cramfs
$nand erase 0x400000 0x200000
$nand write 0x31000000 0x400000 0x200000

下载内核
$tftp 0x30008000 zImage
$go 0x30008000

最后报错:
sbc2410=> go 0x30008000

## Starting application at 0x30008000 ...

Uncompressing Linux.................................................................. done, booting the kernel.
Linux version 2.6.14.1 (ryan@ryan-pc) (gcc version 3.4.1) #3 Thu Oct 23 10:56:25 CST 2008

CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)

Machine: SMDK2410

ATAG_INITRD is deprecated; please update your bootloader.

Memory policy: ECC disabled, Data cache writeback

CPU S3C2410A (id 0x32410002)

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: noinitrd root=/dev/mtdblock/3 console=ttySAC0

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: 62720KB available (1640K code, 372K data, 92K 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

S3C2410 DMA Driver, (c) 2003-2004 Simtec Electronics

DMA channel 0 at c4800000, irq 33

DMA channel 1 at c4800040, irq 34

DMA channel 2 at c4800080, irq 35

DMA channel 3 at c48000c0, irq 36

NetWinder Floating Point Emulator V0.97 (double precision)

devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)

devfs: boot_options: 0x1

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 4096K size 1024 blocksize

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

Creating 4 MTD partitions on "NAND 64MiB 3,3V 8-bit":

0x00000000-0x00100000 : "bootloader"

0x00100000-0x00400000 : "kernel"

0x00400000-0x02c00000 : "root"

0x02c00000-0x03b00000 : "user"

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

Root-NFS: No NFS server available, giving up.

VFS: Unable to mount root fs via NFS, trying floppy.

Reading data from NAND FLASH without ECC is not recommended

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

请各位看看我究竟是哪一步出了问题?

还有一个问题,就是我下载了内核到0x30008000后,按理说要执行go 0x30008000才能启动内核,但是我执行go 0或其他随便一个地址,都能启动内核,是不是这个uboot的设置有问题?

我现在想到的可能出错的方面有:
1. 内核的Default kernel command string: noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200 是不是有问题
2. 我用的mkcramfs工具有没有问题
3. 写到nandflash的地址是不是正确

[ 本帖最后由 ryancat 于 2008-10-23 11:54 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-10-23 15:36 |只看该作者

回复 #1 ryancat 的帖子

已解决,我的uboot的bootargs错写成了 bootargs=noinitrd root=/dev/mtdblock/3 console=ttySAC0,实际上mtdblock应该是2

评分

参与人数 1可用积分 +15 收起 理由
bitmilong + 15 分享系一种美德

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP