2022年farsight构建Linux根文件系统 2.pdf
《2022年farsight构建Linux根文件系统 2.pdf》由会员分享,可在线阅读,更多相关《2022年farsight构建Linux根文件系统 2.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、构建 Linux根文件系统1. 根文件系统1.1 定义存放系统启动所必需的文件内核映像文件(嵌入式系统中,内核一般单独存放在一个分区中);内核启动后运行的第一个程序(init);shell程序;应用程序所依赖的库;.1.2 目录结构1.2.1 FHS标准:(Filesystem Hierarchy Standard,文件系统层次标准);定义文件系统中目录、文件存放的原则,不是强制性标准。1.2.2 目录:/bin存放所有用户都可以使用的、基本的命令;比须和根文件系统在一个分区中。/sbin存放系统命令,只有管理员可以使用的命令必须和根文件系统在同一分区中。/-/sbin*基本的系统命令,用于启
2、动系统、修复系统等。*-/usr/sbin*不是急迫需要使用的系统命令。*-/usr/local/sbin/本地安装的系统命令。/dev:存放设备文件。/etc:存放配置文件。/lib/-libc.so.*动态链接C库。*-ld*链接器、加载器。/-modules内核可加载模块存放的目录。/home:用户目录。/root:根用户目录。/usr存放共享、只读的数据和程序;可以存放在另一个分区中,系统启动后再挂接到根文件系统的/usr目录下。/var:存放可变的数据。/procproc文件系统的挂接点;proc文件系统是一个虚拟的文件系统,用来表示系统的运行状态。/mnt:用于临时挂接某个文件系统
3、的挂接点。/tmp用于存放临时文件;为减少对Flash的操作,可以在/tmp目录上挂接内存文件系统。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 2. Busybox2.1 init进程2.1.1 定义由内核启动的第一个(唯一的一个)用户进程(ID=1);是后续所有进程的发起者,根据配置文件决定启动哪些程序;执行的程序通常是/sbin/init,也可以传入命令行参数指定一个程序作为init进程运行。2.1.2 内核如何启动in
4、it进程内核启动的最后一步是启动init进程,代码在linux内核源码的init/main.c中。static int noinline init_post(void)free_initmem();unlock_kernel();mark_rodata_ro();system_state = SYSTEM_RUNNING;numa_default_policy();/*打开标准输入(stdin)、标准输出(stdout)、标准错误(stderr); *对应的文件描述符分别是0,1,2。 */打开/dev/console设备文件,他是init进程的标准输入设备。if (sys_open(cons
5、t char _user *) /dev/console, O_RDWR, 0) 0)printk(KERN_WARNING Warning: unable to open an initial console.n);/将文件描述符0复制给文件描述符1,2;/标准输入、标准输出、标准错误对应同一个文件(设备)。(void) sys_dup(0);(void) sys_dup(0);/*ramdisk_execute_command *指定了要执行的程序 *1. ”如果命令行参数中指定了rdinit=.” *ramdisk_execute_command等于此指定值。 *2. 如果/init程序
6、存在 *ramdisk_execute_command=/init *3. ramdisk_execute_command为空。 */if (ramdisk_execute_command) /*run_init_process函数 *使用他的参数所指定的程序来创建一个用户进程; *一旦创建进程成功,此函数将不会返回。 */run_init_process(ramdisk_execute_command);printk(KERN_WARNING Failed to execute %sn,ramdisk_execute_command);/*execute_command *指定了要执行的程序
7、 *1. ”如果命令行参数中指定了init=.”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - * execute_command等于此指定值。 *2. execute_command为空 */if (execute_command) run_init_process(execute_command);printk(KERN_WARNING Failed to execute %s. Attempting defaults.n,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年farsight构建Linux根文件系统 2022 farsight 构建 Linux 文件系统
限制150内