3

I'd like to try the new Fedora 29 on Raspberry 3B. Can you run the installation headless via ethernet or wifi?

Doku says Make sure you have a keyboard, mouse, network cable and monitor connected., but this guy got the install to work with a serial cable.

I wonder if you could prepare the sd card on a PC so that the install works totally headless.

  • I do not use Fedora. What does the installation instruction from Fedora say how to install it? – Ingo Nov 2 '18 at 13:25
2
+50

Yes you can.

Download Fedora 29 aarch64 server from here.

You then burn the image in an sdcard. Assuming linux you can use:

$ xzcat Fedora-Server-29-1.2.aarch64.raw.xz | sudo dd status=progress bs=4M of=/dev/XXX # Location of your media (will be sdX or mmcblkX depending on hardware)
$ sync # To make sure all data is written

If you have Fedora Linux installed you can use the arm-image-installer package.

Some extra information avaiable here.

One thing that is not mentioned is how to log in to the headless instance. By default the server image has no remote entry point - that I know. I am using solutions mentioned/used in the arm-image-installer package.

What we are going to do is remove the root password and allow password-less login. (Using Ubuntu Mate 18.04) I did the following to mount the root partition of the finished sd card:

$ sudo partprobe /dev/mmcblk0 # Update kernel's information on sdcard partitions.
$ sudo mkdir /tmp/boot
# Mount logical volume of root partition
# If you are using fedora you may have problems at this step - look at the code in arm-image-installer for renaming the volume if needed
$ sudo mount /dev/fedora/root /tmp/root/

We then need to edit some files to alter information about the root user's behavior. We change the !locked entry from shadow and shadow- for the root user only to allow log in.

With the commands below we edit the relevant files:

$ sudo sed -i 's/:!locked:/:*:/' /tmp/root/etc/shadow
$ sudo sed -i 's/:!locked:/:*:/' /tmp/root/etc/shadow-

We then change the files that require password for the root user so that we can log in without one:

# remove root password
$ sudo sed -i 's/root:x:/root::/' /tmp/root/etc/passwd
$ sudo sed -i 's/root:x:/root::/' /tmp/root/etc/passwd-

After that we edit the file that configures the ssh server to allow for password-less log ins (using the nano editor):

$ sudo nano /tmp/root/etc/ssh/sshd_config

We find the line that is:

#PermitEmptyPasswords no

And we add below a line:

PermitEmptyPasswords yes

We could edit the initial line, I prefered it that way so I knew immediately what to undo once I had secured access on the rapsberry pi. Those configurations are VERY unsafe and should only be used temporarily to grant you access. Once you are in set a root user password with the passwd command and revoke the password-less log in option in the ssh server.

Finally before finishing unmount the root partition of the sd card.

# Unmount before taking out the sd card
$ sudo umount /dev/fedora/root

You can now put the sdcard in the raspberry pi 3 and boot.

It takes some time for the rpi3 to run through it's fist boot process and connect to the LAN. After that you can see it's IP from your router's web UI and connect through ssh:

$ ssh root@$LOCAL_IP
# You will be prompted here to trust the hosts key before you can log in

I 'd also like to make two over all comments.

  • The instructions are tied to my environment because I could only test them there. If you use a different environment, e.g. Windows, you will have to find the equivalent process that will achieve the same result for your platform.
  • I 'd say that in my experience this was a very error prone process. Because you don't have a screen and a keyboard it very hard to see what the problem is and you may end up just trying slightly different things to see what is wrong (including swapping hardware, I found out after a lot of failed attempts that my sd card wasn't working). If you can find a spare keyboard and a screen or use the serial console for the first boot process it will be very helpful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.