暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
BUSYBOX使用手册
2392
138页
2次
2020-12-25
10墨值下载
根文件系统及 Busybox 简介
目录
根文件系统简介
所谓制作根文件系统,就是创建各种目录,并且在目录里创建相应的文件。例如:在/bin
目录下放置可执行程序,在/lib 下放置各种库等等。
 简介
 简介
Busybox 是一个开源项目,遵循 GPL v2 协议。Busybox 将众多的 UNIX 命令集合进一个
很小的可执行程序中,可以用来替代 GNU fileutilsshellutils 等工具集。Busybox 中各种
命令与相应的 GNU 工具相比,所能提供的选项比较少,但是也足够一般的应用了。
Busybox 主要用于嵌入式系统。
Busybox 在编写过程中对文件大小进行了优化,并考虑了系统资源有限(比如内存等)的情
况。与一般的 GNU 工具集动辄几 M 的体积相比,动态链接的 Busybox 只有几百 K,即使
是采用静态链接也只有 1M 左右。Busybox 按模块设计,可以很容易地加入、去除某些命
令,或增减命令的某些选项。
在创建根文件系统的时候,如果使用 Busybox 的话,只需要在/dev 目录下创建必要的设备
节点,在/etc 目录下增加一些配置文件即可,当然,如果 Busybox 使用动态链接,那么还
需要再/lib 目录下包含库文件。
 目录结构简介
下面是 Busybox 源码目录结构图,接下来说说各个目录的作用,方便以后对 Busybox 做裁
剪的时候参考。
目录 说明

主要是实现  框架的文件

一些有用的脚本,例如:

与压缩有关的命令源文件,例如:

自带的一些默认配置文件

与控制台相关的一些命令,例如:

常用的核心命令,例如:

常用的编辑命令,例如:

用于查找的命令,例如:

 进程的实现源文件

与网络相关的命令,例如:

 相关的实现,例如:

 下常用的命令,主要是与文件系统相关的,例如:!
" 进程简介
Busybox 中最重要的程序自然是 init
大家都知道 init 进程是由内核启动的第一个(也是唯一一个)用户进程(进程 ID 1)init
程根据配置文件决定启动哪些程序,例如:执行某些脚本、启动 shell 或运行用户程序等等。
Init 是后续所有进程的发起者,例如:init 进程启动/bin/sh 程序后,我们才能够在控制台上
输入各种命令。
Init 进程的执行程序通常都是/sbin/init,上述讲到的 init 进程的作用只不过是/sbin/init 这个
程序的功能。如果我们想让 init 执行自己想要的功能,那么有两种途径:第一,使用自己
init 程序,这包括使用自己的 init 替换/sbin/下的 init 程序或者修改传递给内核的参数,指
定”init=xxx”这个参数,让 init 环境变量指向自己的 init 程序;第二,就是修改 init 的配置文
件,因为 init 程序的很大一部分的功能都是按照其配置文件执行的。
一般而言,在 Linux 系统中有两种 init 程序:BSD init System V initBSD System V
是两种本的 UNIX 系统。这两种 init 程序各有优点,现在大多数 Linux 发行本使用的
都是 System V init。但在嵌入式系统中常使用的是 Busybox init 程序,下面
进行介
 内核如启动  进程
内核启动的最后一就是启动 init 进程,代码在 init/main.c 文件中,如下所
代码并不复杂,与 init 启动最相关的就是 run_init_process 这个数了,运行指定的
init 程序,注意:一 run_init_process 运行创建进程功,将不会返回是通过
内核进入用户空间。所以上面并不是运行了 init 进程,是根据优先级,一某一
个运行功,就不续执行了。
下面详细描述一下该函数的执行过程:
(1)标准输入、标准出和标准错误设备
Linux 中最先打开的 3 个文件分别称标准输入(stdin)标准(stdout)和标准错误
(stderr)们对应的文件 012.
如下代码就是执行这个作,先打开文件/dev/console 作为保准输入,然后将文件
制给文件 12,这使得标准输入、标准以及标准错误都使用/dev/console
这个文件。注意代码上面的注释该函数不能失败,也就是说/dev/console 存在”。
of 138
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜