I installed Ubuntu Server 20.04.3 on a Raspberry Pi 3b and everything appeared to be working fine. I then tried to move the root filesystem to an external ssd connected via USB so that I wouldn't risk wearing out the sd card too soon. But once I boot up using the SSD as the root, my wlan0 device vanished and all networking is broken.
I did the following to achieve this:
- Install ubuntu onto sdcard and boot successfully
- Attach a 2.5mm SSD via USB. I gave it a single partition of 100% (120gb) and formatted it with ext4 using mkfs.ext4 /dev/sda1
- Clone the root filesystem from the SD card to the SSD using
dd if=/dev/mmcblk0p2 of=/dev/sda1
- Change the block device label for /dev/sda1 with
e2label /dev/sda1 ssd
- Mounted the SSD to
/media/ssd
- Modified
/media/ssd/etc/fstab
to mountLABEL=ssd
to / instead ofLABEL=writable
- Change the root in /boot/firmware/cmdline.txt to use
root=LABEL=ssd
instead ofroot=LABEL=writable
It should be noted that I missed a few of these steps at first. In my first attempt, after cloning the sd card, modifying /boot/firmware/cmdline.txt
and /media/ssd/etc/fstab
, and then rebooting, I discovered that the label on /dev/sda1 needed to be changed. After fixing this and rebooting, things appeared to be working properly again save for wlan0 now just not being there and netplan failing to start up networking. Executing ls /sys/class/net
returns just 'eth0' and 'lo'
I've tested going back to the old config by just replacing the label in `/boot/firmware/cmdline.txt', and as expected, wlan0 comes back, but this means that I'm using the sd card instead of ssd as my root filesystem.
What could be causing this?