没有合适的资源?快使用搜索试试~ 我知道了~
busybox详解制作根文件系统.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 67 浏览量
2022-06-23
11:36:33
上传
评论
收藏 242KB DOC 举报
温馨提示
试读
13页
busybox详解制作根文件系统.doc
资源推荐
资源详情
资源评论
详解制作根文件系统
单击,返回主页,查看更多内容
一、FHS(Filesystem Hierarchy Standard)标准介绍
当我们在 linux 下输入 ls / 的时候,见到的目录结构以及这些目录下的内容都大同小异,这是因为所有的
linux 发行版在对根文件系统布局上都遵循 FHS 标准的建议规定。
该标准规定了根目录下各个子目录的名称及其存放的内容:
目录名 存放的内容
/bin
必备的用户命令,例如 ls、cp 等
/sbin
必备的系统管理员命令,例如 ifcong、reboot 等
/dev
设备文件,例如 mtdblock0、tty1 等
/etc
系统配置文件,包括启动文件,例如 inittab 等
/lib
必要的链接库,例如 C 链接库、内核模块
/home
普通用户主目录
/root
root 用户主目录
/usr/bin
非必备的用户程序,例如 nd、du 等
/usr/sbin
非必备的管理员程序,例如 chroot、inetd 等
/usr/lib
库文件
/var
守护程序和工具程序所存放的可变,例如日志文件
/proc
用来提供内核与进程信息的虚拟文件系统,由内核自动生成目录下的内容
/sys
用来提供内核与设备信息的虚拟文件系统,由内核自动生成目录下的内容
/mnt
文件系统挂接点,用于临时安装文件系统
/tmp
临时性的文件,重启后将自动清除
制作根文件系统就是要建立以上的目录,并在其中建立完整目录内容。其过程大体包括:
编译/安装 busybox,生成/bin、/sbin、/usr/bin、/usr/sbin 目录
利用交叉编译工具链,构建/lib 目录
手工构建/etc 目录
手工构建最简化的/dev 目录
创建其它空目录
配置系统自动生成/proc 目录
利用 udev 构建完整的/dev 目录
制作根文件系统的 j"s2 映像文件
下面就来详细介绍这个过程。
二、编译/安装 busybox,生成/bin、/sbin、/usr/bin、/usr/sbin 目录
这些目录下存储的主要是常用命令的二进制文件。如果要自己编写这几百个常用命令的源程序,my
god, 这简直是一个噩梦!好在我们有嵌入式 Linux 系统的瑞士军刀——busybox,事情就简单很多。
1、从 http://www.busybox.net/ 下载 busybox-1.7.0.tar.bz2
2、tar xjvf busybox-1.7.0.tar.bz2 解包
3、修改 Makele 文件
175 ARCH ?= arm
176 CROSS_COMPILE ?= arm-linux-
4、make menucong 配置 busybox
busybox 配置主要分两部分。
第一部分是 Busybox Settings,主要编译和安装 busybox 的一些选项。这里主要需要配置:
1)、Build Options -- Build BusyBox as a static binary (no shared libs),表示编译 busybox 时,
是否静态链接 C 库。我们选择动态链接 C 库。
2)、Installation Options -- Applets links (as soft-links) -- (X) as soft-links,表示安装 busybox
时,将各个命令安装为指向 busybox 的软链接还是硬链接。我们选择软链接。
3)、Installation Options -- (/work/nfs_root/fs_mini3) BusyBox installation prex,表示
busybox 的安装位置。我们选择/work/nfs_root/fs_mini3
4)Busybox Library Tuning。保留 Command line editing 以支持命令行编辑;保留 History size 以
支持记忆历史命令;选中 Tab completion 和 Username completion 以支持命令自动补全
第二部分是 Applets,他将 busybox 的支持的几百个命令分门别类。我们只要在各个门类下选择想要的
命令即可。这里我们基本保持默认设置。
1)选中 Networking Utilities -- httpd 下的 Enable -u <user> option,以启用 http 服务器的功能
allows the server to run as a specic user
5、编译 busybox
make
6、安装 busybox
make install
安装完成后,可以看到在/work/nfs_root/fs_mini3 目录下生成了 binsbinusr/binusr/sbin 目录,其下
包含了我们常用的命令,这些命令都是指向 bin/busybox 的软链接,而 busybox 本身的大小不到
800K:
dennis@dennis-desktop:/work/nfs_root/fs_mini3$ ls
bin linuxrc sbin usr
dennis@dennis-desktop:/work/nfs_root/fs_mini3$ ls -l bin
total 740
lrwxrwxrwx 1 dennis dennis 7 2010-04-03 23:57 addgroup -> busybox
lrwxrwxrwx 1 dennis dennis 7 2010-04-03 23:57 adduser -> busybox
lrwxrwxrwx 1 dennis dennis 7 2010-04-03 23:57 ash -> busybox
-rwxr-xr-x 1 dennis dennis 749632 2010-04-03 23:57 busybox
lrwxrwxrwx 1 dennis dennis 7 2010-04-03 23:57 cat –> busybox
剩余12页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3651
- 资源: 59万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功