理解嵌入式开发中BootLoader、内核和根文件系统之间的关系

理解嵌入式开发中BootLoader、内核和根文件系统之间的关系

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

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

1. 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卡将镜像读到内存中。

2.kernel

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

3.rootfs

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chvngzhvng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值