Qemu Linux (ядро с отладочными символами) и ARM

Если вы используете MBR, GRUB может вызвать os-prober для сканирования всех разделов на предмет наличия загрузочных систем. os-prober (и его двоюродный брат, linux-boot-prober , который вызывается os-prober ) будет искать загрузочные диски на всех известных дисках и их разделах. системы. Для систем Linux он будет искать разделы, содержащие ./ vmlinuz * и ./ initrd * / ./ initramfs * , или разделы, содержащие каталог с именем ] / boot и прежние файлы.

grub-mkconfig попытается использовать os-prober , если сможет его найти, и напечатает grub.cfg , включая все обнаруженные системы.

Лично я считаю, что это меньше работы, чем использование UEFI, но продолжаю читать.


Для UEFI, в первую очередь, определенно может быть несколько разделов EFI. Тем не менее, не рекомендуется иметь несколько разделов EFI в мультизагрузочной системе. В этом SU-ответе подробно объясняется, почему , в основном потому, что вы можете иметь подкаталоги внутри одного раздела EFI и иметь разные системы в каждом подкаталоге. Вы просто выполняете монтирование с привязкой к другому месту раздела EFI, которое будет каталогом / boot в каждой системе.

Например, вы можете создать два разных загрузчика, скажем:

\ loader \ entries \ mint.conf

title    Mint Linux
linux    \mint\vmlinuz
initrd   \mint\initrd.img
options  root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw

\ loader \ entries \ centos.conf

title    CentOS
linux    \centos\vmlinuz-linux
initrd   \centos\initramfs-linux.img
options  root=PARTUUID=14420948-2cea-4de7-b042-40f67c618661 rw

Вам нужен UUID для загрузчика, чтобы узнать, какой корень файловая система для использования. Теперь вы можете поместить ядро ​​и начальные ramf-файлы каждой установки в их собственный каталог в разделе EFI (один в mint , а другой в centos ).

Затем в каждой системе вы создаете / etc / fstab с привязкой, чтобы использовать правую часть раздела EFI в качестве каталога / boot . Например:

 /efi vfat defaults 0 0
/efi/EFI/mint /boot none defaults,bind 0 0

и

 /efi vfat defaults 0 0
/efi/EFI/centos /boot none defaults,bind 0 0

Каждая система теперь сможет разместить свое ядро ​​в нужном месте при обновлении, а загрузка происходит через UEFI.

Ссылки:

1
04.06.2015, 15:56
2 ответа

. Самый простой способ - загрузить собственное ядро ​​и отладить его с помощью отладочных символов.

вы переходите в каталог ядра, затем запускаете команду make menuconfig и в разделе

взлом ядра ---> отметьте опцию компиляции ядра с отладочной информацией

, вы также можете найти его в разделе Проверки времени компиляции и компилятор параметры --->

[*] скомпилировать ядро ​​с отладочной информацией

0
28.01.2020, 01:39

Я объяснил очень подробную настройку, которая работает только на:https://stackoverflow.com/questions/11408041/how-to-debug-the-linux-kernel-with-gdb-and-qemu/33203642#33203642

В основном для конфигурации ядра, которую вы хотите:

CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
CONFIG_GDB_SCRIPTS=y
0
28.01.2020, 01:39

Теги

Похожие вопросы