Я новичок в разработке ядра, и я хотел бы знать, как запускать/отлаживать ядро 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, присоединить к нему отладчик и, таким образом, заставить их работать вместе, чтобы облегчить мою жизнь с развитием ядра.