樹莓派4B 網路啟動教程

2021-10-08 22:57:35 字數 3722 閱讀 6088

近日閒來無事研究樹莓派4b,發現樹莓派的內建管理工具raspi-config中新增了boot order選項欄,開啟之後裡面赫然寫著usb bootnetwork boot兩個選項。

usb boot不必多言,選擇之後拿一塊u盤寫入映象插入usb介面後即可自動執行,不需要sd卡,但是network boot勾起了博主的興趣,經過三天的研究,終於成功實現網路啟動。

樹莓派4b一塊,網路啟動伺服器一台(這裡博主使用了一塊orangepi zero作為網路啟動伺服器),讀卡器乙個,網線一根。

配置系統

從映象裡安裝新系統,並且將系統設定為開機自動進入cli介面。

sudo raspi-config

找到3.boot options -> b1 desktop / cli,選擇b2 console autologin

設定bootloader網路啟動

sudo raspi-config

找到3.boot options -> b4 boot order,選擇b2 network boot,應用後重啟.這個時候,客戶端已經準備完成,可以把tf卡拔出,將樹莓派先放到一邊。

由於博主用的是一塊香橙派zero作為伺服器使用,所以安裝命令不能照抄,請按照你自己的系統來進行操作。以下命令均在root使用者下執行。

安裝dhcp伺服器,nfs伺服器

apt update

aptinstall dnsmasq nfs-kernel-server

建立nfs目錄
mkdir -p /nfs/raspberrypi

mkdir /raspiboot

chmod

777 /raspiboot

複製樹莓派系統

將讀卡器插入伺服器中

mount /dev/sda1 /mnt

cp /mnt/* /raspiboot

umount /mnt

mount /dev/sda2 /mnt

cp /mnt/* /nfs/raspberrypi

umount /mnt

由於tf卡的i/o效能十分低下,複製需要很長時間。博主這裡採用的方法是,將系統燒錄進一塊u盤,再直接將u盤掛載在系統內:

mount /dev/sda1 /raspiboot

mount /dev/sda2 /nfs/raspberrypi

能夠節省很多時間。

關閉dhcp客戶端等一系列服務

博主的伺服器上採用的系統是armbian,執行systemd-resolved來進行網域名稱解析服務,由於該服務會占用dns埠,所以需要關閉該服務:

systemctl stop systemd-resolved

systemctl disable systemd-resolved

關閉networkmanager以防止出現意外錯誤:

systemctl stop networkmanager

systemctl disable networkmanager

為伺服器配置靜態ip

vim /etc/systemd/network/10-eth0.netdev

寫入以下內容

[match]

name=eth0

[network]

dhcp=no

vim /etc/systemd/network/11-eth0.network寫入以下內容

[match]

name=eth0

[network]

address=192.168.2.100/24

dns=192.168.2.1

gateway=192.168.2.1

配置dnsmasq

vim /etc/dnsmasq.conf

inte***ce=eth0

no-hosts

dhcp-range=192.168.2.101,192.168.2.200,12h

log-dhcp

enable-tftp

tftp-root=/raspiboot

pxe-service=0,"raspberry pi boot"

配置nfs

vim /etc/exports

/nfs/raspberrypi *(rw,sync,no_subtree_check,no_root_squash)

/raspiboot *(rw,sync,no_subtree_check,no_root_squash)

修改樹莓派核心啟動命令列

vim /raspiboot/cmdline.txt

console=serial0,115200 console=tty1 root=/dev/nfs 

nfsroot=192.168.2.100:/nfs/raspiberrypi,vers=3 rw ip=dhcp rootwait elevator=deadline

修改樹莓派檔案系統掛載

vim /nfs/raspberrypi/etc/fstab

將內容替換為:

proc       /proc        proc     defaults    0    0

192.168.2.100:/raspiboot /boot nfs defaults,vers=3 0 0

啟動服務
systemctl enable dnsmasq.service

systemctl restart dnsmasq.service

systemctl enable systemd-networkd

systemctl restart systemd-networkd

systemctl enable rpcbind

systemctl restart rpcbind

systemctl enable nfs-kernel-server

systemctl restart nfs-kernel-server

將樹莓派用網線連線到伺服器上,開啟電源,觀察螢幕上是否啟動成功。

樹莓派4b入門

sudo apt get install scim pinyin rebootdeb buster main non free contrib deb src buster main non free contrib deb buster main ui 配置vncverver服務允許遠端通過圖形化...

樹莓派4B配置U盤啟動

樹莓派4b的啟動程式比較特殊,儲存在外部eeprom晶元中。早期版本的eeprom啟動韌體不支援系統直接從usb裝置 u盤 行動硬碟 中啟動。因此,使用usb裝置啟動前,需要檢測當前eeprom韌體版本是否符合要求。方法1 在raspbian os終端中輸入命令 sudo rpi eeprom up...

樹莓派4b遠端桌面教程

1.更換清華源 sudo nano etc apt sources.list deb buster main non free contrib deb src buster main non free contrib sudo nano etc apt sources.list.d raspi.li...