Linux内核开发之文件系统的准备

准备的是 busybox-1.30.0.tar.bz2(体积小,又实用)选择的是一个最简单的文件系统,不带C库的,所以在编译busybox的时候就要把它编译为静态链接库的形式,就不需要依赖任何的动态链接库。

下载buysbox源码,下载地址:

https://busybox.net/downlads/

我使用的版本是busybox-1.30.0

1.解压buysbox源码

# tar xvf busybox-1.30.0.tar.bz2

2.配置buysbox源码

在这里我们把busybox配置为静态编译,这样busybox在运行的时候就不需要额外的动态链接库了。

步骤:

# make menuconfig
​
Busybox Settings   --->
    Build Options   --->
        [*] Build BusyBox as a static binary (no shared libs)  

详细步骤:

# cd busybox-1.30.0/
# make menuconfig

 

进入上述界面后选择 Setting  ---> 进入里面 选到[ ] Build static binary (no shared libs) 按下空格变为[*]将模块驱动编译到内核中,后面就一路Esc退出。

3.编译和安装

make && make install

执行make的时候会吧busybox编译出来,执行make install 的时候会将busybox和相关的工具安装到源码目录下面的 _install目录下面。

 

 进入到_install里面文件就是编译后的busybox了

其实这些文件都是链接文件,通过软链接的方式链接到了busybox。

Linux “tree”功能是,以树状图列当前出目录的所有文件,包括子目录下的文件。Linux默认是未安装“tree”命令的。

一般下载命令为sudo apt-get install tree

会有出错情况如:在Ubuntu中用apt-get安装软件,系统报出Unmet dependencies错误。 Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution)

解决方案:

sudo apt --fix-broken install
sudo apt-get update
sudo apt-get -f upgrade

然后我们选择手动安装

#下载 (虚拟机下,也可在Windows下手动下载,然后拷贝到Ubuntu下执行解压安装)
wget http://mama.indstate.edu/users/ice/tree/src/tree-1.8.0.tgz
#解压
tar -zxvf tree-1.8.0.tgz 
#进入目录
cd tree-1.8.0 
#安装
sudo make install
#测试
tree

之前我们换源之后可能会造成一些乱码显示,这时解决方法为把源换回去用sudo apt-get update和sudo apt-get -f upgrade更新重启一下就好了

 

这些链接文件其实本质没有任何区别,唯一区别就是链接文件的名字,busybox里是通过第一个参数来判断执行的是哪个命令,比如说arch命令,就会通过这个来调用相关的函数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值