This page explains how to get Fedora running on the Milk-V Megrez board.
Disclaimer
The image uses Jason Montleon's build of the 6.6-based RockOS kernel, which in turn is based on the vendor kernel. The configuration should be close to that of a regular Fedora kernel, but obviously the base is significantly older than current mainline and several downstream changes are included.
GRUB2 is configured not to display its menu on boot. For whatever reason, the bootloader takes forever to draw its UI on the serial console, so hiding the menu is an effective way to avoid adding a significant delay to each boot. If you need to interact with GRUB2, just press ESC while the countdown is being displayed. Note that the countdown message could be somewhat hard to spot as it might overlap with previous serial output. Just pay attention to where the cursor is and you'll figure it out.
The board's DTB is passed to the kernel via GRUB2 (see GRUB_DEFAULT_DTB and GRUB_DTB in /etc/default/grub) instead of being automatically loaded off the /boot filesystem. Once we have a Fedora build of the firmware ("bootchain") we should be able to drop this hack.
Machine-specific instructions
Media preparation
Disk images can be obtained from:
As of this writing, the most recent disk image is:
See the generic instructions.
Post-installation tasks
See the generic instructions.
Reduce fan noise
The CPU fan that comes with the board is quite loud and by default it runs at full speed, resulting in an uncomfortable amount of noise being produced. To mitigate this issue, you can configure the fan so that it runs at a much lower speed, reducing the noise significantly.
This can be easily achieved by creating a custom systemd unit:
$ cat <<EOF | sudo tee /etc/systemd/system/custom-fan-speed.service [Unit] Description=Set custom fan speed [Service] Type=oneshot ExecStart=/bin/bash -c 'echo 50 >/sys/devices/platform/soc/50b50000.fan_control/hwmon/hwmon*/pwm1' [Install] WantedBy=multi-user.target EOF
and enabling it:
$ sudo systemctl daemon-reload $ sudo systemctl enable --now custom-fan-speed.service
The next time the machine is powered on, the fan will run at full speed for a few seconds before slowing down.
