Linux学习笔记---使用BusyBox创建根文件系统(三)
目录
创建/etc/init.d/rcS 文件
创建/etc/fstab 文件
创建/etc/inittab 文件
创建/etc/init.d/rcS 文件
通过nfs加载根文件系统成功后,在串口终端上有一个提示,不能打开'/etc/init.d/rcS'文件
因为现在还没有创建这个文件呢,所以系统提示不能打开。
现在就要手动去创建这个文件
在rootfs文件夹中创建etc文件夹,然后在etc文件夹里面继续创建init.d文件夹,然后在init.d文件夹中常见 rcS文件
在 rcS 中输入以下内容
#!/bin/shPATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATHLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/libexport PATH LD_LIBRARY_PATHmount -amkdir /dev/ptsmount -t devpts devpts /dev/ptsecho /sbin/mdev > /proc/sys/kernel/hotplugmdev -s
第 1 行,表示这是一个 shell 脚本。
第 3 行,PATH 环境变量保存着可执行文件可能存在的目录,这样我们在执行一些命令或
者可执行文件的时候就不会提示找不到文件这样的错误。
第 4 行,LD_LIBRARY_PATH 环境变量保存着库文件所在的目录。
第 5 行,使用 export 来导出上面这些环境变量,相当于声明一些“全局变量”。
第 7 行,使用 mount 命令来挂载所有的文件系统,这些文件系统由文件/etc/fstab 来指定,
所以我们一会还要创建/etc/fstab 文件。
第 8 和 9 行,创建目录/dev/pts,然后将 devpts 挂载到/dev/pts 目录中。
第 11 和 12 行,使用 mdev 来管理热插拔设备,通过这两行,Linux 内核就可以在/dev 目录
下自动创建设备节点。关于 mdev 的详细内容可以参考 busybox 中的 docs/mdev.txt 文档。
下来要给rcS文件设置可执行权限
下面就可以重启一次开发板,看看刚才提示的信息是否还存在。
在串口终端中输入 reboot 命令,重启开发板
重启之后可以看到已经不提示不能打开'/etc/init.d/rcS'文件了,但是由有了新的提示 不能读取到 /etc/fstab 文件
创建/etc/fstab 文件
接下来就要继续创建/etc/fstab文件
进入etc目录中新建fstab文件
在fstab文件中输入以下内容
#<file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
保存退出,然后重启开发板。
重启后这时候就没有文件打开失败的提示了。
创建/etc/inittab 文件
进入到etc文件夹中,然后新建inittab文件。
inittab 的详细内容可以参考 busybox 下的文件 examples/inittab。init 程序会读取/etc/inittab这个文件,inittab 由若干条指令组成。每条指令的结构都是一样的,由以“:”分隔的 4 个段组
成,格式如下:
<id>:<runlevels>:<action>:<process>
<id>:每个指令的标识符,不能重复。但是对于 busybox 的 init 来说,<id>有着特殊意义。对于 busybox 而言<id>用来指定启动进程的控制 tty,一般我们将串口或者 LCD 屏幕设置为控制 tty。
<runlevels> :对 busybox 来说此项完全没用,所以空着。
<action>:动作,用于指定<process>可能用到的动作。
<process> :具体的动作,比如程序、脚本或命令等。
在inittab文件中输入以下内容:
#etc/inittab::sysinit:/etc/init.d/rcSconsole::askfirst:-/bin/sh::restart:/sbin/init::ctrlaltdel:/sbin/reboot::shutdown:/bin/umount -a -r::shutdown:/sbin/swapoff -a
第 2 行,系统启动以后运行/etc/init.d/rcS 这个脚本文件。
第 3 行,将 console 作为控制台终端,也就是 ttymxc0。
第 4 行,重启的话运行/sbin/init。
第 5 行,按下 ctrl+alt+del 组合键的话就运行/sbin/reboot,看来 ctrl+alt+del 组合键用于重
启系统。
第 6 行,关机的时候执行/bin/umount,也就是卸载各个文件系统。
第 7 行,关机的时候执行/sbin/swapoff,也就是关闭交换分区
输入完成后保存退出,然后重启开发板。
可以看到系统已经成功的挂载了根文件系统。
上一篇:Linux学习笔记---使用BusyBox创建根文件系统(二) 下一篇:Linux学习笔记---使用BusyBox创建根文件系统(四)
Linux学习笔记---使用BusyBox创建根文件系统(三)相关推荐
- Linux学习笔记---使用BusyBox创建根文件系统(四)
目录 软件运行测试 设置程序为后台运行 设置开机自启动 外网连接测试 软件运行测试 进入到rootfs文件夹中新建一个drivers文件夹,用于存放编写的软件. 新建hello.c文件 输入以下代码 ...
- Linux学习笔记---使用BusyBox创建根文件系统(二)
目录 向 rootfs 的"/lib "目录添加库文件 向 rootfs 的usr/lib 目录添加库文件 创建其他文件夹 根文件系统初步测试 向 rootfs 的"/l ...
- Linux学习笔记---使用BusyBox创建根文件系统(一)
目录 下载BusyBox 修改makefile 添加中文支持 编译busybox 下载BusyBox BusyBox 可以在其官网下载到,官网地址为:https://busybox.net 打开官网后 ...
- I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之根文件系统挂载
经过前面的移植,新版BSP的uboot和kernel已经能够在tqimx6q开发板上运行了,接下来我们来挂载文件系统. DTB整理 前面的文章中提到,新版BSP的DTB管理感觉不是太好,在之前移植的B ...
- 移植Linux-3.4.2过程学习笔记2——无法挂载根文件系统
此时内核已经可以打印串口信息了,目前的问题是无法挂载根文件系统. 搜索分区名,查看是在哪里定义的: grep "\"Boot\ Agent\"" * -nR 得 ...
- Linux学习笔记:mkdir创建文件夹
文件夹,即目录,在linux中使用mkdir创建. 语法:mkdir dir_name 通过 mkdir 命令可以实现在指定位置创建以 dir_name(指定的文件名)命名的文件夹或目录.要创建文件夹 ...
- Linux学习笔记-调用pthead_create创建线程
调用pthead_create pthread_t handle; pthread_create(&handle, // 线程句柄 NULL, // 忽略 Thread_Main, // 线程 ...
- linux给数据库重命名,Linux学习笔记:mv移动或文件重命名
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 语法:mv 源文件 目标文件 视mv命令中 ...
- Linux学习笔记---记一次rootfs根文件系统下载时掉进的大坑
俗话说要想技术好,踩坑少不了.技术的好坏和踩坑的多少基本是成正比的.这次就大大的提升了一次技术(大大的踩了一次坑).废话少说,直奔主题. 最近入手了一块正点原子的IMX6ULL开发板,跟着视频教程和开 ...
最新文章
- 诚意租房网blog2
- SQLite中的内连接简化技巧
- 点击链接微信html代码怎么写,html5微信分享代码怎么写呢?
- linux常见问题及其解决方案集锦
- 深度学习在CTR预估中的应用 文献收藏
- [转载] [转载] python中的Numpy库入门
- Leetcode 5
- 概率论基础——组合分析
- 使用java代码根据三角形的三个顶点坐标计算出三角形的中心点(重心)
- C#使用BouncyCastle来实现私钥加密,公钥解密的方法
- Warning: To load an ES module, set “type“: “module“ in the package.json or use the .mjs extensi
- github whs_从iPhone或iPod Touch获得WHS的基本访问权限,而无需安装应用程序
- matlab学习—分段函数计算
- SpringSecurity+JWT+OAuth2
- 微信传文件又慢又限制大小?试试这3个免费在线传文件工具!
- 单片机两大延时方法总结
- 守护云原生安全,青藤让浙江移动“心里更有底”
- MySQL 索引、事务与存储引擎
- linux 无线网卡 监听模式,查看无线网卡是否支持监听模式
- 10-Secret安全存储