Intereting Posts
Как перенести настройки брандмауэра с одного веб-сервера Debian Squeeze на другой? Использование sed (или что-нибудь полезное) для замены строк относительным содержимым Будет ли использование сжатой файловой системы над зашифрованным томом повысить производительность? Оптимальный способ отслеживания сеанса TTY, который блокирует ресурс? Как создать несколько идентификаторов с одинаковым UID в AIX? Как изменить UID идентификаторов в AIX? Как я могу использовать флэш-память формата низкого уровня в Linux? Почему я могу использовать apt-get, когда я использую «su»? Проблема входа в SSH с двумя разными именами пользователей Добавить второй IP-интерфейс – Linux (Android) Вкладка для отображения содержимого каталога переместите файл, соответствующий шаблону в сценарии оболочки Есть ли программное обеспечение с открытым исходным кодом для имитации и практически программирования BIOS компьютера? Почему я не могу изменить свой MAC-адрес? Что на самом деле будет выполнено? Как заставить оболочку xterm использовать utf-8?

Как загрузчик и ядро ​​взаимодействуют после загрузки ядра в память?

Я немного смущен о роли загрузчика и его взаимодействии с ядром, особенно когда речь идет о ARM Llnux. Как только ядро ​​загружается в ОЗУ, осталось ли задание для загрузчика? Например, посмотрите сообщения журнала здесь:

Thu Feb 06 18:05:34.660 2014] [Thu Feb 06 18:05:34.660 2014] [Thu Feb 06 18:05:34.660 2014] U-Boot 2013.07 (Feb 04 2014 - 14:41:40) [Thu Feb 06 18:05:34.660 2014] [Thu Feb 06 18:05:34.660 2014] Memory: ECC disabled [Thu Feb 06 18:05:34.660 2014] DRAM: 1 GiB [Thu Feb 06 18:05:34.677 2014] MMC: zynq_sdhci: 0 [Thu Feb 06 18:05:34.677 2014] SF: Detected N25Q128A with page size 64 KiB, total 16 MiB [Thu Feb 06 18:05:34.708 2014] *** Warning - bad CRC, using default environment [Thu Feb 06 18:05:34.708 2014] [Thu Feb 06 18:05:34.708 2014] In: serial [Thu Feb 06 18:05:34.708 2014] Out: serial [Thu Feb 06 18:05:34.708 2014] Err: serial [Thu Feb 06 18:05:34.708 2014] U-BOOT for Xilinx-ZC702-14.7 [Thu Feb 06 18:05:34.708 2014] [Thu Feb 06 18:05:34.708 2014] [Thu Feb 06 18:05:34.708 2014] SF: Detected N25Q128A with page size 64 KiB, total 16 MiB [Thu Feb 06 18:05:36.285 2014] SF: 11010048 bytes @ 0x520000 Read: OK [Thu Feb 06 18:05:36.285 2014] ## Loading kernel from FIT Image at 01000000 ... [Thu Feb 06 18:05:36.285 2014] Using 'conf@1' configuration [Thu Feb 06 18:05:36.285 2014] Trying 'kernel@1' kernel subimage [Thu Feb 06 18:05:36.285 2014] Description: PetaLinux Kernel [Thu Feb 06 18:05:36.285 2014] Type: Kernel Image [Thu Feb 06 18:05:36.285 2014] Compression: gzip compressed [Thu Feb 06 18:05:36.285 2014] Data Start: 0x010000f0 [Thu Feb 06 18:05:36.285 2014] Data Size: 4997719 Bytes = 4.8 MiB [Thu Feb 06 18:05:36.285 2014] Architecture: ARM [Thu Feb 06 18:05:36.285 2014] OS: Linux [Thu Feb 06 18:05:36.285 2014] Load Address: 0x00008000 [Thu Feb 06 18:05:36.285 2014] Entry Point: 0x00008000 [Thu Feb 06 18:05:36.285 2014] Hash algo: crc32 [Thu Feb 06 18:05:36.285 2014] Hash value: db7d8248 [Thu Feb 06 18:05:36.285 2014] Verifying Hash Integrity ... crc32+ OK [Thu Feb 06 18:05:36.383 2014] ## Loading fdt from FIT Image at 01000000 ... [Thu Feb 06 18:05:36.383 2014] Using 'conf@1' configuration [Thu Feb 06 18:05:36.383 2014] Trying 'fdt@1' fdt subimage [Thu Feb 06 18:05:36.383 2014] Description: Flattened Device Tree blob [Thu Feb 06 18:05:36.383 2014] Type: Flat Device Tree [Thu Feb 06 18:05:36.383 2014] Compression: uncompressed [Thu Feb 06 18:05:36.383 2014] Data Start: 0x014c442c [Thu Feb 06 18:05:36.383 2014] Data Size: 11161 Bytes = 10.9 KiB [Thu Feb 06 18:05:36.383 2014] Architecture: ARM [Thu Feb 06 18:05:36.383 2014] Hash algo: crc32 [Thu Feb 06 18:05:36.383 2014] Hash value: 8aee0d02 [Thu Feb 06 18:05:36.383 2014] Hash algo: sha1 [Thu Feb 06 18:05:36.383 2014] Hash value: 266e39ed71a93229a26f0cf7e9f5317b64c2e407 [Thu Feb 06 18:05:36.383 2014] Verifying Hash Integrity ... crc32+ sha1+ OK [Thu Feb 06 18:05:36.387 2014] Booting using the fdt blob at 0x14c442c [Thu Feb 06 18:05:36.387 2014] Uncompressing Kernel Image ... OK [Thu Feb 06 18:05:36.782 2014] Loading Device Tree to 07ffa000, end 07fffb98 ... OK [Thu Feb 06 18:05:36.782 2014] [Thu Feb 06 18:05:36.782 2014] Starting kernel ... [Thu Feb 06 18:05:36.782 2014] [Thu Feb 06 18:05:37.570 2014] INIT: version 2.88 booting [Thu Feb 06 18:05:37.867 2014] Starting Bootlog daemon: bootlogd. [Thu Feb 06 18:05:37.910 2014] Creating /dev/flash/* device nodes . . . 

Есть ли какая-то роль загрузчика после строк " Starting Kernel ... выше» или загрузчик всегда активен, занимая некоторые ресурсы памяти и процессора?

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

Нет, я не верю, что есть что-то еще, за что ответственен загрузчик, после того как он отменил контроль над ядром Linux, который затем загружается, исследуя само оборудование и запуская все службы, настроенные для этого.

Если вы посмотрите проект Linux From Scratch (LFS) , в частности раздел « 8.4. Использование GRUB для настройки процесса загрузки ». Взглянув на базовый файл конфигурации GRUB:

 $ cat /boot/grub/grub.cfg # Begin /boot/grub/grub.cfg set default=0 set timeout=5 insmod ext2 set root=(hd0,2) menuentry "GNU/Linux, Linux 3.13.3-lfs-7.5" { linux /boot/vmlinuz-3.13.3-lfs-7.5 root=/dev/sda2 ro } 

Обратите внимание на linux ... line? Это загрузка ядра Linux. Когда GRUB вызывает эту строку, это делается по существу.

Продолжает ли он работать?

GRUB не сохраняется, не выполняя работу по загрузке ядра Linux. Как только это делается, он освобождает любую RAM, которую он потребляет во время ее выполнения.

 More About U-Boot Image Types: ------------------------------ U-Boot supports the following image types: "Standalone Programs" are directly runnable in the environment provided by U-Boot; it is expected that (if they behave well) you can continue to work in U-Boot after return from the Standalone Program. "OS Kernel Images" are usually images of some Embedded OS which will take over control completely. Usually these programs will install their own set of exception handlers, device drivers, set up the MMU, etc. - this means, that you cannot expect to re-enter U-Boot except by resetting the CPU. ... 

U-Boot README

Итак, нет, ничто из u-boot не останется после загрузки ядра.