LInux2.6.29 Busybox1.13.3 到S3C2440

最近比较有空,拿出很久没有碰过的板子玩玩,看到内核以及busybox都更新了不少,手痒痒又做了一次移植。

编译器使用http://www.codesourcery.com/gnu_toolchains/arm/portal/subscription?@template=lite 2008q3的版本,GCC是4.3.2。

 

使用这个编译器编译arm920t的程序有个地方要注意,这个编译器支持armv5t,而2440是armv4t的片子,所以编译时要加上-march=armv4t。

 

内核编译时也要选上下面的选项,否则用这个编译器编出来的用户程序无法运行,最典型的错误是Busybox无法运行。

make menuconfig进入菜单进行配置,这里由于使用了codesourcery的工具链,此工具链支持EABI,所以选择
Kernel Features ->
     [*]Use the ARM EABI to compile the kernel
     [*]  Allow old ABI binaries to run with this kernel

 

可以在CFLAGS中加入-march=armv4t,但实践证明有些程序不支持这样写,我在编译libfreetype时就没有通过,这样写才可以CC=arm-none-linux-gnueabi-gcc -march=armv4t

 

代码的修改可以参考旧的文章,基本一样。

 

Busybox的移植过程中有些情况搞得我郁闷了大半天,我是采用静态的方式生成busybox,开机后一直都无法login,调试发现busybox没有分析/etc/passwd文件。

解决方法:

 Login/Password Management Utilities  --->

 [*] Use internal password and group functions rather than system functions

后来我做了一个自动login

在/etc/inittab中

s3c2410_serial0::respawn:/bin/sh

 

上面的是一个方法,也可以

s3c2410_serial0::respawn:/bin/login -f root

 

关于清除密码,可以改

/etc/passwd

root::0:0:root:/:/bin/sh

把第一和第二个冒号之间清空。

同时可以把默认的路径修改,这里把/root 改为/(红色的修改)

 

另外,在/etc/profile中设置了PS1,但没起作用,下面这个要选上

 Busybox Library Tuning  --->

  [*]   Fancy shell prompts

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值