天嵌 ARM开发社区

 找回密码
 注册
查看: 4287|回复: 11

求助:移植内核及yaffs文件系统错误

[复制链接]
zwxhehe2012 发表于 2012-10-29 12:05:17 | 显示全部楼层 |阅读模式
移植linux-2.6.30内核及yaffs文件系统出现以下错误:

yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs: auto selecting yaffs2
block 491 is bad
block 770 is bad
block 1082 is bad
block 1201 is bad
block 1627 is bad
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 180K
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.
Backtrace:
[<c0039fd4>] (dump_backtrace+0x0/0x10c) from [<c028c9ac>] (dump_stack+0x18/0x1c)

r7:00000000 r6:c0385ea0 r5:c0385860 r4:c0360240
[<c028c994>] (dump_stack+0x0/0x1c) from [<c028c9fc>] (panic+0x4c/0x124)
[<c028c9b0>] (panic+0x0/0x124) from [<c00354f0>] (init_post+0xec/0x178)
r3:00000000 r2:c3860d00 r1:c03b5000 r0:c030fcfc
[<c0035404>] (init_post+0x0/0x178) from [<c000847c>] (kernel_init+0xcc/0xf4)
r5:c001de74 r4:c001e1f4
[<c00083b0>] (kernel_init+0x0/0xf4) from [<c004af3c>] (do_exit+0x0/0x620)
r7:00000000 r6:00000000 r5:00000000 r4:00000000
根文件系统/dev目录下面已经创建了null console两个设备文件,麻烦解答一下这个问题,非常感谢
亚瑟王 发表于 2012-10-29 16:34:01 | 显示全部楼层
烧写天嵌科技的文件系统+你的内核,是怎么样的效果?
 楼主| zwxhehe2012 发表于 2012-10-30 11:13:03 | 显示全部楼层
烧写我自己的内核加天嵌的根文件系统(烧写的是root_qtopia-2.2.0(256M)),出现以下错误
VFS: Cannot open root device "mtdblock2" or unknown-block(31,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00             256 mtdblock0 (driver?)
1f01            3072 mtdblock1 (driver?)
1f02          257024 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
Backtrace:
[<c0218fd4>] (dump_backtrace+0x0/0x10c) from [<c046d694>] (dump_stack+0x18/0x1c)

r7:c380a0b9 r6:c0567ec0 r5:00008000 r4:c381df48
[<c046d67c>] (dump_stack+0x0/0x1c) from [<c046d6e4>] (panic+0x4c/0x124)
[<c046d698>] (panic+0x0/0x124) from [<c0008edc>] (mount_block_root+0x188/0x2c8)
r3:00000000 r2:c385c62c r1:c381df48 r0:c04f1a04
[<c0008d54>] (mount_block_root+0x0/0x2c8) from [<c0009070>] (mount_root+0x54/0x6
c)
[<c000901c>] (mount_root+0x0/0x6c) from [<c000919c>] (prepare_namespace+0x114/0x
1d0)
r5:c01fd83c r4:c0567884
[<c0009088>] (prepare_namespace+0x0/0x1d0) from [<c0008478>] (kernel_init+0xc8/0
xf4)
r6:c0021dd4 r5:c0021a58 r4:c0021dd4
[<c00083b0>] (kernel_init+0x0/0xf4) from [<c022a01c>] (do_exit+0x0/0x620)
r7:00000000 r6:00000000 r5:00000000 r4:00000000

难道是我内核的问题,按照你们步奏做的,也已经修改了NANDFLASH的文件,现在不清楚有可能内核那部分有问题?
TQ-lkp 发表于 2012-10-30 11:25:48 | 显示全部楼层
有没有选上yaffs支持
 楼主| zwxhehe2012 发表于 2012-10-30 13:59:23 | 显示全部楼层
TQ-lkp 发表于 2012-10-30 11:25
有没有选上yaffs支持

配置内核的时候选上了
chris_xi 发表于 2012-11-2 23:12:29 | 显示全部楼层
文件系统做的有问题
独孤珊川 发表于 2012-11-3 08:05:21 | 显示全部楼层
使用的mkyaffs2img工具是否支持128M NAND FLASH的大页结构,还有制作文件结构的时候的库文件是否完全,你copy一下天嵌提供的文件系统的库文件,再试一下。
亚瑟王 发表于 2012-11-5 17:19:50 | 显示全部楼层
zwxhehe2012 发表于 2012-10-30 11:13
烧写我自己的内核加天嵌的根文件系统(烧写的是root_qtopia-2.2.0(256M)),出现以下错误
VFS: Cannot open ...

把你的内核启动的整个过程的串口信息贴出来看一下。
 楼主| zwxhehe2012 发表于 2012-11-7 10:26:48 | 显示全部楼层
亚瑟王 发表于 2012-11-5 17:19
把你的内核启动的整个过程的串口信息贴出来看一下。

自己的内核加天嵌的根文件系统
下面是启动信息和错误

##### EmbedSky BIOS for SKY2440/TQ2440 #####
Press Space key to Download Mode !
Booting Linux ...
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00200000 ... Copy Kern
el to SDRAM done,NOW, Booting Linux......
Uncompressing Linux.............................................................
....................................................... done, booting the kernel
.
Linux version 2.6.30.4 (root@localhost.localdomain) (gcc version 4.3.3 (Sourcery
G++ Lite 2009q1-176) ) #1 Fri Nov 2 08:34:44 CST 2012
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: SMDK2440
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C244X: core 400.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/mtdblock2 init=/linuxrc console=ttySAC0
NR_IRQS:85
irq: clearing subpending status 00000002
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console [ttySAC0] enabled
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: 61072KB available (3240K code, 350K data, 180K init, 0K highmem)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 199.47 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 296 bytes
NET: Registered protocol family 16
S3C2440: Initialising architecture
S3C2440: IRQ Support
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
S3C244X: Clock Support, DVS off
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
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 97 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
cfg80211: Calling CRDA to update world regulatory domain
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
NET: Registered protocol family 1
msgmni has been set to 119
alg: No test for stdrng (krng)
io scheduler noop registered (default)
Console: switching to colour frame buffer device 40x15
fb0: s3c2410fb frame buffer device
backlight initialized
adc initialized
s3c2440-uart.0: tq2440_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: tq2440_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: tq2440_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
brd: module loaded
loop: module loaded
Driver 'sd' needs updating - please use bus_type methods
dm9000 Ethernet Driver, V1.31
Now use the default MAC address: 10:23:45:67:89:ab
eth0 (dm9000): not using net_device_ops yet
eth0: dm9000e at c4814000,c4818004 IRQ 51 MAC: 10:23:45:67:89:ab (EmbedSky)
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand s3c2440-nand: Tacls=2, 20ns Twrph0=3 30ns, Twrph1=2 20ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bi
t)
Scanning device for bad blocks
Bad eraseblock 530 at 0x000004240000
Bad eraseblock 809 at 0x000006520000
Bad eraseblock 1121 at 0x000008c20000
Bad eraseblock 1240 at 0x000009b00000
Bad eraseblock 1666 at 0x00000d040000
Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x000000000000-0x000000040000 : "EmbedSky_Board_uboot"
0x000000200000-0x000000500000 : "EmbedSky_Board_kernel"
0x000000500000-0x000010000000 : "EmbedSky_Board_yaffs2"
setting pre-scaler to 1 (hz 10000000)
mode: 1 , bpw: 8, max_hz: 10000000
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: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: S3C24XX OHCI
usb usb1: Manufacturer: Linux 2.6.30.4 ohci_hcd
usb usb1: SerialNumber: s3c24xx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
s3c2410_udc: debugfs dir creation failed -19
mice: PS/2 mouse device common for all mice
TQ2440 TouchScreen successfully loaded
input: TQ2440 TouchScreen as /devices/virtual/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
zc0301: V4L2 driver for ZC0301[P] Image Processor and Control Chip v1:1.10
usbcore: registered new interface driver zc0301
gspca: main v2.5.0 registered
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v0.1.0)
mapped channel 0 to 0
s3c2440-sdi s3c2440-sdi: powered down.
s3c2440-sdi s3c2440-sdi: initialisation done.
s3c2440-sdi s3c2440-sdi: powered down.
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.18a.
No device for DAI UDA134X
No device for DAI s3c24xx-i2s
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
asoc: UDA134X <-> s3c24xx-i2s mapping ok
ALSA device list:
  #0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
lib80211: common routines for IEEE802.11 drivers
s3c2410-rtc s3c2410-rtc: hctosys: invalid date/time
end_request: I/O error, dev mtdblock2, sector 0
FAT: unable to read boot sector
VFS: Cannot open root device "mtdblock2" or unknown-block(31,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00             256 mtdblock0 (driver?)
1f01            3072 mtdblock1 (driver?)
1f02          257024 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
Backtrace:
[<c0039fd4>] (dump_backtrace+0x0/0x10c) from [<c028ec00>] (dump_stack+0x18/0x1c)

r7:c380a0c0 r6:c0389e60 r5:00008000 r4:c381df48
[<c028ebe8>] (dump_stack+0x0/0x1c) from [<c028ec50>] (panic+0x4c/0x124)
[<c028ec04>] (panic+0x0/0x124) from [<c0008e80>] (mount_block_root+0x188/0x2c8)
r3:00000000 r2:c3801c2c r1:c381df48 r0:c0312368
[<c0008cf8>] (mount_block_root+0x0/0x2c8) from [<c0009014>] (mount_root+0x54/0x6
c)
[<c0008fc0>] (mount_root+0x0/0x6c) from [<c0009134>] (prepare_namespace+0x108/0x
1c4)
r5:c001f83c r4:c001f84c
[<c000902c>] (prepare_namespace+0x0/0x1c4) from [<c0008478>] (kernel_init+0xc8/0
xf4)
r7:00000000 r6:c001e210 r5:c001de94 r4:c001e210
[<c00083b0>] (kernel_init+0x0/0xf4) from [<c004af3c>] (do_exit+0x0/0x620)
r7:00000000 r6:00000000 r5:00000000 r4:00000000
embedsky_lhh 发表于 2012-11-7 10:37:34 | 显示全部楼层
zwxhehe2012 发表于 2012-11-7 10:26
自己的内核加天嵌的根文件系统
下面是启动信息和错误

可能是你内核的yaffs补丁有差异,你直接复制光盘的内核中的yaffs2目录进去然后配置,然后编译,编译过程可能有报错,你针对报错的地方做些修改既可
 楼主| zwxhehe2012 发表于 2012-11-7 11:50:08 | 显示全部楼层
embedsky_lhh 发表于 2012-11-7 10:37
可能是你内核的yaffs补丁有差异,你直接复制光盘的内核中的yaffs2目录进去然后配置,然后编译,编译过程可 ...

是这样的,自己的内核实际上是直接用天嵌光盘里面的2.6.30.4的内核源代码,按照教程配置和编译了一下,那里面的yaffs2目录就是你指的光盘内核中的yaffs2目录啊,还有现在我先烧写天嵌提供的内核镜像和天嵌的根文件系统镜像成功,然后我把天嵌的根文件系统镜像换成我的根文件系统烧写,结果使用uboot里面的下载命令烧写不进去,出现下面的错误,不知道怎么回事:
a] Download User Program (eg: uCOS-II or TQ2440_Test)
Download LOGO Picture (.bin) to Nand  Flash
[l] Set LCD Parameters
[r] Reboot u-boot
[t] Test Linux Image (zImage)
[q] quit from menu
Enter your selection: 6
USB host is connected. Waiting a download.
Length of file is too big : 74845056 > 64085884

NAND erase: device 0 offset 0x400000, size 0xfc00000
Skipping bad block at  0x04240000
Skipping bad block at  0x06520000
Skipping bad block at  0x08c20000
Skipping bad block at  0x09b00000
Skipping bad block at  0x0d040000
Erasing at 0xffe0000 -- 100% complete.
OK

NAND write: device 0 offset 0x400000, size 0x0


0 bytes written: OK
以前可以的,怎么现在自己的根文件系统根本烧写不进去了?麻烦解答一下
embedsky_lhh 发表于 2012-11-7 15:20:46 | 显示全部楼层
zwxhehe2012 发表于 2012-11-7 11:50
是这样的,自己的内核实际上是直接用天嵌光盘里面的2.6.30.4的内核源代码,按照教程配置和编译了一下,那 ...

你的文件系统大小已经超过内存大小,要在论坛上下载一个最新的uboot镜像http://www.armbbs.net/forum.php? ... boot%2B%BE%B5%CF%F1
我以为你自己移植的内核,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-9 09:28 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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