免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6720 | 回复: 4

[BootLoader] 求解:u-boot添加USB后,能引导内核 但不能挂载文件系统 [复制链接]

论坛徽章:
0
发表于 2011-06-22 10:34 |显示全部楼层
开发板:TQ6410
CPU:ARM1176 s3c6410
使用友善的uboot烧写2.6.38.2内核及yaffs2文件系统。
我自己的uboot可以引导内核正常启动,可以挂载文件系统(友善的自然也可以引导、挂载)。

当我向自己的uboot添加USB下载功能,并烧写内核及文件系统后,可以引导内核,但是挂载不了文件系统。
串口打印的信息和没有烧写文件系统时是一样的。

串口打印的信息如下:
……
s3c-sdhci s3c-sdhci.0: clock source 0: hsmmc (133250000 Hz)
s3c-sdhci s3c-sdhci.0: clock source 1: hsmmc (133250000 Hz)
s3c-sdhci s3c-sdhci.0: clock source 2: mmc_bus (24000000 Hz)
mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA
s3c-sdhci s3c-sdhci.1: clock source 0: hsmmc (133250000 Hz)
s3c-sdhci s3c-sdhci.1: clock source 1: hsmmc (133250000 Hz)
s3c-sdhci s3c-sdhci.1: clock source 2: mmc_bus (24000000 Hz)
mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz
mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
mmc0: mmc_rescan_try_freq: trying to init card at 300000 Hz
yaffs: dev is 32505858 name is "mtdblock2" rw
yaffs: passed flags ""
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 112K
Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[<c002f07c>] (unwind_backtrace+0x0/0xec) from [<c01aaa94>] (panic+0x4c/0x17
[<c01aaa94>] (panic+0x4c/0x17 from [<c0024604>] (init_post+0x108/0x13
[<c0024604>] (init_post+0x108/0x13 from [<c00085b0>] (kernel_init+0x10c/0x14c)
[<c00085b0>] (kernel_init+0x10c/0x14c) from [<c002a860>]  
(kernel_thread_exit+0x0/0x



用友善的uboot引导不了我的uboot烧写的内核,报如下错误:

NAND read: device 0 offset 0x80000, size 0x500000

s3c-nand: 1 bit error detected at byte 1242, correcting from 0x00 to 0x40...OK

s3c-nand: ECC uncorrectable error detected

s3c-nand: 1 bit error detected at byte 499, correcting from 0xe1 to 0xe9...OK

s3c-nand: ECC uncorrectable error detected

reading NAND page at offset 0x80000 failed

5242880 bytes read: ERROR

## Booting image at c0008000 ...

Boot with Image


Starting kernel ...


undefined instruction

pc : [<50008004>] lr : [<c7e22ed0>]

sp : c7fffdfc ip : 7f005000 fp : c7e2ce6c

r10: 00000002 r9 : 00000000 r8 : 6c976a6f

r7 : 00000000 r6 : 00000000 r5 : 50000124 r4 : 00000000

r3 : 50008000 r2 : 50000100 r1 : 000009d8 r0 : 00000000

Flags: nZCv IRQs off FIQs off Mode SVC_32

Resetting CPU ...


应该是ECC的问题,由于是新手,还请高手们讲解得详细一点,万分感谢!

论坛徽章:
0
发表于 2011-06-22 17:01 |显示全部楼层
既然是uboot从nand中读取数据出错,那么就一点点去排除原因:
1.确保你的nand flash的驱动是对的。
2.确保你烧写到nand上面的数据的oob的位置,是和nand驱动中一致的。

论坛徽章:
0
发表于 2011-06-23 11:47 |显示全部楼层
是不是FS才要写ECC到OOB,而KERNEL不用呢?
我在跟踪drivers/mtd/nand/nand_util.c的if (opts->writeoob)
时可以看到在写KERNEL时,其值为假,而写FS则为真。

由于是新手,有些问题在高手面前看起来比较弱智,
但是还请高手能够回答一下,指点指点
不然新手往往会死在弱智的问题上面的。

论坛徽章:
0
发表于 2011-07-01 11:52 |显示全部楼层
对 kernel是不用写ECC的。
我之前做过一个在板子启动的时候自动扫描U盘,如果有升级文件就重写整个nand flash的东西
对kernel是不需要使用mkyaffs2这个工具来生成IMG的。也就是说它不需要写ECC

论坛徽章:
0
发表于 2012-06-29 13:15 |显示全部楼层
请问u-boot compiler后出现下列错误,没有定义这些 function,要怎么修改?我 cpu 是 davinci,谢谢
/root/u-boot-1.3.4_25MHz_test/common/usb.c:134: undefined reference to `usb_lowlevel_stop'
common/libcommon.a(usb.o)(.text+0x80): In function `usb_submit_int_msg':
/root/u-boot-1.3.4_25MHz_test/common/usb.c:158: undefined reference to `submit_int_msg'
common/libcommon.a(usb.o)(.text+0x114): In function `usb_control_msg':
/root/u-boot-1.3.4_25MHz_test/common/usb.c:188: undefined reference to `submit_control_msg'
common/libcommon.a(usb.o)(.text+0x19: In function `usb_bulk_msg':
/root/u-boot-1.3.4_25MHz_test/common/usb.c:215: undefined reference to `submit_bulk_msg'
common/libcommon.a(usb.o)(.text+0x177c): In function `usb_init':
/root/u-boot-1.3.4_25MHz_test/common/usb.c:110: undefined reference to `usb_lowlevel_init'
common/libcommon.a(usb_storage.o)(.text+0x634): In function `usb_stor_CBI_get_status':
/root/u-boot-1.3.4_25MHz_test/common/usb_storage.c:555: undefined reference to `submit_int_msg'
make: *** [u-boot] Error 1
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP