Rpi4 Diskless

树莓派使用网络启动 pi 通过 tftp 和 dhcp 拉取 boot 分区的内容。然后把拉取的 boot 分区中的 initramfs 加载到内存,通过 内核启动参数(nfsroot,iscsi)和iniramfs 完成网络启动过程。 其他比如 rock5b 不支持 tftp, 但是可以用后面 initramfs 和内核参数。所以理论上可以做到本地 sd 卡只存放 boot 分区,然后通过网络启动 rootfs。 一、 tftp-hpa 安装 tftp-hpa sudo apt install tftp-hpa 修改配置文件 sudo vim /etc/default/tftpd-hpa 修改一下配置 # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/data/pxe/" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure" 重启 tftp-hpa 服务 sudo systemctl restart tftp-hpa 在 TFTP_DIRECTORY 放置对应的网络启动文件。 将 pi img 中 boot 分区相关的文件放到对应的目录下,下文修改 boot 相关内容时,需要同步 tftp server中。 root@rock5b:~# ls /data/pxe/ rapi4-1_boot rapi4-2_boot rapi4-3_boot rpi4-1-root....

July 24, 2023 · 2 min · tsic404