嵌入式100题(62):bootloader内核 根文件的关系

bootloader内核 根文件的关系

  一般来说,为了使开发板成功运行linux系统,我们需要完成以下三个方面的开发工作:

  1. bootloader(启动装载)
  2. kernel(内核)
  3. rootfs(根文件系统)

bootloader

  对于bootloader,我们一般用u-boot来制作。

  当开发板烧写了u-boot并启动后,你可以使用命令行来控制开发板进行一些简单硬件操作和配置(内存、网络、文件系统和启动等等),并且命令风格和linux很相似,所以也可以把u-boot看作一个封装了各种硬件外设驱动(裸机)的Shell程序。

  由于u-boot集成了网络功能(如tftp工具),因此开发板在烧写好u-boot后,我们可以通过网络上传linux内核,将kernel镜像文件直接加载开发板内存中去,达到动态加载的目的,这样就不用非得先把kernel烧写到mmc和sd卡中再去加载和执行。使用u-boot可以直接将内存中的镜像文件写入mmc和sd卡,也可以从mmc和sd卡将镜像读到内存中。

Kernel

  kernel的启动依赖于bootLoader,因此需要用u-boot来引导和加载我们的内核镜像。使用u-boot的boot相关命令能够启动linux kernel。当kernel启动完毕的时候,u-boot就完成了它的任务,把命令行让给linux内核。

Rootfs

  kernel的正常运行要求有一个根文件系统rootfs,这个根文件系统存放了linux系统的一些重要文件、库、命令等,内核启动后需要对其进行挂载。

posted @ 2021-02-26 14:14  角色人生  阅读(652)  评论(0)    收藏  举报