笔记整理—什么是uboot&内核

前几章我们用大量的时间介绍了uboot干了什么,本章我们将要对kernel于uboot的区别进行说明。

uboot启动完成后,使用bootm可以去启动内核。

uboot其实是一个裸机程序,只是复杂一点几乎可以看作是一堆东西的初始化再加上指令实现的。

内核位于操作系统中的内核层,在内存上对设备访问与内存访问要高于应用层。

uboot的镜像叫uboot.bin。linux的镜像叫zImage。

系统有对内存的更细致化管理以及权限的管理,在系统启动后才有了应用层和驱动层一说。uboot->zImage->系统。

在不通电的情况下,一个软件、系统,如bootloader、kernel、rootfs等都以镜像的形式存储在介质中,当上电后才在内存中运行,这叫静态过程。

将镜像从sd卡读取->内存->进行初始化与框架建立->形成一个稳定的过程,这叫动态过程。

静态加载要求,uboot和kernel的分区表保持一致,与sd卡实际使用分区保持一致。

uboot的第一阶段进行重定位将第二阶段加载到DDR中(对于X210而言是0xc3e00000),这个地址就是uboot的链接地址。

内核启动:使用uboot启动内核将uboot从SD卡(介质)中读到DDR中(重定位)放在内核的链接地址(0x30008000)。

uboot的启动条件是无条件启动的,而kernel是需要uboot进行重定位才能启动的。

下一章将会讲述kernel的启动过程与do_boot函数。

相关推荐
心中有你02147 小时前
C语言埃氏筛法(素数筛选)
c语言·数据结构·算法
雯宝10 小时前
mnt_init 函数
linux
律宏阔16 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔16 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴16 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千16 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3716 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3716 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3716 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
GeW16 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux