当前位置: 首页 > news >正文

Linux系统移植19:根文件系统的构建

Linux系统移植19:根文件系统的构建

根文件系统的简介

根文件系统是操作系统启动时挂载的第一个文件系统,路径为/,是所有其他文件系统的挂载点。
在这里插入图片描述
根文件系统就是一个“文件夹”,此“文件夹”有很多个文件,这些文件是linux运行所必须的,但是无法放到内核里面去的。比如命令、库、配置文件等等。所有这些软件需要我们自己构建。
/就是Linux根文件系统。

BusyBox构建根文件系统

BusyBox 是一个集成了大量的 Linux 命令和工具的软件,像 ls、 mv、 ifconfig 等命令 BusyBox 都会提供。

修改Makefile添加环境变量

在这里插入图片描述

修改busybox支持中文字符

注释掉对于中文字符的限制在这里插入图片描述在这里插入图片描述

配置busybox

使用make menuconfig进行配置
启用vi-style line editing commands
在这里插入图片描述
取消Simplified modutils
在这里插入图片描述
启用Check $LC_ALL, $LC_CTYPE and $LANG environment variables
在这里插入图片描述
配置完成后保存退出

编译busybox

输入make命令进行编译
在这里插入图片描述
输入make install命令进行安装,指定安装位置
在这里插入图片描述
在这里插入图片描述
查看安装后的成果物
在这里插入图片描述
进入bin、/usr/bin、/usr/sbin文件中查看编译后支持的所有命令合集

bin
在这里插入图片描述
/usr/bin
在这里插入图片描述
/usr/sbin
在这里插入图片描述

拷贝库文件

busybox由于是动态编译的,因此需要拷贝其依赖的交叉编译器的库文件
拷贝库文件到/lib目录
在这里插入图片描述拷贝后查看文件夹
在这里插入图片描述
拷贝库文件到/usr/lib目录在这里插入图片描述
查看拷贝后的成果物
在这里插入图片描述

创建其他文件夹并完善文件内容

完善后的目录如下
在这里插入图片描述修改设备uboot环境变量bootargs改为从nfs目录加载根文件系统
在这里插入图片描述
执行boot命令启动内核并从nfs目录加载根文件系统
在这里插入图片描述
启动成功并成功进入根文件系统

http://www.xdnf.cn/news/1118269.html

相关文章:

  • leetGPU解题笔记(2)
  • C# 接口(接口可以继承接口)
  • 华为OD 处理器
  • 改进后的 OpenCV 5.x + GStreamer + Python 3.12 编译流程(适用于 Orange Pi / ARM64)
  • vue的优缺点
  • Vue 3 TypeScript 接口(Interface)使用
  • 【基于开源大模型(如deepseek)开发应用及其发展趋势的一点思考】
  • 西藏氆氇新生:牦牛绒混搭液态金属的先锋尝试
  • web:js的三种引用方式
  • MYSQL笔记1
  • 大模型之Langchain篇(二)——RAG
  • SQL的初步学习(二)(以MySQL为例)
  • 《区间dp》
  • Excalidraw:一款颠覆传统思维的免费开源绘图工具
  • DHS及HTTPS工作过程
  • JSON/AJAX/XHR/FetchAPI知识点学习整理
  • 代码随想录算法训练营第三十二天|动态规划理论基础、LeetCode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • std::sort的核心设计思想
  • 代码随想录算法训练营第十七天
  • MongoDB数据基本介绍
  • 从 Intel MacBook 迁移到 ARM MacBook 的完整指南
  • Windows怎样同步时间服务器?
  • 【网络实验】-BGP选路原则-11条
  • 攻防世界——Web题 very_easy_sql
  • 嵌入式 Linux开发环境构建之安装 SSH 软件
  • Spring AI 项目实战(十六):Spring Boot + AI + 通义万相图像生成工具全栈项目实战(附完整源码)
  • mapstruct与lombok冲突原因及解决方案
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 44(题目+回答)
  • vue2入门(1)vue核心语法详解复习笔记
  • Agent篇