IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux系统移植篇(四)—— 根文件系统使用介绍 -> 正文阅读

[系统运维]linux系统移植篇(四)—— 根文件系统使用介绍

linux系列目录:
linux基础篇(一)——GCC和Makefile编译过程
linux基础篇(二)——静态和动态链接
ARM裸机篇(一)——i.MX6ULL介绍
ARM裸机篇(二)——i.MX6ULL启动过程
ARM裸机篇(三)——i.MX6ULL第一个裸机程序
ARM裸机篇(四)——重定位和地址无关码
ARM裸机篇(五)——异常和中断
linux系统移植篇(一)—— linux系统组成
linux系统移植篇(二)—— Uboot使用介绍
linux系统移植篇(三)—— Linux 内核使用介绍
linux系统移植篇(四)—— 根文件系统使用介绍


一、根文件系统的介绍

根文件系统首先是内核启动时所 mount(挂载)的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。

二、常见的根文件系统

根文件系统本质都是一些文件和配置信息组成,之间的界限没有很明确的界定,以下大致列出一些根文件系统的特点:
在这里插入图片描述

三、BusyBox 构建根文件系统

1、BusyBox 简介

BusyBox 是一个集成了三百多个最常用 Linux 命令和工具的软件。 BusyBox 包含了一些简单的工具,例如 ls、 cat 和 echo 等等,还包含了一些更大、更复杂的工具,例 grep、 find、 mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说 BusyBox 就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Linux 系统的自带的 shell。

2、获取BusyBox

BusyBox 可以在其官网下载到,官网地址为: https://busybox.net
在这里插入图片描述
下载当前最新版本 busybox-1.35.0.tar.bz2 也可以使用我们提供的文件。

3、编译 BusyBox 构建根文件系统

将 busybox-1.29.0.tar.bz2 发送到 Ubuntu 中,存放位置大家随便选择。然后使用如下命令将其解压:

tar -vxjf busybox-1.35.0.tar.bz2

解压后目录如下:
在这里插入图片描述
配置 busybox:

make menuconfig

在这里插入图片描述

编译 busybox:

make

4、安装busybox

一般在 Linux 驱动开发的时候通过 nfs 挂载根文件系统会更加方便,首先在nfs 服务器目录中新建一个安装目录 rootfs 用于安装busybox,然后使用 CONFIG_PREFIX 环境变量指定该目录进行安装:

make install CONFIG_PREFIX=/home/kk/imx6ull/nfs/rootfs

安装完成以后,busybox的所有工具和文件就会被安装到目录rootfs中:
在这里插入图片描述
rootfs 目录下有 bin、 sbin 和 usr 这三个目录,以及 linuxrc 这个文件。Linux内核init进程最后会查找用户空间的init程序,找到以后就会运行这个用户空间的init程序,从而切换到用户态,而linuxrc就是可以作为用户空间的init程序。如果 bootargs 设置 init=/linuxrc,那么 linuxrc 就是可以作为用户空间的 init 程序,所以用户态空间的 init 程序是 busybox 来生成的。
busybox 的工作就完成了,但是此时的根文件系统还不能使用,还需要一些其他的文件。

5、完善根文件系统

5.1、向 rootfs 的“/lib”目录添加库文件

Linux 中的应用程序一般都是需要动态库的, 在 rootfs 中创建一个名为“lib”的文件夹,然后进入交叉编译器的目录,将库文件拷贝到 lib文件夹下:

cp /usr/arm-linux-gnueabihf/lib/*so* *.a /home/kk/imx6ull/linux_nfs/rootfs/lib/ -d
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.7:
/home/kk/imx6ull/nfs/rootfs,v3 rw ip=192.168.1.10:192.168.1.7:192.168.1.1:255.255.255.0::eth0:off'
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 13:09:20  更:2022-05-09 13:09:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:00:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码