导读 Bootloader主要有两种模式:启动加载模式(Boot Loading)和下载模式(Downloading)。启动加载模式,也称为自主模式,是Bootloader的正常...
Bootloader主要有两种模式:启动加载模式(Boot Loading)和下载模式(Downloading)。
启动加载模式,也称为自主模式,是Bootloader的正常工作模式。在这种模式下,Bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式为Bootloader的默认工作模式,因此在嵌入式产品发布时,Bootloader必须工作在这种模式下。
下载模式,用户干预进入下载模式,在控制台打印提示信息,等待用户输入。如果用户不干预,则进入正常启动模式,即调用操作系统内核。在下载模式下,可以通过串口连接、网络连接或USB连接等通信手段从主机(Host)下载文件,如下载内核映像、根文件系统映像、Bootloader自身等。这种模式通常在第一次安装内核与根文件系统时被使用,系统更新也会使用Boot Loader的这种工作模式。在下载模式下,目标机上的Bootloader将首先把文件保存到目标机的RAM中,然后被BootLoader写到目标机上的FLASH类固态存储设备中,或者直接在RAM中运行。
此外,一些通用的Bootloader(如Blob或U-Boot)同时支持这两种工作模式,允许用户在这两种工作模式之间进行切换。例如,Blob在启动时处于正常的启动加载模式,但会延时10秒等待终端用户按下任意键而将Blob切换到下载模式。如果10秒内没有用户按键,则Blob继续启动Linux内核。
总的来说,这两种模式的选择取决于具体的应用场景和用户的需求。启动加载模式适用于无人工干预的自动启动过程,而下载模式则适用于需要从外部下载文件进行系统更新或首次安装的场景。