主题 : 求救 linux2.6.22移植到QQ2440 启动报错,无法加载yaffs文件系统 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 7228
精华: 0
发帖: 15
金钱: 160 两
威望: 160 点
综合积分: 30 分
注册时间: 2009-07-06
最后登录: 2009-07-23
楼主  发表于: 2009-07-06 15:55

 求救 linux2.6.22移植到QQ2440 启动报错,无法加载yaffs文件系统

小弟按照网络上的说明,linux2.6.22 + YAFFS2 ,编译uImage后,
我的NAND FLASH是默认的分区

问题:
1. 使用superViVi + DNW 烧录到NAND Flash, DNW默认设置为烧录地址:0x30000000;superViVi怎么知道烧录在那个地址?
2. 在superViVI 使用命令行,看到的分区信息和linux启动是不一致。 这里有问题吗?

------------------------------------------------------------
vivi            :       0x00000000      0x00028000      0
eboot           :       0x00028000      0x00018000      0
param           :       0x00040000      0x00010000      0
kernel          :       0x00050000      0x00200000      0
root            :       0x00250000      0x03dac000      0

----------------------------
linux启动是mtd info:
Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00030000 : "bootloader"
0x00050000-0x00250000 : "kernel"
0x00250000-0x03ffc000 : "root"

请教eboot, param分区是做什么的? 我需要在linux mtd驱动中对应配置吗?


3. linux驱动报错:
--------------------详细信息------------------------

Copy linux kernel from 0x00050000 to 0x30008000, size = 0x00200000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "root=/dev/mtdblock2 init=/linuxrc console=ttySAC0"
MACH_TYPE = 782
NOW, Booting Linux......
Uncompressing Linux............................................................................................................... done, booting the kernel.
Linux version 2.6.22.14 (root@ubuntu) (gcc version 3.4.5) #7 Thu Jul 2 17:59:26 CST 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
Machine: SMDK2440
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
S3C24XX 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.  Total pages: 16256
Kernel command line: root=/dev/mtdblock2 init=/linuxrc console=ttySAC0
irq: clearing subpending status 00000003
irq: clearing subpending status 00000002
PID hash table entries: 256 (order: 8, 1024 bytes)
timer tcon=00000000, tcnt a4ca, tcfg 00000200,00000000, usec 00001e57
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: 64MB = 64MB total
Memory: 61196KB available (3152K code, 356K data, 132K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
S3C2410 Power Management, (c) 2004 Simtec Electronics
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C2440: Clock Support, DVS off
S3C24XX DMA Driver, (c) 2003-2004,2006 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
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
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 2048)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.8)
yaffs Jul  2 2009 17:55:39 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
s3c2410-lcd s3c2410-lcd: invalid bpp 16
Console: switching to colour frame buffer device 30x40
fb0: s3c2410fb frame buffer device
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: module loaded
dm9000 Ethernet Driver
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
s3c2440-nand s3c2440-nand: Tacls=1, 9ns Twrph0=4 39ns, Twrph1=1 9ns
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 2512 at 0x02740000
Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00028000 : "vivi"
0x00050000-0x00250000 : "kernel"
0x00250000-0x03ffc000 : "root"
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
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
mice: PS/2 mouse device common for all mice
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs: block 2364 is marked bad
block 2365 is bad
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 132K
Warning: unable to open an initial console.
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
级别: 新手上路
UID: 7228
精华: 0
发帖: 15
金钱: 160 两
威望: 160 点
综合积分: 30 分
注册时间: 2009-07-06
最后登录: 2009-07-23
1楼  发表于: 2009-07-06 16:00
一开始,使用qq2440自带的文件系统,直接在supervivi里面,下载新编译的内核,烧录到nand 启动后,报上面的错误;
回来按照网上的说明, 使用busybox1.1.3 使用 mkyaffsimage 生成一个 yaffs.img;   使用DNW烧录到开发板。

请教
1. 烧录supervivi, kernel, rootfilesystem  DNW都设置download address为0x30000000 ?? 是supervivi约定的吗?
级别: 新手上路
UID: 7228
精华: 0
发帖: 15
金钱: 160 两
威望: 160 点
综合积分: 30 分
注册时间: 2009-07-06
最后登录: 2009-07-23
2楼  发表于: 2009-07-06 16:07
错误依旧,

后来是 光盘提供的 root_fs.tar.gz , 使用mkyaffsimage 生成一个文件系统, 启动可以了,但是
ifconfig 只能看到lo  设备,不能看到网络设备。

并且新编译的内核不能支持 nfs启动。

谢谢