Raspberry Pi, by far, is the most popular SBC (Single Board Computer) in the world. These computers are quite powerful despite their small size and low price. I personally love the Raspberry Pi 3 as it comes with built-in Wi-Fi + Bluetooth and a 64-bit processor.
For Linux lovers, Fedora is a very popular choice. It’s an upstream source of Red Hat Linux. Fedora is also a nice choice for servers. For my Raspberry Pi 3, I love using Fedora. Fedora officially supports the ARM architecture, making it an excellent choice. However, installing Fedora on Raspberry Pi is slightly different and requires patience.
If you want to have your favorite Fedora on your Pi, get started with the following tutorial. Take a note that I’m using Raspberry Pi 3 & Fedora 27 (currently, the latest).
Fedora supports Raspberry Pi Model B 2 and 3. There are a few other things you need to install Fedora on it.
- A good SD card
- HDMI monitor/TV
- USB keyboard & mouse
- A good power supply
2. Download Fedora for ARM
From Fedora 25, Raspberry Pi is officially supported. Raspberry Pi uses ARM processor. There is official Fedora builds for the architecture.
Download your favorite Fedora image from Fedora. Fedora also contains the image list. If you’re looking for Aarch64 images, click here. Don’t forget to verify the downloaded image(s). It’s important, as any single bit corruption might change or break the system.
3. Writing the image to SD card
Depending on your PC’s operating system, there are several methods to write the image to the SD card. The easiest solution is using Windows PC. Win32 Disk Image is the best tool. Connect your SD card, open the tool, select your image and click “Write”.
If you’re planning to prepare the SD card under Linux, you have to follow the following steps
- Install “arm-image-installer”
dnf install –y fedora-arm-installer
- Now, it’s time to write the image out.
$ sudo arm-image-installer Usage: arm-image-installer <options> --image=IMAGE - xz compressed image file name --target=TARGET - target board --media=DEVICE - media device file (/dev/[sdX|mmcblkX]) --selinux=ON/OFF - Turn SELinux off/on as needed --norootpass - Remove the root password -y - Assumes yes, will not wait for confirmation --version - Display version and exit --resizefs - Resize root filesystem to fill media device --addconsole - Add system console to extlinux.conf --addkey= - /path/to/ssh-public-key Example: arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0 For list of supported boards please check SUPPORTED-BOARDS file.
For Raspberry Pi 2, use the following command:
If your device is Raspberry Pi 3, use the following command:
For the manual procedure, follow this command:
xzcat Fedora-IMAGE-NAME.raw.xz | sudo dd status=progress bs=4M of=/dev/XXX # Location of your media (will be sdX or mmcblkX depending on hardware)
If you’re a macOS user, follow this in-depth guide here.
4. Resize the root partition
The root partition is shrunk to minimum size. If you need to resize it, you can do that easily. I recommend increasing the size, 8GB minimum. This is my personal opinion, allowing to perform every task more smoothly.
The easiest way is to resize before first boot. Run this command:
Another way is to complete the initial setup and then, perform the resizing. Here’s how to do it.
# enlarge the 4th partition (this example uses mmcblk0) growpart /dev/mmcblk0 4 # grow the fileystem to fill the available space resize2fs /dev/mmcblk0p4 # resize root partition for the server image (which uses xfs) xfs_growfs -d /
- Booting Fedora
Now, it’s time to boot Fedora on your Pi. Follow the following steps.
- Insert the SD card into Raspberry Pi.
- Connect keyboard, mouse, network cable and monitor.
- Power up the Raspberry Pi.
- After the loading, Fedora will boot up and “Initial setup wizard” will appear. Follow the wizard to set your time zone, language and create users.
Once complete, you’ll be prompted with a login screen or “getting started” guide.
6. Use your PC
Now, your Raspberry Pi is your perfect companion with the latest Fedora 27. Use everything as normal.
The entire step-by-step, in-depth guide is here.
Enable Wi-Fi & Bluetooth
If you’re using Raspberry Pi 3, Wi-Fi module is already present. Fedora supports the default module. To enable this, you need to run the following command and reboot. Then, Wi-Fi should work just fine.
sudo curl https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm80211/brcm/brcmfmac43430-sdio.txt -o /lib/firmware/brcm/brcmfmac43430-sdio.txt
For Bluetooth, it’s currently untested. There’s a pretty big chance that the present software will crash the entire device. I don’t recommend to use it. However, if you’re interested anyway, use the following command.
hciattach /dev/ttyAMA0 bcm43xx 3000000 noflow -
Alternatively, you can download FedBerry, a custom Fedora distribution that’s optimized and organized specially for Pi 2/3. The good news is, this one supports all the built-in hardware of your Raspberry Pi. It’s available on several desktop environments – LXQt, Xfce, minimal and Barebone. Check out FedBerry here.
Enjoy your Raspberry Pi as your brand new PC.