The image generated by Mr. Fusion is composed of three main parts compatible with the DE10-nano development board:
- A bootloader and an FPGA bitstream that provides HDMI output, provided by the documentation on the DE10-nano CD (DE10_NANO_SoC_FB).
- A custom Linux kernel built from source provided by Intel.
- A custom rootfs built by Buildroot.
If necessary the build process will generate a cross compilation toolchain using Buildroot to compile all of the above.
You need a Linux system to build the Mr. Fusion SD card image. The official releases are built on a Debian 11 arm64 virtual machine running on Apple Silicon through qemu. But any Linux distro in a VM or on bare metal that can compile Buildroot and the Linux kernel should work.
NOTE: You can configure the number of threads used for compilation of the Linux kernel through the COMPILE_THREADS variable in the build.sh script.
Clone this repository on your machine and run the setup script:
git clone https://github.com/MiSTer-devel/mr-fusion.git
cd mr-fusion
./setup.sh
It will take some time and download a few gigabytes of source code.
The build.sh
script will build a rootfs and the Linux kernel, with the former
embedded as an initramfs into the latter:
./build.sh
Once that has successfully completed you can generate the SD card image by executing the following command:
./create-sd-card-image.sh
If successful, the resulting image can be found in the images
folder. It is ready to be
flashed to an SD card.
If you want you can clean the build environment with the clean.sh
script:
./clean.sh