系统移植 根文件系统的移植 7.5

news2024/10/5 14:38:46

根文件系统的移植

根文件系统:根目录下的所有文件和工具的集合

  根文件系统是内核启动后挂载的第一个文件系统系统引导程序会在根文件系统挂载后从中把一些基本的初始化脚本和服务等加载到内存中去运行

文件系统层次结构标准

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q5t5Uf5E-1688565562031)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20230705142033664.png)]

文件具体的属性只能在内核中看到,在挂载终端上看不到

根文件系统(rootfs)是内核启动时所挂载的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。根文件系统中所需要的大部分linux命令和工具软件可通过busybox来构建,简化了构建根文件系统的复杂度。

————————————————

BusyBox是一个开源的、轻量级的、包含了一系列常用的Unix工具的软件集合。它被设计成在嵌入式系统和低资源环境下运行,可以提供类似于完整的Unix操作系统的功能。BusyBox的目标是通过将多个工具合并为一个可执行文件,减小系统的存储空间和资源占用,同时提供了一些常用的命令和工具,如ls、cp、mv、rm等。BusyBox广泛应用于嵌入式设备、路由器、手机等各种嵌入式系统中。

制作自己的根文件系统

以下只制作lib bin sbin etc

1.明确目录文件:
bin sbin etc lib dev proc sys var tmp root init
2.下载busybox源码/拷贝到家目录下
3.到busybox目录下的make menuconfig---->busybox setting ---> busybox options -->build busybox as a static lib 和cross compiler...(arm-linux-)
4.make -j8
5.make install 安装
6.cd ./_install/
7.linuxrc (init执行时执行的的是它)
8.mkdir etc dev proc sys var tmp lib 
	1) cd lib
	2)cp ~/downloaXXXXXXXXXXXXXXXXX

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kgvSJW7l-1688565562032)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20230705145059370.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vTM1bGGv-1688565562032)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20230705145107315.png)]

	3)cd etc
	1.将rootfs中etc的内容借鉴到newrootfs的etc中
	2.sudo vi /etc/exports
	添加:	/home/hqyj/sys/newrootfs *(rw,sync,no_subtree_check,no_root_squash)
	3.sudo service nfs-kernel-server restart (重启NFS)
	4. 修改nfsroot的启动路径
bootargs root=/dev/nfs nfsroot=192.168.2.249:/home/hqyj/sys/newrootfs,v3 rw console=ttySAC2,115200 clk_ignore_unused init=/linuxr ip=192.168.2.248
	5.save后重新启动板子

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

django-vue-admin curd_demo 快速crud教程

django-vue-admin curd_demo 快速crud教程 快速CRUD开发教程:https://bbs.django-vue-admin.com/article/9.html 如何在 env.py 文件配置Mysql数据库:https://bbs.django-vue-admin.com/question/4.html 导入导出配置教程:https://bbs.djang…

Linux MySQL三种安装方式

MySQL 三种常用安装方式: 离线安装: 在mysql官网进行下载,步骤如下: 然后找到这个: 因为我这里使用的OS为CentOS7,大家可以按自己的系统进行选择。 最后通过XFTP/SCRTXF将文件传到虚拟机上。 然后将…

剑指 Offer 15. 二进制中1的个数 / LeetCode 191. 位1的个数(位运算)

题目: 链接:剑指 Offer 15. 二进制中1的个数;LeetCode 191. 位1的个数 难度:简单 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的…

MYSQL04高级_逻辑架构剖析、查询缓存、解析器、优化器、执行器、存储引擎

文章目录 ①. 逻辑架构剖析②. 服务层 - 查询缓存③. 服务层 - 解析器④. 服务层 - 优化器⑤. 服务层 - 执行器 ①. 逻辑架构剖析 ①. 服务器处理客户端请求 ②. 连接层 系统(客户端)访问MySQL服务器前,做的第一件事就是建立TCP连接经过三次握手建立连接成功后,MySQL服务器对…

安装centos报错usb2-port3: Cannot enable. Maybe the USB cable is bad?的垃圾解决办法

使用U盘安装系统,用Rufus烧录,建议使用DVD版本,MINIMAL没有图形界面,同时安装的时候也要选安装GNOME联想P330在开机Lenovo出现时狂按F12,选USB UEFI partition1进入,差不多这个界面,还有一些BIO…

rt-thread-------内存管理(内存堆)

系列文章目录 rt-thread 之 fal移植 rt-thread 之 生成工程模板 STM32------串口理论篇 rt-thread------串口V1版本(一)配置 rt-thread------串口V1版本(二)发送篇 rt-thread------串口V1版本(三)接收篇 r…

系统移植 uboot移植 7.3

给fs4412板子配置uboot uboot激活流程 (arch/arm/cpu/armv7/start.S) reset 1.设置CPU模式为SVC//在这里加点灯的代码。看程序的代码有没有执行// ldr r0,0x11000C40 ldr r1,[r0] bic r1,r1,#0xf0000000 orr r1,r1,#0x10000000 str r1,[r0]ldr r0,0x11…

打包时未添加livepusher模块

我们的项目采用的是混入开发,html5, 使用到了安卓离线打包,其中使用到了livepusher模块,本来没什么难事的,很简单的一个问题,但是中文的官方文档却介绍错了包名,一直在郁闷为啥不行,痛苦啊。本来…

WiFi cfg80211的kernel架构(基于Linux 3.08)

目录 1.框架 2.主要流程 2.1.malloc & init(softmac) 2.1.3 内存分配 2.2. 结构体关系 2.3.初始化顺序 2.4.beacon frame 2.4.1.接收流程 2.4.2.beacon响应流程 2.5.scan 2.6.auth and associate 2.7. rx/tx data 2.7.1.rx 2.7.2.xmit 2.8.csa 2.9.missi…

MATLAB基础篇(下)

本文为MATLAB基础篇(上)的后续。 二、 MATLAB基本语法 7、基本绘图方法 Ⅰ、 MATLAB绘图的一般步骤 对数轴进行采样对采样点计算相应的函数值, 得到平面(或空间)上的点的数据运用绘图命令将数据进行图形化显示 x-1:0.01:1; %对数轴进行采样ysin(1./x);…

Linux之基础git命令的使用

Linux之基础git命令的使用 提交第一步提交第二步提交第三步查看历史提交记录查看是否需要提交过滤提交时的文件 git命令的初始使用 在使用之前,我们先确定我们的xshell是否安装的git,需要输入命令 git --version 如果没有显示版本号,则需要进…

【操作系统】c语言--使用信号量解决生产者和消费者问题

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

Vue--》Vue3打造可扩展的项目管理系统后台的完整指南(九)

今天开始使用 vue3 ts 搭建一个项目管理的后台&#xff0c;因为文章会将项目的每一个地方代码的书写都会讲解到&#xff0c;所以本项目会分成好几篇文章进行讲解&#xff0c;我会在最后一篇文章中会将项目代码开源到我的GithHub上&#xff0c;大家可以自行去进行下载运行&…

Eclipse配置JVM启动参数

【参考】Eclipse设置jvm参数的三种方式

git、gitlab、github在windows下通用的操作笔记

前言&#xff1a;命令是在Git Bash 下输入的命令&#xff0c;GUI部分涉及到小乌龟git&#xff0c;可以自行安装&#xff0c;不同版本有差异&#xff0c;用git的新手也可以尝试 SourceTree 提供漂亮的图形化界面操作&#xff08;但是卡顿坑多&#xff0c;需三思&#xff09; 1、…

7月11入伏,进入三伏天dog days

三伏天&#xff0c;是一年中最热的日子,今年的三伏天始于7月11日。sanfu, the hottest time of the year begins on July 11th this year. 三伏&#xff0c;也称为中国的dog days,预示着一年中最热的三个阶段&#xff0c;每一阶段大约有10-20天。Sanfu, also called Chinas &qu…

基于FreeRTOS的嵌入式设备管理关键技术研究及实现(学习五重要)

操作系统任务框架 系统任务 空闲任务几乎存在于所有的嵌入式实时操作系统&#xff0c;用户无法自行关闭空闲任务。 空闲任务的作用主要是减少核心芯片的使用率&#xff0c;避免核心芯片的负载压力过大&#xff0c;保证系统的低功耗运行。 时钟节拍任务控制系统的延时函数和等待…

matlab画拟合直方图的脚本

都是一些简单的作图参数&#xff0c;可以自己按照matlab官方的指导去改style https://ww2.mathworks.cn/help/stats/histfit.html %-----------------------------------------------------------------------------------------------------------% %-----Function: Plot a h…

Proteus8.15 安装包下载及详细安装

Proteus8.15 安装包下载及详细安装 1.安装包链接&#xff0c;需要可自取&#xff0c;也可自行去官方下载最新版本 链接: https://pan.baidu.com/s/1Zcdr1hFo2RHCw88CXtY2bQ?pwdbuz6 提取码: buz6 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 –来自百度网盘超…

Redis 高可用和优化(主从复制、哨兵、集群)

目录 一&#xff1a;Redis 高可用 二&#xff1a; Redis 持久化 1、持久化的功能 2、Redis 提供两种方式进行持久化 3、 RDB 持久化 &#xff08;1&#xff09;触发条件 &#xff08;1.1&#xff09;手动触发 &#xff08;1.2&#xff09;自动触发 &#xff08;1.3&am…