В чем разница между ядрами Распби в официальном образе?

16

На официальном изображении Raspbian «wheezy» (2012-07-15) есть три образа Kernel:

  • kernel.img (6 МБ)
  • kernel_cutdown.img (4 МБ)
  • kernel_emergency.img (16 МБ)

Мне интересно, каковы технические различия между ними? Когда может быть выгодно перейти от значения по умолчанию (kernel.img)?

McKAMEY
источник
Для тех, кто не знает - вы можете выбрать, какое ядро ​​вы используете, добавив строку в файл /boot/config.txt, например, для загрузки урезанного ядра: kernel=kernel_cutdown.img
Pierz

Ответы:

12

Кажется, я не могу найти какую-то конкретную информацию о ядрах Распби, которая касается меня. Тем не менее, я могу дать информацию, которую я имею из моего опыта работы с ядрами Linux.

Традиционно, когда вы собираете ядро ​​для дистрибутива, вы хотите, чтобы оно могло покрывать поддержку довольно широкого спектра оборудования. Например, различные видеокарты и беспроводные карты, а также более простые вещи, такие как контроллеры SATA и поддержка файловой системы. Ядра также будут иметь поддержку модульности, так что другое оборудование может поддерживаться посредством загрузки модулей. Это вы увидите, достигнуто путем использования modprobeили более традиционно insmod. Обычно загрузка модуля происходит за кулисами, например, при подключении жесткого диска USB usbcoreмодуль будет загружен. Часто не известно, что эта поддержка также может быть встроена в ядро, что увеличивает его размер и время, необходимое для загрузки при загрузке, но часто повышает производительность.

Проблема, с которой сталкиваются разработчики, заключается в том, должна ли поддержка быть скомпилирована в ядро, предоставлена ​​как модуль или полностью исключена.

Стандартное ядро kernel.img, постарается и охватит наиболее вероятные аппаратные комбинации . Для таких дистрибутивов, как Raspbian, это может включать в себя все оборудование Raspberry Pi, а также другие компоненты, необходимые для работающей операционной системы. Ядро кажется маленьким (я собрал ядра> 50 МБ), поэтому я думаю, что даже с базовым ядром большая часть поддержки является модульной.

Это kernel_cutdown.imgобеспечит наименьшее возможное изображение, которое по-прежнему позволяет использовать систему . Это, вероятно, будет включать в себя базовую файловую систему и сети. Но не так уж много в плане поддержки внешней периферии, поэтому забудьте о подключении этого беспроводного USB-адаптера. Иногда урезанное изображение будет построено полностью без модуляции (что может вдвое уменьшить размер изображения).

Напротив, kernel_emergency.imgвероятно, будет противоположность сокращению. Это увеличенное изображение будет содержать широкий спектр поддержки, встроенной в ядро . Этот образ обычно используется, когда есть проблема с другими ядрами, которую трудно идентифицировать, поскольку он должен обеспечить загрузочную установку почти во всех случаях. Думайте об этом как о безопасном режиме .

Я надеюсь, что это поможет вашему пониманию. Если я узнаю больше подробностей о изображениях Raspian, я добавлю их сюда.

Jivings
источник