1. 尝试用arm-linux-gcc-3.4.1编译linux-2.6.8内核
make刚开始就失败,提示选项“short-load-bytes”不能识别。
上网查了一下,根据http://www.cygwin.com/ml/crossgcc/2004-05/msg00126.html提示,应该把short-load-bytes选项去除。搜索一下,这些file中和该选项有关:
--------------------------------------------------
root@shawn-laptop:/usr/src/2.6.8-rc3# grep -R short-load-bytes .
./arch/arm26/Makefile:CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/Makefile:CFLAGS +=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/SCCS/s.Makefile:CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/SCCS/s.Makefile:CFLAGS +=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm/Makefile:CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
--------------------------------------------------
试试仅仅把./arch/arm/Makefile:CFLAGS中的-mshort-load-bytes替换,结果出现另外一个错误。放弃这次尝试。
2. 纠正osk newbie guider文档中一个错误,重新用arm-gcc-3.4.1编译的2.6.20 kernel:
(参考http://oskfordummies.hp.infoseek.co.jp/faq.html#i5)
--------------------------------------------------
header.S中
mov r7, #(MACH_TYPE_OMAP_OSK & 0xf)
应当是
mov r7, #(MACH_TYPE_OMAP_OSK & ~0xf)
--------------------------------------------------
,以期解决“解压缩后kernel无反应”问题,无效!
3. 在2的基础上,修改 include/asm-arm/mach-types.h中的
--------------------------------------------------
#define MACH_TYPE_OMAP_OSK 515
--------------------------------------------------
为
--------------------------------------------------
#define MACH_TYPE_OMAP_OSK 212
--------------------------------------------------
,重新用arm-gcc-3.4.1编译的2.6.20 kernel。
4. 找到错误原因了,结果很好笑:(
在启动kernel时候需要设置参数如下:
--------------------------------------------------
setenv bootargs console=ttyS0,115200n8 noinitrd ip=138.198.177.250:138.198.177.39:138.198.179.254:255.255.252.0:osk:eth0:off root=/dev/nfs rw nfsroot=138.198.177.39:/data/rootfs2.6,nolock mem=32M
--------------------------------------------------
这里的console是针对板子上的设备而言。我这里因为在PC端使用的是USB2UART线,minicom中设置的是ttyUSB0,这里也设置成了ttyUSB0——板子上当然找不到这个设备,所以...找块豆腐撞死算了!
现在,使用最初编译的uImage.cc.20070429即可正常工作。
make刚开始就失败,提示选项“short-load-bytes”不能识别。
上网查了一下,根据http://www.cygwin.com/ml/crossgcc/2004-05/msg00126.html提示,应该把short-load-bytes选项去除。搜索一下,这些file中和该选项有关:
--------------------------------------------------
root@shawn-laptop:/usr/src/2.6.8-rc3# grep -R short-load-bytes .
./arch/arm26/Makefile:CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/Makefile:CFLAGS +=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/SCCS/s.Makefile:CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/SCCS/s.Makefile:CFLAGS +=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm/Makefile:CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
--------------------------------------------------
试试仅仅把./arch/arm/Makefile:CFLAGS中的-mshort-load-bytes替换,结果出现另外一个错误。放弃这次尝试。
2. 纠正osk newbie guider文档中一个错误,重新用arm-gcc-3.4.1编译的2.6.20 kernel:
(参考http://oskfordummies.hp.infoseek.co.jp/faq.html#i5)
--------------------------------------------------
header.S中
mov r7, #(MACH_TYPE_OMAP_OSK & 0xf)
应当是
mov r7, #(MACH_TYPE_OMAP_OSK & ~0xf)
--------------------------------------------------
,以期解决“解压缩后kernel无反应”问题,无效!
3. 在2的基础上,修改 include/asm-arm/mach-types.h中的
--------------------------------------------------
#define MACH_TYPE_OMAP_OSK 515
--------------------------------------------------
为
--------------------------------------------------
#define MACH_TYPE_OMAP_OSK 212
--------------------------------------------------
,重新用arm-gcc-3.4.1编译的2.6.20 kernel。
4. 找到错误原因了,结果很好笑:(
在启动kernel时候需要设置参数如下:
--------------------------------------------------
setenv bootargs console=ttyS0,115200n8 noinitrd ip=138.198.177.250:138.198.177.39:138.198.179.254:255.255.252.0:osk:eth0:off root=/dev/nfs rw nfsroot=138.198.177.39:/data/rootfs2.6,nolock mem=32M
--------------------------------------------------
这里的console是针对板子上的设备而言。我这里因为在PC端使用的是USB2UART线,minicom中设置的是ttyUSB0,这里也设置成了ttyUSB0——板子上当然找不到这个设备,所以...找块豆腐撞死算了!
现在,使用最初编译的uImage.cc.20070429即可正常工作。