My aarch64 (arm64) deskop, and how to get it working with Fedora

March 15, 2018 - 4 minutes

It works!

About a month ago I finally got my MACCHIATObin in my possession, and after a few weeks ago I managed to get it to boot to a SATA hard drive. Here is an early screenfetch of my enlightenment desktop:

desktop

Here is me working on a 3D turtle model based on Tiptup the turtle:

tiptup

I even got my old nibbles game from a few years ago working!

nibbles

Here is a list of accessories you are going to want to purchase to use it as a desktop

Here are things I personally am trying to get working, but have not:

Things I DID manage to get working to help future generations:

Getting it to work

Now that I am done gloating, using an EDKII image that can be found here. Ignore the misprint about your clock speed from the EDKII, the developers told me that it is only a print and that it is indeed running, although my perf could be better so I wonder if that really is the case, but hopefully this has been fixed by the time you read this. Once I flashed that to a micro SD card, you have to create an 8 megabyte partition (please use gparted), and a partition behind that, don’t use a filesystem. Then dd the Fedora .raw to the first partition. You are going to have to set the jumpers according to the image on the board itself, look for a drawing above the SATA slots to figure out how to get the board to boot from SD card.

Pop in the SD card, but don’t turn the machine on yet. First you need to hook up another computer to the microusb port and run this command minicom -D /dev/ttyUSB0. This should give you a serial console into the machine. Make sure to keep this window up for later, but you can minimize the terminal emulator for now.

Once you have the SD card, simply flash the .raw for Fedora that you can find here, extract it and write it to your hard drive you plan on using in the MACCHIATObin. At the time of this writing you need the minimal version of Fedora 27 specifically. Otherwise you will either have a kernel version > 4.15 and you will kernel panic, and if you don’t get the minimal version it will install network manager, which will brick any networking you could of ever had. Note that you will not be booting from USB at all during this process. Once it’s written to the machine, turn the MACCHIATObin on now. The serial console should go through and eventually boot into the hard drive. Once you are there go through the installer, I shouldn’t have to explain this part.

Once it’s installed it will give you a login prompt. Now because of packages in Gnome3 and KDE, you will have to install a more minimal desktop, I used Enlightenment. GTK applications don’t really work well with my other card but I know these desktop environments to not brick your networking:

If any other desktop doesn’t brick your networking, please contact me at bkeys -at- bkeys dot org and let me know that you got something else working.

I then installed Enlightenment, and LXDM because I wanted a lightweight display manager. Once LXDM was installed, I set it as the default graphical target systemctl set-default graphical.target lxdm, I also systemctl enable lxdm and systemctl start lxdm to finally start it. Enlightenment should be an option on the bottom and already selected. You should now be able to log into your aarch64 desktop!

Now remember at the time of this writing you have to have kernel version < 4.15 or your networking will be bricked, and you will have to reinstall to set it back up. But now have fun with your aarch64 desktop and freedom! If Chromium is running slow, do CPU rendering and it made it run faster for me.