Arch Linux ARM ethernet card rename (eth0 to end0)

1 minute read

Yesterday I installed updates and rebooted my Arch Linux rpi before going to sleep.
First of all, this is a mistake because you shouldn’t install updates if you don’t have time to troubleshoot the fallout 🥲
Secondly, I discovered I no longer had network access to my rpi.
Today, after troubleshooting, I figured out the problem.

Recovering from no-connectivity checklist

  1. Ensure you have a user-password login
    I didn’t, because I only connected to this machine with ssh key auth.
    1. Grab the root storage, mount on another laptop
    2. Grant yourself a password by editing /etc/shadow manually.
    3. Reassemble things back
  2. Connect display / keyboard, boot and login
  3. ip addr show to see what’s wrong with the network interface
  4. Manually connect wifi, if the interface is still there
    Arch Wiki
    I created a temporary no encryption network to go around having to deal with WPA supplicant.
    You might want to create /etc/systemd/network/ based on /etc/systemd/network/ so you’ll have DHCP.
  5. Continue troubleshooting via SSH.
    Note that if you restart things, you might lose your wifi config
  6. After surviving a reboot, you can disconnect things, delete your password etc.

The real problem

It seems some update in the last weeks caused the first network interface to change from eth0 to end0.
I’m not sure what’s the prereqs (maybe having Docker installed is involved), but I found some complaints about it, so it’s not just me.

Creating a end0 config in /etc/systemd/network solved my problem, and things are back to normal.