U-boot与linux的关系

时间:2023-03-10 07:25:06
U-boot与linux的关系
基本上没有啥关系,U-boot的话你也知道,说白了就像是Dos工具箱,本身算是个精简的Linux系统了,主要是负责硬件的初始化和引导,本身带有一些工具,作为引导程序,常作为嵌入式设备的引导。当真正的系统开始运行的时候U-boot就把管理权限交了出去。
  Linux比较泛泛,大体来说就是一个操作系统,具有多个发行版本。大体就是这样。
uboot  是Universal BootLoad 。一个就算是“通用”的启动代码载入器。

Linux 本身不能自己把自己读取到内存中并且运行,所以他需要一个 loader (载入器)读入内存并且运行。
uboot 类似台式机的 BIOS + grub 启动 Linux 的组合。
嵌入式系统因为构造很特殊,所以他的系统启动一般都是要在 nor flash (不是我们常见的 NAND flash 存储器,NOR flash 可以直接运行程序,NAND 不能直接运行程序,需要读取到内存运行,和 BIOS 很类似,nor flash 成本很高)。这个前期启动需要做一些初始化工作,以及因为环境限制,程序运行有很大的功能限制。这使得原本就不支持自己启动的 Linux 内核更需要一个 loader 来提供前期的准备,这就是 bootloader 的主要用处。 uboot 就是针对某个嵌入式环境特别编译特别准备的一级引导程序。用来初始化环境,并且读取启动 Linux 内核的东西。
当然一个在 Linux 内核启动之前就启动的 bootloader 不光有这些功能。不过主要的用处就是启动它后面的系统,不光是 Linux ,WinCE 也需要这么一个东西的。