Я новичок в программировании Linux на встроенных системах.Я хочу больше узнать о встроенных загрузчиках и U-boot.Мой главный вопрос, без сомнения, является общим, но я пытаюсь понять, как U-boot точно находит ядро Linux.
Более конкретно, я использую BeagleBone Black.У меня есть SD-карта, разделенная следующим образом (взято из онлайн-примера), раздел FAT32, содержащий MLO + U-Boot, раздел EXT4, содержащий дерево ядра + устройства, и другой раздел EXT4, содержащий rootfs.
Я понимаю, что первичный загрузчик ПЗУ загружается первым, находит файл MLO в разделе FAT, который затем передает управление U-Boot.
Как U-Boot, наконец, точно находит ядро?Это связано с файлом конфигурации загрузки uEnv.txt?Я понимаю, что с U-Boot есть кривая обучения, которая требует некоторого чтения, но только для того, чтобы получить некоторые знания заранее.
Что произойдет, если я изменю образ карты SD и добавлю больше разделов и попытаюсь загрузитьсяс него ядро на другом разделе?Нужно ли конкретно указывать U-Boot, где искать ядро, или он будет продолжать искать, пока не найдет его?