Перенаправить консоль Qemu в файл или на хост-терминал?

Фон:

Моя система - ядро ​​на базе x86 и корневая файловая система на основе ramfs. Я сделал ramfs на основе архива cpio (который будет использовать boot=/dev/ram0 в качестве устройства RAM), и у меня возникли некоторые проблемы с init. Все намерение состоит в том, чтобы оптимизировать ramfs до минимума, чтобы уместиться в действительно маленькую систему. Я пытаюсь отладить проблему в init. Я запускаю QEMU в Ubuntu 12.10 (Quantal Quetzal), используя команду:

qemu-system-x86_64 -kernel linux-3.9.2/arch/x86/boot/bzImage -serial stdio -append "root=/dev/ram0 console=tty1"

И, как и ожидалось, система переходит в OOPS.

Вопрос:

Я хотел бы просмотреть журналы, чтобы выяснить причину сбоя, но я не могу перемещаться в консоли QEMU с помощью клавиш Shift и Page Up/Page Down. Поэтому я попытался перенаправить вывод на хост-терминал с помощью команды curses:

qemu-system-x86_64 -kernel linux-3.9.2/arch/x86/boot/bzImage -serial stdio -append "root=/dev/ram0 console=tty1" -curses

Но и здесь я не могу ориентироваться и найти проблему.

PS Если моя система загружается нормально (используя правильные rootfs), я могу перемещаться и видеть сообщения.

Как перенаправить сообщения в терминал или в файл?

1 ответ

Решение

Добавьте команду ниже

console=ttyAMA0  console=ttyS0

qemu-system-x86_64 -kernel linux-3.9.2/arch/x86/boot/bzImage -serial stdio -append "root=/dev/ram0 console=ttyAMA0  console=ttyS0"

Теперь все журналы dmesg будут перенаправлены на вашу консоль.

Еще одна вещь: я наблюдал сверху команду, где находится ваш начальный RAM-диск? то есть -initrd (initrdimage)

Для загрузки системы вам понадобятся два образа: 1) zImage или bZimage (в случае x86) 2) rootfs -root файловая система

В вашем случае отсутствует компонент rootfs.

Другие вопросы по тегам