1. BIOS (Basic Input Output System)是一种固件程序,内嵌于计算机主板上的一个小型闪存芯片中。主要负责在计算机启动时进行各种硬件配置和自检,并将操作系统从磁盘加载到内存中,以便用户可以开始使用计算机。BIOS的功能在运行操作系统之后并不会继续发挥作用。
2. Bootloader(引导加载程序),是计算机启动时最先执行的程序。它通常存储在计算机的硬盘驱动器或闪存中,用于加载操作系统或其他开机启动软件。Bootloader的作用是在计算机启动时初始化硬件,然后加载并执行下一个软件程序,通常是操作系统内核。
3. Uboot是一种开源的嵌入式系统引导加载程序。它大多用于开发嵌入式设备,包括单片机、芯片组和嵌入式操作系统。Uboot的功能包括初始化硬件、设置内存映射、加载和启动操作系统内核等。Uboot可以被嵌入到固件中,并在设备启动时自动执行。Uboot具有高度的可定制性和灵活性,能够适应不同的硬件平台和软件环境。
4. 根文件系统(Root File System)是嵌入式系统启动时第一个被挂载的文件系统,作为整个系统的根目录。它包含了启动Linux内核所必需的基本文件和目录结构,例如 /bin、/dev、/etc、/proc、/sbin、/sys、/usr、/var等等。根文件系统的目录结构与PC机上的文件系统类似,只是因为嵌入式系统的特殊性而有所区别。
在Linux系统中,根文件系统的挂载通常由引导加载程序(如U-boot)负责。当计算机启动时,引导加载程序会从系统存储器(如存储卡或闪存)中读取内核映像到内存中,然后加载根文件系统并将其挂载为根目录。此后,系统中的其他文件系统和设备都会被挂载在根文件系统下的合适目录中。
根文件系统的选择对嵌入式系统的性能、可靠性和灵活性都有一定影响。一些嵌入式系统使用压缩的根文件系统,以减小文件系统的大小和启动时间,但需要额外的解压缩工作。同时,一些嵌入式系统使用只读的根文件系统,以提高系统的安全性和可靠性。
图片来源:韦东山《嵌入式Linux应用开发完全手册》