下载链接:
树莓派ubuntu server镜像
https://cdimage.ubuntu.com/releases/24.04.3/release/ubuntu-24.04.3-preinstalled-server-arm64+raspi.img.xz
提取文件系统镜像
从树莓派镜像可以构建出来内核和文件系统2个分区,使用虚拟机提取文件系统,打包成sdb23.img文件。
操作步骤:在虚拟机右键ubuntu-24.04.3-preinstalled-server-arm64+raspi.img点击open with disk image writer打开,虚拟机插入TF卡,选择TF卡,start restoring。即可看到TF卡把img文件分成2个分区,内核和文件系统。
如何把文件系统制作成img文件,选择虚拟机disk,找到挂载的TF卡,找到文件系统分区,点击设置,点击创建分区镜像。命名sdb23.img和指定保存路径即可。
问题1:开机卡在Job dev-disk-by\x2dlabel-system\x2dlabel,随后进入emergency mode
解决方法:修改/etc/fstab文件,同3588文件系统。
# <file system> <mount pt> <type> <options> <dump> <pass>
/dev/root / ext4 rw,noauto 0 1
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs mode=1777 0 0
tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0
sysfs /sys sysfs defaults 0 0
debug /sys/kernel/debug debugfs defaults 0 0
pstore /sys/fs/pstore pstore defaults 0 0
/dev/mmcblk0p7 /oem ext4 defaults 0 0
/dev/mmcblk0p8 /userdata ext4 defaults 0 0
问题2:root账号无法登录,不知道root密码
解决方法:
sudo mkdir 1
sudo mount sdb23.mg ./1
sudo cp /usr/bin/qemu-aarch64-static 1/usr/bin/
sudo chroot 1
passwd root
输入root密码
确认root密码
问题3:df -h命令与fdisk -l命令显示/dev/mmcblk0p6分区差异太大
resize2fs /dev/mmcblk0p6
问题4:开机卡在systemd-networkd-wait-online.service
/lib/systemd/system/systemd-networkd-wait-online.service服务添加TimeoutStartSec=1s
问题5:无法上网
root@ubuntu:~# cat /etc/netplan/50-cloud-init.yaml
network:version: 2ethernets:end0:match:macaddress: "ce:2e:46:92:6e:e2"dhcp4: truedhcp6: trueset-name: "end0"addresses:- 172.20.2.155/24gateway4: 172.20.2.254echo"nameserver 8.8.8.8" >> /etc/resolv.conf
关闭无关服务
root@ubuntu:/usr/lib/systemd/system# systemctl disable rpi-eeprom-update.service
root@ubuntu:/usr/lib/systemd/system# systemctl stop rpi-eeprom-update.service