busybox的使用及根文件系统的制作

 

 

嵌入式根文件系统框架: busybox应用
使用busybox需要确保busybox的运行,以及掌握常用的工具命令。

一、补全目录与文件
将busybox编译得到的_install下的目录补全需要的目录:
mkdir /proc /lib /etc /dev /usr /var

动态库依赖: readelf -d busybox Igrep NEEDED //在busybox目录下运行


ld-uClibc.so.0  libc.so.61ibm.so.6
ld-uClibc.so.0 ---->实现动态库的链接

1,交叉编译工具链库下的找依赖的动态库

find . -name libm.so.0

find . -name libc.so.0

find . -name ld-uClibc.so.0

c库的选择: glibc, 还是uclibc ---->取决于你的交叉编译器glibc --->更全面完善的功能
uclibc --->更小的体积

 

将依赖的动态库libm.so.0 libc.so.0 ld-uClibc.so.0拷贝到lib/目录下

2,模仿本地的设备dev目录等制作设备节点

ls -lh /dev/console   //查看本地console

mknod console c 5 1  //制作busybox文件系统console节点

ls -lh /dev/tty[1-3]   //查看本地tty

mknod tty1 c 4 1   //制作busybox文件系统的tty节点

mknod tty2 c 4 2

mknod tty3 c 4 3

 

3,etc配置文件目录制作

将busybox的examples/bootfloppy/etc/*目录下的内容拷贝过来

4,嵌入式常用的工具命令

设备驱动管理:

fdiskfsck
hwclock
mkdosfs
insmod  rmmod  lsmod
mknod
modprobe
lsusbmdev
mount
umount
文本编辑处理: I
mkdirmkfifo
mv
cp
touch

rmunlink
awk
cat
cut
findvi
sed
wCtar
grep
head
tail
less
more
xargs
od stat
网络信息配置:
udhcpc

udhcpd

route

netstat

 ping
ifconfig
系统信息管理:
chmod   clear   date
dd
df
echo
free
ipcrmipcs
ls
ps
pwd
top
uptime
kill
killall reboot sleepsysctl
usleep
总结:

编译完成后的安装步骤是进行busybox根文件系统应用高效开始的第一步熟悉并掌握常用的工具命令是进行busybox根文件系统应用开发的第二步

确保busybox的正确运行需要额外的库支持,这是进行busybox应用的前提条件

 

应用环境开发的三步准备工作:动态库lib,配置文件etc,启动脚本init.d

 

1,文件系统里lib/下的库对应交叉编译工具链目录下的库

文件系统里lib/下的库

对应交叉编译工具链/opt/mips-gcc472-glibc216-32bit/mips-linux-gnu/libc/uclibc/lib目录下的库

查看该目录的大小du –sh .

        

由于lib库比较大,我吗拷贝必要的库到lib/目录下即可,以下是几个必要的常用的动态库;

 

libpthread.so.0  //线程库

libthread_db-0.9.33.2.so  //相关数据库

libresolv.so.0   //网络库

librt.so.0   //实时库

 

 

2,完善配置文件目录

基本的etc目录内容如下

fstab  //自动挂载文件系统

inittab  //

profile  //环境变量配置文件,配置一些Qt等软件路径

配置常用的环境变量,如下

 

添加新的配置文件,如下;

resolv.conf   //网络DNS配置文件

配置文件;

rcS   //init.d下的启动脚本,仅仅一条挂载命令

可以在rcS 里添加相应语句,以完善rcS启动脚本。

如下添加简单启动命令;

for script in /etc/init.d/s[0-9][0-9]*

do

         if [ -x $script ];then

                   /bin/sh -c $script

         fi

done

添加网络配置文件S80network,内容如下;

touch S80network

chmod a+x S80network

 

到此根文件系统的基本制作就完成了。如若有其他开发需求再此基础上添加。

 

 

 

 

 

 

 

 

 

 

常见的嵌入式文件系统

可以进入linux内核目录下,通过make ARCH=arm/mips menuconfig查看有哪些文件系统,以及配置相应的文件系统,配置完后编译内核即可内置到内核里。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值