一个完整的linux系统,通常包括Uboot,kernel,设备树以及跟文件系统。
1.Uboot
U-boot是一个主要用于嵌入式系统的引导加载程序,可以支持多种不同的计算机系统结构,Uboot全称Universal boot Loader,是遵循GPL条款的开源项目,U-boot的主要作用是用来启动操作系统内核,分为两个阶段,即boot+loader ,boot阶段启动系统,初始化硬件设备,建立内存空间映射图,将系统的软硬件带到一个合适的状态,loader阶段将操作系统内核文件加载至内存,之后跳转到内核所在地址运行
2.Linux内核
Linux内核是一种开源电脑操作系统内核,用C语言写出,符合POXI标准的类Unix操作系统,Linux内核是一个用来和硬件打交道并为用户提供一个有限的服务集的低级支撑软件,一个计算机系统是一个硬件和软件的共生体,他们互相依赖,不可分割,计算机的硬件,含有外围设备,处理器,内存,硬盘,和其他电子设备组成的计算机的发动机,但是没有软件来操作的控制它,自身是不能工作的,,完成这个控制的工作的软件就称为操作系统,在linxu的术语中被称为内核,也可以称为黑“核心”Linux内核的主要模块(或组件)分为以下几个部分,进程管理子系统,内存管理子系统,文件子系统,网络子系统,设备子系统等。
3.设备树
设备树是一种描述硬件的数据结构,它用来描述这些硬件设备的信息,这个文件就是Device Tree(设备树),设备树包括设备树源码(Device Tree Source,DTS)文件,设备树编译工具(Device Tree Complier,DTC)与二进制格式设备树(Device Tree Blob,DTB),DTS包含得头文件格式为DTSI。
设备树描述
&spi1 {
status = "okay"; // 表示SPI控制器启用正常工作
// assigned-clock-rates = <200000000>; // 默认不用配置,SPI 设备工作时钟
max-freq = <48000000>; /* spi internal clk, don't modify */
// 设置SPI内部时钟频率上限为48 MHz,不建议修改
// dma-names = "tx","rx"; // 使能DMA模式
// 配置DMA通道名称,启用传输和接收DMA模式
// rx-sample-delay-ns = <10>; // 默认不用配置,读采样延时
// 配置读取数据时的采样延时,单位为纳秒
spi_dev@0 {
compatible = "rockchip,spidev"; // 指定设备兼容性字符串
reg = <0>; // SPI设备的注册地址
spi-max-frequency = <12000000>; // 设置SPI设备的最大传输频率为12 MHz
spi-lsb-first; // 设置IO传输顺序为LSB先传输
// 若注释不允许使用GPIO
Uboot和Linux不能直接识别到DTS文件,而DTB可以被内核与BootLoader是识别解析,通常在制作NAND Flash,SD Card启动镜像时,通常会为DTB文件留下一部分存储区域以存储DTB、在bootLoader启动内核时,会先读取DTB到内存,再提供给内核使用。
4.根文件系统
根文件系统(rootfs)是linux在初始化时加载的第一个文件系统,根文件系统包括根目录和真实文件系统,它包含系统引导的和使用其他的系统得以挂载(mount)所必要的文件,根文件系统包含linux启动时所必要的目录和关键性文件,例如Linux启动时必要的初始化文件,他在init目录下,此根文件系统还包括了许多的应用程序bin目录等,任何包括这些Linux系统启动时所必须的文件都可以成为根文件系统。
在Linux内核启动的初始阶段,首先内核会初始化一个基于内存的文件系 统,如initramfs,initrd等,然后以只读的方式去加载根文件系统(load rootfs), 读取并且运行/sbin/init初始化文件,根据/etc/inittab配置文件完成系统的初始化工作 (提示:/sbin/init是一个二进制可执行文件,为系统的初始化程序,而/etc/inittab是它的配置文件), 在初始化的过程中,还会以读写的方式重新挂载根文件系统,在系统启动后, 根文件系统就可用于存储数据了,存在根文件系统是Linux启动时的必要条件。
我们常见的根文件系统制作工具有 buildroot、Ubuntu、Debian、yocto、busybox,这些工具的优缺点列出如下
标签:初始化,文件,系统,文件系统,内核,Linux,构成,设备 From: https://blog.csdn.net/2302_76993698/article/details/141382402