У меня есть чип ARMv7 Cortex-A8 со встроенным чипом TI AM335x (мой чип очень близок к контроллеру Beaglebone Black). Я скомпилировал весь системный стек, начиная с файлов MLO
, заканчивая u-boot
, ядром Linux zImage
и пользовательским пространством Linux, а также программами, которые должны работать на моем контроллере. Однако для конкретных случаев анализа мне может понадобиться эмулировать архитектуру и системный стек моего контроллера, скажем, в QEMU. Поскольку я исследовал последовательность загрузки большинства встроенных устройств, последовательность выглядит следующим образом: MLO
-> u-boot
-> ядро > пользовательское пространство -> и т. д.
Когда я начал эмулировать систему, я начал с qemu-system-arm
(поскольку я использую 32-разрядное устройство ARM, следовательно, ARMv7) и передал следующий тип машины (поскольку это единственное устройство Cortex-A8, доступное в QEMU): realview-pb-a8
, и следующий ЦП: cortex-a8
. Я также загрузил свой скомпилированный файл u-boot.bin
, используя аргумент -bios
. Однако на дисплее VGA ничего не отображается, кроме Guest has not initialized the display (yet)
, и ничего не отображается на последовательном вводе-выводе. Моя интуиция подсказывает мне, что я должен загрузить MLO перед файлом u-boot
, но как мне это сделать, если это возможно?