-
Notifications
You must be signed in to change notification settings - Fork 8
Compiling and Running on Linux
-
You should have at minimum the standard development tools installed. Follow the standard QEMU documentation for package prerequisites. In addition, if you wish to use the 3D visuals or dashboard, you will need to install
freeglut
,glew
, andmesa
development packages, -
Clone the repository and install whatever your system needs to build QEMU. (If you build it but do not get a graphical window, ensure your system has the required GTK3/SDL2 development libraries installed, then re-run configure and rebuild) NOTE: You must have a git checkout of the repository. Zip source downloads do not work as they are missing the submodule information and contents (and I'm not aware of a way to replace the standard github zip links on the repo main page)
Note: QEMU's build system will take care of its own submodules (you won't need all of them but you can init
and update
them all if you wish). However, in some older branches the Prusa Mini subsection makes use of an additional repo that is not managed by meson/make. Ergo, it must be explicitly initialized before building. You'll know you missed this step if you get errors relating to shmemq404
. In case you encounter problems, the module lives in hw/arm/prusa/3rdParty/
. git submodule update --init shmemq404
should do the trick.
-
./configure --target-list=buddy-softmmu
-
make -j[# of threads]
Note: Do not run ninja directly. QEMU uses make to chain dependencies, you will get build errors if you try. -
Output will be found in
build/buddy-softmmu/qemu-system-buddy
You can run a .bin file built without the bootloader (mini_debug_noboot.bin
) or a.bbf
file. If using the latter, then a copy of the buddy board bootloader must be placed in the same directory and namedbootloader.bin
. Attempting to run the raw ELF will not work as it is too large for the simulated memory. (I plan to fix this at some point so that debugging doesn't require you to keep track of pairs of ELF binaries and .bins) -
Launch with
./qemu-system-buddy -machine prusa-mini -kernel [filename.[bin|bbf]] [options...]