Как отладить ядро Linux с помощью GDB и QEMU?
Я новичок в разработке ядра, и я хотел бы знать, как запустить / отладить ядро Linux, используя QEMU и gdb. Я на самом деле читаю книгу Роберта Лава, но, к сожалению, она не помогает читателю в том, как установить надлежащие инструменты для запуска или отладки ядра ... Так что я сделал, чтобы следовать этому руководствуhttp://opensourceforu.efytimes.com/2011/02/kernel-development-debugging-using-eclipse/, Я использую eclipse в качестве IDE для разработки на ядре, но сначала я хотел, чтобы он работал под QEMU / gdb. Итак, что я сделал до сих пор:
1) Скомпилировать ядро с:
make defconfig (then setting the CONFIG_DEBUG_INFO=y in the .config)
make -j4
2) После завершения компиляции я запускаю Qemu, используя:
qemu-system-x86_64 -s -S /dev/zero -kernel /arch/x86/boot/bzImage
которые запускают ядро в "остановлено" государство
3) Таким образом, я должен использовать GDB, я пытаюсь следующую команду:
gdb ./vmlinux
который запускает его правильно, но ... Теперь я не знаю, что делать ... Я знаю, что мне нужно использовать удаленную отладку на порту 1234 (порт по умолчанию, используемый Qemu), используя vmlinux в качестве файла таблицы символов для отладки.
Поэтому мой вопрос: что я должен сделать, чтобы запустить ядро в Qemu, подключить к нему мой отладчик и, таким образом, заставить их работать вместе, чтобы облегчить мою жизнь с разработкой ядра.