前几天编译Busybox1.10使用的交叉编译工具是从
http://www.codesourcery.com/gnu_toolchains/arm/download.html下载的arm-none-linux-gnueabi-交叉编译工具,gcc版本是4.2.1,上一篇日志中说到刚开始总是遇到”Failed to execute /linuxrc. Attempting defaults...“的错误,查了好多资料没有解决,也没有怀疑交叉编译工具的问题。
今天编写程序后使用arm-none-linux-gnueabi-交叉编译工具编译(静态编译),然后使用仿真工具qemu-arm测试,发现出现和昨天同样的问题:
-------------------------------------------------
qemu: unhandled CPU exception 0x8 - aborting
R00=001c596c R01=00000000 R02=001c5960 R03=00000001
R04=000cbf94 R05=00000000 R06=00000000 R07=00000000
R08=000cbfdc R09=000cbf94 R10=00000000 R11=00000000
R12=ffff0fff R13=b7d6c470 R14=000d4588 R15=ffff0fa0
PSR=20000010 --C- A usr32 ffff0fa0
s00=00000000( 0) s01=00000000( 0) d00=0000000000000000( 0)
s02=00000000( 0) s03=00000000( 0) d01=0000000000000000( 0)
s04=00000000( 0) s05=00000000( 0) d02=0000000000000000( 0)
s06=00000000( 0) s07=00000000( 0) d03=0000000000000000( 0)
s08=00000000( 0) s09=00000000( 0) d04=0000000000000000( 0)
s10=00000000( 0) s11=00000000( 0) d05=0000000000000000( 0)
s12=00000000( 0) s13=00000000( 0) d06=0000000000000000( 0)
s14=00000000( 0) s15=00000000( 0) d07=0000000000000000( 0)
s16=00000000( 0) s17=00000000( 0) d08=0000000000000000( 0)
s18=00000000( 0) s19=00000000( 0) d09=0000000000000000( 0)
s20=00000000( 0) s21=00000000( 0) d10=0000000000000000( 0)
s22=00000000( 0) s23=00000000( 0) d11=0000000000000000( 0)
s24=00000000( 0) s25=00000000( 0) d12=0000000000000000( 0)
s26=00000000( 0) s27=00000000( 0) d13=0000000000000000( 0)
s28=00000000( 0) s29=00000000( 0) d14=0000000000000000( 0)
s30=00000000( 0) s31=00000000( 0) d15=0000000000000000( 0)
FPSCR: 00000000
qemu: uncaught target signal 6 (Aborted) - exiting
-------------------------------------------------
这才想到应该是交叉编译工具的问题,于是还使用原来的交叉编译工具( 直接下载20070808版),原来编译linux-2.6.24内核是就是使用的这个版本,只是太占用空间了900多M,因此编译完内核后就删除了。
关于Busybox1.10的配置参见我的上一篇日志,只不过在配置前应该修改Config.in文件:
找到menu "General Configuration",然后在其后适当位置加入如下内容:
config CONFIG_FEATURE_DEVFS
bool "Support for devfs"
default n
help
Enable if you want BusyBox to work with devfs.
这样,在进行配置时就会出现“Support for devfs”选项。当然还要修改Makefile文件确定目标平台以及交叉编译工具前缀。
然后进行make,我的配置除了几个应该注意的地方已外(参见我的上一篇日志),其余都采用默认的配置,结果在编译route时出错,于是重新进行配置,去掉了关于route的几个选项,于是编译通过,使用qemu-arm测试编译结果也成功。然后就是准备制作文件系统了,可以参考我的上一篇日志。
下载、烧录、启动成功,如下图所示:
后记:
看来从 http://www.codesourcery.com/gnu_toolchains/arm/download.html下载的arm-none-linux-gnueabi-交叉编译工具在使用时还是存在一些问题,如何修正没时间管它了,反正有好用的交叉编译工具。
今天的工作又再一次说明了借助仿真工具qemu-arm的好处,正是因为它,我才找到原来遇到的一些问题使我所采用的交叉编译工具的问题。
今天编写程序后使用arm-none-linux-gnueabi-交叉编译工具编译(静态编译),然后使用仿真工具qemu-arm测试,发现出现和昨天同样的问题:
-------------------------------------------------
qemu: unhandled CPU exception 0x8 - aborting
R00=001c596c R01=00000000 R02=001c5960 R03=00000001
R04=000cbf94 R05=00000000 R06=00000000 R07=00000000
R08=000cbfdc R09=000cbf94 R10=00000000 R11=00000000
R12=ffff0fff R13=b7d6c470 R14=000d4588 R15=ffff0fa0
PSR=20000010 --C- A usr32 ffff0fa0
s00=00000000( 0) s01=00000000( 0) d00=0000000000000000( 0)
s02=00000000( 0) s03=00000000( 0) d01=0000000000000000( 0)
s04=00000000( 0) s05=00000000( 0) d02=0000000000000000( 0)
s06=00000000( 0) s07=00000000( 0) d03=0000000000000000( 0)
s08=00000000( 0) s09=00000000( 0) d04=0000000000000000( 0)
s10=00000000( 0) s11=00000000( 0) d05=0000000000000000( 0)
s12=00000000( 0) s13=00000000( 0) d06=0000000000000000( 0)
s14=00000000( 0) s15=00000000( 0) d07=0000000000000000( 0)
s16=00000000( 0) s17=00000000( 0) d08=0000000000000000( 0)
s18=00000000( 0) s19=00000000( 0) d09=0000000000000000( 0)
s20=00000000( 0) s21=00000000( 0) d10=0000000000000000( 0)
s22=00000000( 0) s23=00000000( 0) d11=0000000000000000( 0)
s24=00000000( 0) s25=00000000( 0) d12=0000000000000000( 0)
s26=00000000( 0) s27=00000000( 0) d13=0000000000000000( 0)
s28=00000000( 0) s29=00000000( 0) d14=0000000000000000( 0)
s30=00000000( 0) s31=00000000( 0) d15=0000000000000000( 0)
FPSCR: 00000000
qemu: uncaught target signal 6 (Aborted) - exiting
-------------------------------------------------
这才想到应该是交叉编译工具的问题,于是还使用原来的交叉编译工具( 直接下载20070808版),原来编译linux-2.6.24内核是就是使用的这个版本,只是太占用空间了900多M,因此编译完内核后就删除了。
关于Busybox1.10的配置参见我的上一篇日志,只不过在配置前应该修改Config.in文件:
找到menu "General Configuration",然后在其后适当位置加入如下内容:
config CONFIG_FEATURE_DEVFS
bool "Support for devfs"
default n
help
Enable if you want BusyBox to work with devfs.
这样,在进行配置时就会出现“Support for devfs”选项。当然还要修改Makefile文件确定目标平台以及交叉编译工具前缀。
然后进行make,我的配置除了几个应该注意的地方已外(参见我的上一篇日志),其余都采用默认的配置,结果在编译route时出错,于是重新进行配置,去掉了关于route的几个选项,于是编译通过,使用qemu-arm测试编译结果也成功。然后就是准备制作文件系统了,可以参考我的上一篇日志。
下载、烧录、启动成功,如下图所示:
![](https://p-blog.csdn.net/images/p_blog_csdn_net/denlee/dnw1.png)
后记:
看来从 http://www.codesourcery.com/gnu_toolchains/arm/download.html下载的arm-none-linux-gnueabi-交叉编译工具在使用时还是存在一些问题,如何修正没时间管它了,反正有好用的交叉编译工具。
今天的工作又再一次说明了借助仿真工具qemu-arm的好处,正是因为它,我才找到原来遇到的一些问题使我所采用的交叉编译工具的问题。