QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3349|回复: 9

help: 帮忙看下为什么skyeye从nand flash挂载rootfs失败

[复制链接]
发表于 2009-8-10 14:37:24 | 显示全部楼层 |阅读模式
linux2.6.20 (添加了yafss2 / defs支持)
skyeye 1.2.5
busybox1.7.0
可以从ram加载根文件initrd.img
现在想模拟从nand flash上加载yaffs根文件.

提示:
VFS: Cannot open root device "mtdblock2" or unknown-block(31,2)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)

mtdblock2改成mtdblock/2也还是同样的错误.

附件是skyeye.conf和log.
bow

[ 本帖最后由 LLClown 于 2009-8-10 15:05 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2009-8-10 16:05:03 | 显示全部楼层
把root改成设备号31:02,

现在出现这个提示:
No filesystem could mount root, tried: ext2 msdos vfat romfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)

这个应该是指我的根文件没做对吧(我也是按着步骤做的,应该不会错的啊),
还是这个分区要格式化成yaffs呢? 这个分区的大小是比根文件要大些
回复

使用道具 举报

发表于 2009-8-10 17:12:23 | 显示全部楼层
initrd.img 下面运行时,能否 mount 你的 root 分区?
回复

使用道具 举报

 楼主| 发表于 2009-8-11 15:25:56 | 显示全部楼层
yaffs选成了动态加载,改成静态编译.

现在的错误是,
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 116K
Warning: unable to open an initial console.
Failed to execute /linuxrc. Attempting default...
Kernel panic: No init found.  Try passing init= option to kernel.

我又重新编了root文件系统,一直都是这个错误.
回复

使用道具 举报

发表于 2009-8-11 18:04:40 | 显示全部楼层
/dev 里面有什么?
Linux 启动至少必须有 console 和 null 两个设备。
回复

使用道具 举报

 楼主| 发表于 2009-8-12 14:39:43 | 显示全部楼层
有console null ttySAC0 mtdblock0 mtdblock1 mtdblock2
下载了个别人做好的yaffs2根文件,还是报一样错.

网上查到有人说makeyaffsimage有问题,和2.6.2x不匹配,按照修改,有编不过makeyaffsimage.

linux好是好,就是真,乱, 郁闷啊.
回复

使用道具 举报

发表于 2009-8-12 16:22:00 | 显示全部楼层
不是乱,是你没弄明白而已

你确定 /dev 里面的都是设备节点而不是普通文件?
另外注意提示
Failed to execute /linuxrc. Attempting default...
不能运行 /linuxrc ?
回复

使用道具 举报

 楼主| 发表于 2009-8-14 14:09:31 | 显示全部楼层
mknod 生成的console null.
应该还是flash有问题,没能正确读出文件, 网上看到片文章,说yaffs  flashmount上后,只有lost+found目录. 我想我的应该也是这样.

但我也试了别人好用的根文件系统啊, 郁闷
回复

使用道具 举报

 楼主| 发表于 2009-8-14 14:39:04 | 显示全部楼层
我觉得应该是skyeye对flash的模拟有问题,或者是skyeye.conf对flash的写法不对.
谁能帮我看看skyeye.conf写对了麽? 或者有谁在skyeye下mount上yaffs flash麽?
我又试了下linux2.6.14,从ram启动linux后, 想mount yaffs失败.情况和linux2.6.20一样.
[root@localhost skyeye]# skyeye -e vmlinux
Your elf file is little endian.
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x8067594
nandflash: dump ./yaffs.nand
file size:69206016
ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm920t mmu ops
Loaded RAM   ./initrd.img
Loaded FLASH ./root.yaffs2
exec file "vmlinux"'s format is elf32-little.
load section .init: addr = 0xc0008000  size = 0x0001a000.
load section .text: addr = 0xc0022000  size = 0x001dfdb0.
not load section .pci_fixup: addr = 0xc0201db0  size = 0x00000000 .
load section __ksymtab: addr = 0xc0201db0  size = 0x00003ca0.
load section __ksymtab_gpl: addr = 0xc0205a50  size = 0x00000840.
not load section __kcrctab: addr = 0xc0206290  size = 0x00000000 .
not load section __kcrctab_gpl: addr = 0xc0206290  size = 0x00000000 .
load section __ksymtab_strings: addr = 0xc0206290  size = 0x000099a4.
load section __param: addr = 0xc020fc34  size = 0x000003d4.
load section .data: addr = 0xc0212000  size = 0x00049b30.
not load section .bss: addr = 0xc025bb40  size = 0x000232e0 .
not load section .comment: addr = 0x00000000  size = 0x00002316 .
not load section .debug_abbrev: addr = 0x00000000  size = 0x00078753 .
not load section .debug_info: addr = 0x00000000  size = 0x00e2b0e7 .
not load section .debug_line: addr = 0x00000000  size = 0x000f89d6 .
not load section .debug_pubnames: addr = 0x00000000  size = 0x000173f8 .
not load section .debug_str: addr = 0x00000000  size = 0x00062d4e .
not load section .debug_aranges: addr = 0x00000000  size = 0x00004ce0 .
not load section .debug_frame: addr = 0x00000000  size = 0x000442b0 .
not load section .debug_ranges: addr = 0x00000000  size = 0x0001daf8 .
call ARMul_InitSymTable,kernel filename is vmlinux.
start addr is set to 0xc0008000 by exec file.
Linux version 2.6.14 ([email protected]) (gcc version 3.4.1) #7 Wed Aug 12 00:21:06 CST 2009
CPU: ARM920Tid(wb) [41009200] revision 0 (ARMvundefined/unknown)
Machine: SMDK2410
Warning: bad configuration page, trying to continue
Memory policy: ECC disabled, Data cache writeback
CPU S3C2410 (id 0x32410000)
S3C2410: core 62.400 MHz, memory 62.400 MHz, peripheral 62.400 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: mem=32M console=ttySAC0 root=/dev/ram initrd=0xC0800000,0x00800000 ramdisk_size=2048 rw
PID hash table entries: 256 (order: 8, 4096 bytes)
timer tcon=00000000, tcnt cb1f, tcfg 00000200,00000000, usec 0000189e
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: 21632KB available (1976K code, 435K data, 104K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
softlockup thread 0 started up.
Freeing initrd memory: 8192K
NET: Registered protocol family 16
S3C2410: Initialising architecture
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 ([email protected])
devfs: devfs_debug: 0x0
devfs: boot_options: 0x1
yaffs Aug 11 2009 22:40:17 Installing.
lp: driver loaded but no devices found
S3C2410 RTC, (c) 2004 Simtec Electronics
ppdev: user-space parallel port driver
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410
devfs_mk_dev: could not append to parent for tts/0
s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410
devfs_mk_dev: could not append to parent for tts/1
s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410
devfs_mk_dev: could not append to parent for tts/2
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 1 RAM disks of 2048K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
BAST NOR-Flash Driver, (c) 2004 Simtec Electronics
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2410-nand: mapped registers at c2a00000
s3c2410-nand: timing: Tacls 6ns, Twrph0 31ns, Twrph1 6ns
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 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00100000 : "U-Boot"
0x00100000-0x00400000 : "Linux Kernel"
0x00400000-0x04000000 : "Root"
mice: PS/2 mouse device common for all mice
ERROR: s3c2410x_io_write_word(0x5400000 = 0x00000010
s3c2410-i2c s3c2410-i2c: slave address 0x10
s3c2410-i2c s3c2410-i2c: bus frequency set to 390 KHz
ERROR: s3c2410x_io_write_word(0x54000000) = 0x000000a9
s3c2410-i2c s3c2410-i2c: i2c-0: S3C I2C adapter
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 204
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 2048KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).
Mounted devfs on /dev
Freeing init memory: 104K
init started:  BusyBox v1.4.1 (2007-02-10 01:19:06 CST) multi-call binary
Starting pid 21, console /dev/console: '/etc/init.d/rcS'
ifconfig: SIOCSIFADDR: No such device
Welcome to
     _      _____      __   __    _      _
    / \    /  __ \    /  \_/  \  | |    |_|
   / _ \   | |  | |  / /\   /\ \ | |     _ ____  _   _  _  _
  / /_\ \  | |__| | / /  \_/  \ \| |    | |  _ \| | | |\ \/ /
/ /___\ \ | |__\ \ | |       | || |___ | | |_| | |_| |/    \
/_/     \_\| |   \_\|_|       |_||_____||_|_| |_|\____|\_/\_/

ARMLinux for Skyeye
For further information please check:
http://www.skyeye.org/



BusyBox v1.4.1 (2007-02-10 01:19:06 CST) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/ash: can't access tty; job control turned off
/ $ ls
bin         home        linuxrc     root        usr
dev         initrd      lost+found  sbin        var
etc         lib         proc        tmp
/ $ cd dev
/dev $ ls
console   input     mem       parports  pts       root      urandom
fb        kmem      misc      port      pty       shm       vc
full      kmsg      mtdblock  printers  random    tts       vcc
ide       loop      null      ptmx      rd        tty       zero
/dev $ cd mtdblock/
/dev/mtdblock $ ls
0  1  2
/dev/mtdblock $ cd ..
/dev $ cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   sockfs
nodev   pipefs
nodev   futexfs
nodev   tmpfs
nodev   inotifyfs
nodev   eventpollfs
nodev   devpts
        ext2
nodev   ramfs
        msdos
        vfat
nodev   devfs
nodev   nfs
        romfs
        yaffs
        yaffs2
nodev   rpc_pipefs
/dev $ mount -t yaffs /dev/mtdblock/2 /mnt
mount: mounting /dev/mtdblock/2 on /mnt failed
/dev $

[ 本帖最后由 LLClown 于 2009-8-14 14:44 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-8-17 09:52:51 | 显示全部楼层
是还要mknandflashdump模拟烧写制作flash dump文件??

[ 本帖最后由 LLClown 于 2009-8-17 10:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-4-27 09:41 , Processed in 0.107742 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表