linux系统移植简要过程(移植bootloader引导加载程序---移植linux内核---制作根文件系统)

news2024/12/23 22:12:46

 一.标准linux启动过程图

        对于linux启动流程分析,我们需要移植bootloader引导加载程序---移植linux内核---制作根文件系统镜像文件;

二.为什么进行系统移植?

        对于不同的硬件平台,linux系统启动流程大体相同,但是资源需求有差异,所以需要对已有平台的linux系统的各种配置资源进行少量修改和裁剪,移植到已有的开发板上,使其在开发板上能运行;

三.移植bootloader引导加载程序(uboot移植)

1.uboot简介

  • bootloader:引导加载程序统称;
  • uboot是bootloader中,其中一种加载引导程序;
  • 在嵌入式开发中,常用引导加载程序为uboot,相当于电脑bios;

2.uboot特点作用

  1. uboot是一个开源分布式软件;

  2. uboot支持多种硬件架构平台(ARM/X86/POWERPC/.........);

  3. uboot是一个裸机开发程序;

  4. uboot是一个短命鬼,主要引导内核进行启动,内核启动成功之后,生命周期就结束;

  5. uboot引导内核进行启动时,会给内核传递两个参数(bootcmd/bootargs),bootcmd参数:自启动命令 ==> 进入自启动模式;bootargs参数:自启动参数 ==> 将ubuntu指定文件夹,挂载到开发板中;

四.移植linux内核

1.移植原因

        uboot已经移植成功,uboot主要作用引导内核进行启动,会给内核传递两个参数(bootcmd / bootargs);

        需要内核的五大功能:

  • 内存管理(内存是计算机系统中最主要的资源,内存申请释放等),
  • 文件管理(在Linux系统中一切皆是文件,通过文件系统格式进行ext2/ext3/ext4格式进行管理),
  • 进程管理(进程是在计算机系统中资源分配的最小单元,进程创建/销毁/调度),
  • 网络管理(内核支持各种网络标准协议和网络设备,通过网络协议栈,完成数据收发),
  • 设备管理(Linux 系统中几乎每个系统操作最终都映射到一个或多个物理设备上,字符设备 / 块设备);

2.linux内核特点

  1. linux内核是开源的,内核中由C语言和汇编语言实现;
  2. linux内核支持多种硬件架构平台;
  3. linux内核具有很好的移植性和裁剪性;
  4. linux内核可以采用模块化方式进行编译;

五.制作根文件系统

1.什么是根文件系统?

  • 根文件系统(rootfs):系统运行时,必须依赖的一些脚本和库相关文件;
  • 根文件系统镜像文件(ramdisk.img):将rootfs以某种格式进行压缩;

2.为什么制作根文件系统?

        内核已经成功,并且uboot可以引导内核进行启动成功,我们不能直接操作内核,内核空间属于3G~4G,应用层空间属于0G~3G , 用户是不可以直接操作内核空间;

        在Linux系统中一切皆是文件,文件是计算机系统的软件资源,操作系统本身和大量的用户程序、数据都是以文件形式组织和存放的,我们可以通过控制rootfs文件,间接控制开发板;

3.制作工具

        根文件系统制作网址:Index of /downloads

4.测试工具

        通过nfs服务器进行测试,将~/nfs/rootfs目录挂载到开发板上,串口工具对~/nfs/rootfs操作;

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

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

相关文章

Multisim14.0仿真(十二)积分放大器

一、仿真原理图: 二、仿真效果图:

道路积水监测-路面积水监测系统

随着城市化的不断发展,城市面临着越来越多的交通挑战,其中之一就是道路积水问题。道路积水不仅影响了交通安全,还会引发交通堵塞、交通事故和城市洪涝等问题。因此,开展道路积水监测是十分必要的。 城市排水、供水、燃气、供热、桥…

本地部署kubesphere集群

本地部署kubesphere集群 本文采用一主两从结构 1.前置硬件准备 准备最少3台机器,本人分配如下 IP:192.168.58.10 (主) 192.168.58.11 (节点1) 192.168.58.12 (节点2) 系统镜像…

3.linux的进程和服务管理

一、查看进程 1.Linux的进程介绍 1)在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。 2)每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。 3)每个进程都可能以两种方式存在的。前台与后台 4)一般系统的服务都是以后台进程的方…

icmp报文及用go实现

目录 一、概述 二、ICMP报文格式详解 2.1 什么是ICMP 2.2 ICMP报文格式 2.3 ICMP报文类型 2.4 实际报文举例 三、使用go实现icmp请求以及接收响应内容 一、概述 本文主要旨在学习icmp报文格式,以及通过go语言来实现ICMP发包。 二、ICMP报文格式详解 2.1 什…

Redis缓存设计与性能优化

多级缓存架构 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去…

【解决】80端口被占用,无法启动apache

1.cmd输入netstat -nao,查看是什么进程占用80端口。进程显示为pid4。 2.打开任务管理器,详细信息选项卡,可以看到pid4的进程是system。 右键打开文件所在位置,可以看到是ntoskrnl.exe这个文件占用80端口 3.【解决方法】 (1&am…

开源即时通讯(IM)项目OpenIM源码部署流程

由于OpenIM依赖的组件较多,开发者需求不一,导致OpenIM部署一直被人诟病,经过几次迭代优化,包括依赖的组件compose的一键部署,环境变量设置一次,全局生效,以及脚本重构,目前OpenIM部署…

淘宝直通车智能计划怎么开?

很多中小卖家不会开直通车,会遇到整个直通车账户亏钱又对店铺没起到正向作用的问题,开车目的也不明确。对于小卖家,店铺最缺的就是流量,那么如何解决流量问题?今天我教大家一种直通车低价引流的打法。 具体步骤&…

【halcon】halcon字符识别——OCR

前言 OCR(Optical Character Recongnition)光学字符识别。 halcon 的OCR,提供了几种方式,我们应该如何选择? 自动文本阅读器(find_text)手动文本阅读器(find_text)自己…

IDEA安装翻译插件

IDEA安装翻译插件 File->Settings->Plugins 在Marketplace中,找到Translation,点击Install 更换翻译引擎 勾选自动翻译文档 翻译 鼠标右击->点击Translate

【Vue】vue2使用vue-pdf预览pdf文件,预览多页,在线预览方式二,vue页面内预览,无需额外pdfjs包,保姆级教程

系列文章目录 【Vue】vue2预览显示quill富文本内容,vue-quill-editor回显页面,v-html回显富文本内容 【Vue】vue2项目使用swiper轮播图2023年8月21日实战保姆级教程 【Vue】vue2使用pdfjs预览pdf文件,在线预览方式一,pdfjs文件包…

手写RPC框架--11.spi机制

spi机制 spi机制a.spi介绍b.缓存spi到本地c.加载spi并将实例缓存d.统一spi加载的配置 spi机制 a.spi介绍 SPI(Service Provider Interface),是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要是…

Scrum工作模式的角色和活动

​Scrum工作模式是一种敏捷软件开发方法,其核心是团队合作和自我组织,旨在通过短周期的迭代开发,实现快速反馈和持续改进。 Scrum工作模式包括以下角色和活动: 1、产品负责人(Product Owner):…

Spring-Cloud GateWay+Vue 跨域方案汇总

文章目录 一、简介背景和概述 二、前端跨域解决方案Axios跨域CORS跨域 三、后端跨域解决方案反向代理服务器 四、Spring Cloud中的跨域解决方案Gateway网关的跨域配置 五、基于Vue和Spring Cloud的跨域整合实践**这两种配置只需配置一种即可生效(前端or后端&#xf…

Unity和C#游戏编程入门:创建迷宫小球游戏示例

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 当涉及到Unity和C#游戏编…

电脑连接电视怎么做?学会这4个方法,轻松连接!

“我的电脑屏幕太小了,想将它连接到电视上看电影。有什么方法可以将电脑与电视进行连接吗?请教教我!” 在今天的数字时代,将电脑连接到电视已经成为了常见的需求。无论是观看电影、演示文稿还是玩游戏,电脑连接电视可以…

蓝桥杯打卡Day7

文章目录 阶乘的末尾0整除问题 一、阶乘的末尾0IO链接 本题思路:由于本题需要求阶乘的末尾0,由于我们知道2*510可以得到一个0,那么我们就可以找出2的数和5的数,但是由于是阶乘,所以5的数量肯定是小于2的数量&#xf…

leetcode:67. 二进制求和

题目: 函数原型: char * addBinary(char * a, char * b) 思路: 二进制相加,首先我们考虑先将字符串逆序。由此要写一个逆序函数reserve。字符串逆序后,从前往后相加,以较长的字符串的长度为标准长度n&#…

前端vue按钮控制切换按钮是否禁用和颜色和显示隐藏,利用v-if和v-else

效果 未输入input前图片 输入input后图片 html <input type"number" placeholder"请输入分润数量" placeholder-class"shareprofit_placeholder_num" v-model"money"> <!-- 金钱 --> {{money}} <!-- 可提现余额 --&g…