请问楼主,都是按照楼主帖子做的,区别我的编译器用的友善提供的4.5.1,启动时报
[ 1.073342] S3C NAND Driver, (c) 2008 Samsung Electronics
[ 1.177049] MLC nand init failed, -19, 2012 ported by FriendlyARM
http://www.arm9.net[ 1.177126] S3C NAND Driver is using hardware ECC.
[ 1.177206] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd5 (Samsung NAND 2GiB 3,3V 8-bit)
[ 1.177324] No oob scheme defined for oobsize 512
[ 240.864812] INFO: task kinteractiveup:436 blocked for more than 120 seconds.
[ 240.864888] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 240.864956] kinteractiveup D c04b5dc8 0 436 2 0x00000000
这个问题我出现过,注意看这一行:
[ 1.177049] MLC nand init failed, -19, 2012 ported by FriendlyARM
http://www.arm9.net楼主认为是 FriendlyARM 提供的 nandflash 驱动是 二进制的,这个二进制文件中的对齐和我的4.7GCC在对齐方向上有冲突,编译的时候,添加那个参数以后,整个内核重新编译就OK了。
下面是楼主的回复
如果这个分析是正确的话,你试一试:
1. 按照之前帖子中的 改一下 Makefile ,再试一试。
2. 不要使用我的 内核配置文件,直接用 友善 的默认配置文件,但是手工添加 NFS 支持。
其实从LOG上来看, uboot 通过 TFTP 下载已经成功了, 内核启动已经成功了。
根据你的回复
我在4.5.1的编译器里面按照楼主的帖子,makefile 手动添加了 -mno-unaligned-access 给 KBUILD_CFLAGS ,配置文件用的是友善默认的配置文件,
编译 kernel 的时候
linux-3.0.8$ make
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CC kernel/bounds.s
cc1: error: unrecognized command line option "-mno-unaligned-access"
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
所以我怀疑添加 -mno-unaligned-access 对4.6以上的GCC才有效,4.6 以下的GCC不行,我这边只有4.5.1的GCC,所以楼主能否把你用的GCC 打包发到
78879768@qq.com,不胜感激,用你的编译器再编译验证一下!