[樹莓派] Raspberry Pi 4B 安裝 Raspbian (headless)


樹莓派硬體準備好後,先不急著開機,讓我們先把OS完成。
這邊紀錄一下從0開始的安裝筆記,這邊是基於windows的操作系統進行的。
確認硬體有備齊:
  • 樹莓派主板
  • 5V/3A 電源、Type-C線 (至少支援3A)
  • Micro SD (Class10以上)
  • 讀卡機

工具、映象檔下載

先把需要用到的工具都準備好: 
  1. SD Card Formatter
  2. 映像檔燒錄工具 - Win32 Disk Imager or balena Etcher
  3. SSH  Terminal - MobaXterm
  4. 直接上官網下載最新版OS,或是可以選擇各種客製化的映像檔
    建議使用Raspberry
    https://www.raspberrypi.org/downloads/

安裝 Raspbian OS

格式化 Micro SD 卡

記憶卡最好先用 SD Card Formatter 將空間清除乾淨,不只是進行單純的格式化,尤其是「邏輯大小調整」,將所有空間都還原成一個整個的分割區。
因為我們可能曾經用過這片 MicroSD 卡來安裝別的作業系統,而它將記憶卡切成了多個分割區,導致接下來要使用的時候,可用空間越來越小。

燒錄映像檔

直接使用燒錄工具將所選擇的OS image刷入Micro SD卡。
燒錄成功後,不要急著移除Micro SD卡,注意系統會增加一個碟機,裡面有個boot資料夾,我們要先把一些設定檔改好。

修改設定檔 - Wifi連線、啟用SSH

註:設定檔不能使用一般的文字編輯器,而是要透過NotePad++或Sublime Text等支援Linux格式的編輯器做設定。
在boot資料夾中新增以下檔案與內容 (WPA/WPA2,加密都支援,密碼是用PSK的方式):

設定檔名: wpa_supplicant.conf
設定檔內容:

country=TW
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
   ssid="基地台的SSID"
   psk="無線網路的密碼"
   proto=RSN WPA
   key_mgmt=WPA-PSK
   pairwise=CCMP TKIP
   group=CCMP TKIP
   scan_ssid=1                    #如果SSID沒有被廣播就要加上這行
}

詳細的 wpa_supplicant.conf 設定方式可以參考
[樹莓派] WPA_supplicant的設定方式


另外,樹莓派因為安全因素,一開始的ssh功能被官方預設關閉,因此需要透過新增ssh檔案在boot資料夾中,樹莓派開機時,便會將ssh功能開啟。

完成上述動作後,就可以將SD卡退出,安裝置樹莓派上準備開機。

樹莓派開機

將Micro SD卡插入樹莓派,接上電源,紅色的燈號會常亮,表示電源供應正常,綠色的燈號為Micro SD卡的存取狀態。
上電後會自動開機,稍等一下就可以用SSH client連上去了。

IP位址可從路由器管理介面看到,或是用 Advanced IP Scanner 尋找。

啟動 MobaXterm,建立一個SSH連線,帳號 pi,密碼 raspberry。

初始環境設定

啟動初始環境設定的script
sudo raspi-config



建議做以下修改

1 :修改密碼

2 → N1:Hostname
如果同一個網域有多片 Raspberry Pi (包含不同版本),就要改一下 hostname 才不會發生衝突。
若要更改的是 HDMI CEC Host Name,請修改 /boot/config.txt,增加
cec_osd_name=MyRPi1

4 → I1:Change Locale
修改語系,取消 en_GB.UTF-8 UTF8,改成 zh_TW.UTF8 UTF8;如果像我一樣喜歡看英文訊息的話,就選擇 en_US.UTF8 UTF8。

4 → I2:Change Timezone
切換到你的所在地

7 → A1:Expend Filesystem
擴展第二個分割區,讓記憶卡的全部可用空間都可以使用。

設定系統自動對時
sudo timedatectl set-ntp yes

更新系統套件

初始設定完成之後,最後的工作就是更新一下系統了,同步一下官方套件庫的資訊。
sudo apt-get update -y

由於是全新安裝,所以我們將所有的套件及相依套件都更新到最新的版本。
sudo apt-get -y dist-upgrade

更新完畢後,同樣重新開機一下。
sudo reboot

樹莓派網路設定

設定固定IP (Optional)

若需要設置固定IP,修改/etc/dhcpcd.conf,在最後加上:
interface eth0
static ip_address=192.168.1.2
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

請根據你的網路組態,更換上面的設定。eth0 or wlan0
Reboot 後生效。

設定 PPPOE 撥號 (Optional)

安裝 PPPOE 撥號套件及依賴
sudo apt-get install pppoe pppoeconf pppstatus

輸入 pppoeconf 就能進入配置頁面,配置一直點確定就可以,中途會讓你輸入使用者和密碼。
(這裡有個坑,輸入使用者名稱的時候要把username那個刪掉,不然它就加在你的使用者名稱前面了)

配置完成後他就會自動連線,等幾秒鐘,輸入ifconfig,如果能看到ppp0這樣個就說明連線成功了。

到這裡配置完成了,以後要進行相關的操作可以用下面的指令
sudo pon dsl-provider #連線寬頻
sudo poff (-a) #關閉連線,用引數-a表示關閉所有連線
sudo plog #檢視日誌
斷線自動重撥:編輯 /etc/ppp/options 檔案,確認有以下設定

lcp-echo-interval 30
lcp-echo-failure 4
persist
maxfail 0
holdoff 10

系統優化

啟動樹莓派硬體看門狗 (Watchdog)

作為長期運作的一個系統,當機重啟的 watchdog 很有幫助,聽說樹莓派有硬體 watchdog 功能,可以考慮啟用。
樹莓派硬體看門狗(Watchdog):當機時自動重新開機

提升 Raspberry 樹莓派系統安全性

如果你的樹莓派會暴露在外網,記得提升安全性。

調整滑鼠polling

如果有用到桌面,預設的滑鼠取樣率很低,在 /boot/cmdline.txt 中,原來那些內容的後方,加入以下,以空格隔開

usbhid.mousepoll=0

在 raspbian 建立 ramdisk

如果 pi 的 ram 夠大,可以適當地將某些目錄移到 ram 來增加效率與保護SD卡
參考 tmpfs,
Is /tmp ramdisk in Raspbian

增加以下內容到 /etc/fstab
tmp /tmp tmpfs size=100M,noatime,user,nodiratime 0 0
logs /var/log tmpfs size=10M,noatime,user,nodiratime 0 0

增加ext4檔案系統寫入時間

 ext4預設每5秒寫入,在 /etc/fstab中,根目錄 ext4那行,加入以下 options,將寫入時間延長到600秒,當然,意外斷電就會損失資料。
Advantages/disadvantages of increasing “commit” in fstab

範例:
PARTUUID=e96d960e-02 / ext4 defaults,noatime,commit=600,errors=remount-ro 0 1


------------------------------------
相關系列文章:

留言

這個網誌中的熱門文章

[TCL] 基本語法與指令 - 3. 資料型態

[TCL] 基本語法與指令 - 2. TCL 語法

[TCL] 基本語法與指令 - 1. TCL 簡介