工具/软件:Linux
您好!
我对 Linux 内核和引导过程有几个问题。
1) BIOS:启动时、执行处理器启动地址上的第一个代码、即 BIOS。 BIOS 检测硬件并执行开机自检。 然后,它加载第一阶段引导加载程序(从 MBR),将控制权移交给它。 现在的问题是、如果 BIOS 执行 POST 或读取 MBR、则意味着它应该包含与 RAM、键盘、硬盘、USB 通信的驱动程序。 也就是说,是否需要设备驱动程序来检测/与这些硬件通信... 所以
i) BIOS 是否包含任何驱动程序??
ii)它如何检测 硬件并执行开机自检或与硬盘、RAM 等通信??
2) initrd - initramfs:我听说设备驱动程序打包在内核中。 内核会在引导时加载它们。 内核加载后、内核会装载名为 initrd 或 initramfs 的临时 RAMDISK 文件系统、以加载设备驱动程序并装载实际的丁腈系统。 现在、如果器件驱动程序打包到内核中、那么当引导加载程序将内核映像加载到 RAM 中时、这是否意味着内核中打包的驱动程序过多地加载到 RAM 中、如果是、为什么内核需要临时根文件系统来加载驱动程序?
3)引导加载程序:如果引导加载程序正在从硬盘驱动器将内核映像加载到 RAM 中、则意味着它应该包含用于硬盘驱动器的设备驱动程序。 那么为什么内核需要加载 RAID 控制器和驱动程序?? 引导加载程序是否应将驱动程序切换至内核???
此致、