1,建立目录
#!/bin/bash
mkdir rootfs
cd rootfs
mkdir bin dev etc lib proc sbin tmp usr var
chmod 1777 tmp
mkdir usr/bin usr/lib usr/sbin
mkdir var/lib var/lock var/log var/run var/tmp
chmod 1777 var/tmp
#mknod -m 600 console c 5 1
2,配置busybox
一,BusyBox Setting->Build
Options->Cross Compiler
prefix //添加交叉编译头
二,填写安装路径,Busybox
Settings"->"Installation Options"->" Don't use /usr"
默认 ./_install
三,出现如下错误,可以忽略
Trying libraries: crypt m
Library crypt is needed
Library m is needed
Final link with: crypt m
3,make make install 执行如下脚本
set -ex
export PATH=/home/xu_reny/mini2440/chaintool/4.3.2/bin/:$PATH
make
make install
4,把交叉编译工具的库拷贝到文件系统的lib目录下
如果把busybox编译成静态库的就不需要一下库文件也能启动。
怎么知道busybux需要编译器里面那些库呢?用如下办法
#arm-linux-readelf -d busybox
Dynamic section at offset 0xca014 contains 18 entries:
标记
类型
名称/值
0×00000001 (NEEDED)
共享库:
[libm.so.0]
0×00000001 (NEEDED)
共享库:
[libc.so.0]
0×0000000c (INIT) 0xbe24
0×0000000d (FINI) 0xb2054
0×00000004 (HASH) 0×80e8
0×00000005 (STRTAB) 0xa500
0×00000006 (SYMTAB) 0×8b70
从上面的结果中,我们可以看到,busybox这个程序使用到了libm.so.0和libc.so.0两个库文件,实际上这是2个符号链接,
分别指向libc-0.9.28.so和libuClibc-0.9.28.so。将以上四个文件分别拷贝到lib目录下。
按理说,这样应该就可以了,但
是仍然无法正常运行。因为libm.so.0和libc.so.0依赖于其他的库
在用上面的方法
#arm-linux-readelf -d libm.so.0
你会发现他们还要对应的文件ld-uClibc-
0.9.28.so和ld-uClibc.so.0添。拷贝过来,运行正常。
inittab文件内容:(有了这个文件 busybox基本就能启动了)
::sysinit:-/etc/init.d/rcS
::respawn:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
fstab文件内容:
proc /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
/etc/init.d/rcSrcS文件内容:
#! /bin/sh
echo hello world this is reny's rootbox
5,如果还是不能启动,一般是image文件制作工具有问题。
mini2440的就分128M的和不是128M的
附件后缀名为tgz。
6,
telnetd功能
添加
busybox默认已经添加了对telnetd和telnet功能的支持,只需要完成一些相关的设置工作就可以启动这2个功能了。
Ø 创建/dev/pts目录
Ø
在/etc/fstab中添加如下信息,挂载devpts文件系统
devpts /dev/pts devpts defaults 0 0
Ø
在/dev目录下增加ptmx设备文件:
Ø
在rcS文件中添加如下脚本,启动telnetd
if [ -x /usr/sbin/telnetd ] ;
then
telnetd&
fi
Ø
在/dev目录下增加null设备文件,否则上述脚本运行时会出错:
提示找不到null文件。
此时,telnetd功能开机就可以启动了。
|
文件: | busybox文件系统(文件系统学习必备资料!!!超详细步骤).rar |
大小: | 22KB |
下载: | 下载 |
|
|
文件: | mkyaffs2image.tgz.tar |
大小: | 16KB |
下载: | 下载 |
|
阅读(5288) | 评论(0) | 转发(1) |