Raspbian内核在官方形象上有什么区别?


16

在正式的Raspbian“乳白”图像(2012-07-15)中,有三个内核图像:

  • kernel.img(6MB)
  • kernel_cutdown.img(4MB)
  • kernel_emergency.img(16MB)

我很好奇这些之间的技术区别是什么?何时更改默认值(kernel.img)可能会有所益处?


对于那些不知道的人-您可以通过在/boot/config.txt文件中添加一行来选择要使用的内核,例如,启动缩减内核:kernel=kernel_cutdown.img
Pierz

Answers:


12

我似乎找不到有关Raspbian内核的任何特定信息。但是,我可以根据我在Linux内核方面的经验提供信息。

传统上,当您为发行版编译内核时,您希望它能够涵盖对相当广泛的硬件的支持。例如,各种图形卡和无线卡以及诸如SATA控制器和文件系统支持之类的更简单的东西。然后,内核还将具有模块化支持,以便可以通过模块的加载来支持其他硬件。您将看到通过使用modprobe或更传统的方式来完成此操作insmod。模块加载通常在后台进行,例如,当您插入USB硬盘驱动器时,usbcore模块将被加载。通常不知道的是,这种支持也可以内置在内核中,这增加了它的大小和在启动时加载的时间,但通常可以提高性能。

开发人员面临的问题是,是否应该将支持编译到内核中,作为模块提供还是完全排除在外。

标准内核kernel.img将尝试并涵盖最可能的硬件组合。对于像Raspbian这样的发行版,它可能包括所有Raspberry Pi硬件以及运行的操作系统所需的其他部分。内核看起来很小(我已经构建了大于50MB的内核),因此我想即使使用基本内核,大多数支持也是模块化的。

kernel_cutdown.img会提供的最小的图像可能仍然允许系统是可用的。这可能包括基本文件系统和网络。但是外部外围设备支持的方式不多,因此不必再插入该USB无线适配器。有时,将在不完全模块化的情况下构建缩小图像(这可能是图像大小的一半)。

相反,这kernel_emergency.img可能与削减相反。这个过大的映像将包含编译到内核中的广泛支持。该映像通常在难以识别的其他内核出现问题时使用,因为在几乎所有情况下都应提供可引导的安装。将其视为一种安全模式

希望对您有所帮助。如果我发现有关Raspian图像的更多详细信息,请在此处添加。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.