小弟根据从论坛上下载的mini2440 linux移植开发指南 进行移植操作。。下载并更新了2010-2月的supervivi (最新的吧)。。。
问题:
1.指南说明最新supervivi可以容纳内核5M的。。但我从ftp上下载的linux包。。烧写里面的linux内核。是2.5m的。。提示文件太大。。请问怎么设置才可以实现容纳内核5M
[r] Restore NAND Flash from HOST through USB
[q] Goto shell of vivi
Version: 0945-2K
Enter your selection: k
USB host is connected. Waiting a download.
Length of file is too big : 2517028 > 2097152
Failed downloading file
2.根据指南上的移植步骤。在移植nand的那一节。。是编译出错的(我用的是Ubuntu8.10,gcc是友善提供的4.3.2。。内核源码从论坛ftp下的)
。。。后面我根据官网内核里面的mach—mini2440.c对应改了下头文件。。编译通过了。。内核也能起来。。
是不是说指南上的步骤是有失误么?编译出错的源码忘了保留
3.更改了 supervivi的linux启动参数。。还是挂载不了yaffs2文件系统。。我挂回2009年11月的root-qt-128m的也不行。。
uncorrectable error :
end_request: I/O error, dev mtdblock2, sector 2
EXT3-fs: unable to read superblock
uncorrectable error :
uncorrectable error :
end_request: I/O error, dev mtdblock2, sector 0
Buffer I/O error on device mtdblock2, logical block 0
uncorrectable error :
uncorrectable error :
end_request: I/O error, dev mtdblock2, sector 0
Buffer I/O error on device mtdblock2, logical block 0
end_request: I/O error, dev mtdblock2, sector 8
Buffer I/O error on device mtdblock2, logical block 1
end_request: I/O error, dev mtdblock2, sector 8
Buffer I/O error on device mtdblock2, logical block 1
end_request: I/O error, dev mtdblock2, sector 16
Buffer I/O error on device mtdblock2, logical block 2
end_request: I/O error, dev mtdblock2, sector 16
Buffer I/O error on device mtdblock2, logical block 2
uncorrectable error :
end_request: I/O error, dev mtdblock2, sector 24
Buffer I/O error on device mtdblock2, logical block 3
uncorrectable error :
end_request: I/O error, dev mtdblock2, sector 24
Buffer I/O error on device mtdblock2, logical block 3
uncorrectable error :
uncorrectable error :
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 128 mtdblock1 (driver?)
1f02 5120 mtdblock2 (driver?)
1f03 125568 mtdblock3 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
[<c002e9f8>] (unwind_backtrace+0x0/0xdc) from [<c02d03d0>] (panic+0x40/0x120)
[<c02d03d0>] (panic+0x40/0x120) from [<c0008e84>] (mount_block_root+0x1d0/0x210)
[<c0008e84>] (mount_block_root+0x1d0/0x210) from [<c000911c>] (prepare_namespace
+0x164/0x1bc)
[<c000911c>] (prepare_namespace+0x164/0x1bc) from [<c000843c>] (kernel_init+0xd8
/0x10c)
[<c000843c>] (kernel_init+0xd8/0x10c) from [<c002a854>] (kernel_thread_exit+0x0/
0x8)
即使我的supervivi改成noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
还是不行、、、
能挂载yaffs2文件系统也报出下列错误信息
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs: auto selecting yaffs2
block 632 is bad
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:3.
Freeing init memory: 132K
Unable to handle kernel paging request at virtual address 5d5d2564
pgd = c3a74000
[5d5d2564] *pgd=00000000
Internal error: Oops: 80000005 [#1]
last sysfs file:
Modules linked in:
CPU: 0 Not tainted (2.6.32.2 #6)
PC is at 0x5d5d2564
LR is at s3c2410_nand_select_chip+0x88/0xa0
pc : [<5d5d2564>] lr : [<c01e8fd0>] psr: 20000033
sp : c3823a48 ip : 00000005 fp : 00000000
r10: c3863800 r9 : 00000000 r8 : c3863988
r7 : 00000001 r6 : 00000003 r5 : 00000000 r4 : c39ac880
r3 : 5d5d2565 r2 : 00000003 r1 : 00000000 r0 : c0024f2c
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment user
Control: c000717f Table: 33a74000 DAC: 00000015
Process linuxrc (pid: 1, stack limit = 0xc3822270)
Stack: (0xc3823a48 to 0xc3824000)
3a40: 02d05800 02d05000 00000000 c01e632c eddaf769 618957a0
3a60: 606a54fe 00000001 00000000 00005a09 00000000 00000001 0000003f 00000800
3a80: 0000001c c39b409c 00000001 00000003 00000003 00000001 00000001 00000000
3aa0: c3820000 02d05800 00000000 00000000 c39cb400 02d05000 00000000 c3863800
3ac0: 00000000 c01e6944 c3823b38 c0020000 c3863800 c01e653c ffffffff f4000000
3ae0: 00004000 00000000 027a5000 00000000 c39cb400 c3813000 0000001c 027a5000
3b00: 00000000 c01ca5f8 c3823b38 c01ca574 027a5000 c3823ba0 00000000 c0025000
3b20: c39cb400 c0151ccc c3823b38 c0037794 00000000 00000000 00000001 00000800
3b40: 00000000 0000001c 00004f8a 00000000 c0025000 c39b4080 00000bb0 c39f2000
3b60: c3823b90 c3813000 0000011f c39fcc98 c3823b90 c39fcc98 00001000 c3813000
3b80: c3823ba0 00004f8a c3813000 c39fcc98 00001000 0008f000 00000000 c0150420
3ba0: aaaaaaaa 00000001 00000bb0 0000011e 00000800 00000001 00000000 00000000
3bc0: 00000000 00001000 00000000 00000000 c3823c0c 0000008e c39dc000 c39fcc98
3be0: c0025000 00000800 c3813000 c0025000 00000000 00000800 c3813000 c014b5bc
3c00: c3823c14 c3823c10 c0025000 00000000 00000000 0000011f 00000000 c0025000
3c20: c04484a0 c39fcc98 c3813000 0000009b 0000009a 00000020 c397ec80 c0145a78
3c40: 00001000 c04484a0 00000006 c04484a0 c397ec80 00000011 c340df3c c0145cb0
3c60: c04484a0 00000005 00000011 c006cc90 c04482d8 c04484d8 0000008a c340df3c
3c80: 00000000 c397ec80 c39dd0b0 0000009a c340df3c 00000000 c397ecc0 c006cd00
3ca0: 00000000 c340df3c c397ec80 c00665d8 c0406f0c 00000000 c3823cf8 c340dea0
3cc0: 00000000 00000001 c03e9a30 c39ecaa8 c3a74000 c39dd0b0 000aa000 00000000
3ce0: c39dc000 c007752c 00000004 c0406f0c c3823cf0 c3a74000 00000001 0000009a
3d00: 000aa000 00000000 c3a74000 00000000 c03e9a30 c39ecaa8 c39dd0b0 000aa000
3d20: c3a74000 00000000 00000001 c007877c 0000009a 00000001 00000000 c00679ec
3d40: 00000001 000000aa c39dc000 000002a8 c3a74000 00000000 ffffffff c39dd0b0
3d60: 000aa959 c3820000 c39dc000 00000805 c3823e48 c39dc034 c397e500 c002f86c
3d80: 000aa959 00000805 c03e2580 c3823e7c 00000805 c3823e48 000aa959 80000013
3da0: 00000000 c00292c0 00000000 000284d0 0000009a 00000000 0000009a 0000009a
3dc0: 00000000 c39dd0d4 c39dd0b0 000aa000 c397ec80 00000000 00000001 c0074d84
3de0: c39dd0b0 c39dc000 000aa000 c007bfd8 c39dd0b0 c007c72c c39dd070 c39dd0b0
3e00: c39dd058 08101877 c39dd0b0 c007d94c c39dd108 c39dc000 00100077 c39dc000
3e20: 00000002 c007c6d4 c39dd108 c007c72c ffffffff c3823e7c 000aa959 000aa100
3e40: 000accb4 c0029a40 000aa959 000006a7 00000000 00000000 000aa959 000accb4
3e60: 000aa959 000aa100 000accb4 c39ae400 00000000 c397e500 00000001 c3823e90
3e80: c00c0898 c017d7c0 80000013 ffffffff 000006a7 c00c0898 000aa959 c00c13a8
3ea0: 00001812 00000000 c3822000 c3823f88 c397e700 00008000 00000000 00000001
3ec0: c39d8a40 c39ae500 beffffd8 c3822000 00008000 000a2100 000aa100 000aa959
3ee0: 00000000 c03e20a8 c04d208b c0090bb0 00000007 c3823f04 00000000 00000000
3f00: c0448500 c0448500 00000007 c0028fd8 00000000 00000009 c0448500 c03ea80c
3f20: c39ae400 fffffff8 00000000 00000000 c3823f88 c39ae402 00000000 c0091048
3f40: 00000000 c39ae400 c3822000 00000000 c03e2130 c3823f88 c03e20a8 c0092098
3f60: c04d2082 00000000 c04d2082 c03e20a8 c03e2130 00000000 00000000 00000000
3f80: 00000000 c002ca88 00000000 00000000 00000000 00000000 00000000 00000000
3fa0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3fc0: 00000000 00000000 00000000 00000000 c397eb80 c0407560 00000000 00000000
3fe0: 00000000 c0029580 c0407560 c0008440 00000000 c002a854 46e0810b 61f2dc6d
Code: bad PC value
---[ end trace 2e8e11f87bea3210 ]---
Kernel panic - not syncing: Attempted to kill init!
[<c002e9f8>] (unwind_backtrace+0x0/0xdc) from [<c02dfaf0>] (panic+0x40/0x120)
[<c02dfaf0>] (panic+0x40/0x120) from [<c003ebe0>] (do_exit+0x64/0x58c)
[<c003ebe0>] (do_exit+0x64/0x58c) from [<c002d70c>] (die+0x15c/0x180)
[<c002d70c>] (die+0x15c/0x180) from [<c002f780>] (__do_kernel_fault+0x64/0x74)
[<c002f780>] (__do_kernel_fault+0x64/0x74) from [<c002f948>] (do_page_fault+0x1b
8/0x1cc)
[<c002f948>] (do_page_fault+0x1b8/0x1cc) from [<c002922c>] (do_PrefetchAbort+0x3
4/0x94)
[<c002922c>] (do_PrefetchAbort+0x34/0x94) from [<c0029ba4>] (__pabt_svc+0x44/0x8
0)
Exception stack(0xc3823a00 to 0xc3823a48)
3a00: c0024f2c 00000000 00000003 5d5d2565 c39ac880 00000000 00000003 00000001
3a20: c3863988 00000000 c3863800 00000000 00000005 c3823a48 c01e8fd0 5d5d2564
3a40: 20000033 ffffffff
[<c0029ba4>] (__pabt_svc+0x44/0x80) from [<5d5d2564>] (0x5d5d2564)
还有一个疑问。。从内核配置菜单中的boot option里面内核支持的mini2440里面是看不到linux_cmd_line的信息的,是空的
。。。然而若是不使用官网本身支持的mach-2440.c。而是按指南上自己建立的。。那是不是需要填写boot option里面的
linux_cmd_line信息。。而且要跟supervivi里面的完全一致的、??
ps:移植的操作除了nand的改了包含头文件。。其他都是根据指南上移植的。。
求助。。。
[ 此帖被vk5176891在2010-04-28 13:43重新编辑 ]