一、树莓派等芯片带操作系统的启动过程
1.x86、Intel、windows等设备的启动过程
启动过程:电源- > BIOS -> windows内核 -> C,D盘的启动 -> 程序的启动(例如QQ的启动)
2.嵌入式产品(树莓派、mini2440、mini6410、nanopi、海思、RK(瑞芯微) )的启动过程
启动过程:电源 -> BootLoader (引导操作系统启动) -> linux内核 -> 文件系统(根据功能性来组织文件夹,带访问权限)-> 实实在在的嵌入式产品的启动(例如KTV点歌机)
3.安卓操作系统的启动过程
启动过程:电源 -> fastBoot/Bootloader/ -> linux内核 -> 文件系统 -> 虚拟机 -> HOME应用程序 -> 点击某图标打开某app
4.C51、STM32(裸机,不带操作系统)的开发流程
不带操作系统的裸机开发是C语言直接操控底层寄存器实现相关业务。
5.文件系统补充
上图都是文件,它是根据功能来放的。
dev放的是设备相关,
lib放的是各种动态库和静态库,
proc放的是内核的数据信息,
home是用户登录的工作界面,
opt是跟内核底层有关的,
sbin通常是可执行文件或指令,
bin也是指令和可执行文件,
boot是启动要加载的配置等等。
二、树莓派linux源码分析
linux内核认知:
linux内核大约由1.3w个C文件组成,1100w行代码左右
linux是开源的,免费的,linux开源社区由其工作者和爱好者共同进行维护
linux是一个开源的,支持多架构多平台代码
可移植性非常高
但是linux内核编译出来一般就是几M,一般是4M左右
因为是支持多平台多架构,所以在编译之前是需要进行配置的,配置成适合的目标平台来用
三、树莓派内核源码下载
打开树莓派运行指令 uname -a 查看系统版本、架构等信息,或者直接运行 uname -r 查看树莓派版本信息,然后再去https://github.com/raspberrypi/下载 linux 源码,还要筛选找到对应版本。
<
本文详细解析了树莓派等嵌入式设备的启动过程,包括Windows、Linux和Android,以及C51/STM32裸机开发流程。重点介绍了Linux内核源码分析、下载、配置和编译步骤,展示了配置内核模块和生成zImage文件的过程。
内核开发:下载、编译、替换内核&spm=1001.2101.3001.5002&articleId=135231407&d=1&t=3&u=368dceaec79c4094a07b8606081bd22f)
1745

被折叠的 条评论
为什么被折叠?



