Hero Image
[OpenWrt] 如何擴充 squashfs 的可用空間

問題

我的 OpenWrt 是安裝在樹梅派上面,採用 squashfs, 安裝完後可以正常使用,但是可用空間只有 100 MB 左右,這是正常現象,如果沒有要安裝很多套件的話其實 100 MB 很夠用了,但是就無法完整利用到整個 SD 卡的空間 (我是裝 32G);如果要裝 docker 等較大型的套件很快就空間不足了,故本篇文章即是要解決此問題。

其實官方有 Wiki 教學是利用到 losetup 來完成,但是我自己嘗試是沒有成功的,我也懶得研究為甚麼,僅留下連結給有興趣的讀者自行嘗試看看。

解決方式

首先安裝套件,我們需要 cfdiskresize2fs

opkg update
opkg install cfdisk resize2fs

安裝好後,可以先用 ls /dev 確認你的 SD 卡的 device 名稱,通常應該會是 /dev/mmcblk0

在 terminal 輸入以下指令

cfdisk /dev/mmcblk0


接著你應該會進入 cfdisk 的互動式介面 cfdisk ui

可以看到在 /dev/mmcblk0p2 後面有很大的 free space.

接下來,用鍵盤移到 /dev/mmcblk0p2,會出現 Resize 的選項,選擇 Resize resize

這時系統會要你輸入要劃多大的空間,這裡不用輸入,保留預設值就好,這樣系統就會把所有的 free space 都劃進 /dev/mmcblk0p2,結果如下 resize-done

完成後輸入 yes 確認變更,這時候從畫面上可以看到 /dev/mmcblk0p2 已經變成 29.7 G 了!確認沒問題後選擇 Write 把此次變更寫入,Quit 離開 cfdisk

Hero Image
Raspberry Pi 透過 Serial Port 連線 - 踩雷筆記

最近因為想要從 serial port 登入樹梅派而入手了一個 USB 轉 TTL 傳輸線,沒想到設定過程踩了不少雷,故寫了這篇作為提醒用。

我是從電子材料行買的,型號為CONCBLUSBTTL,使用 PL2303TA 晶片

pl2303ta

理論上 win10 可以自動抓可以用的驅動,不需要特別下載。但如果有問題的話還是可以從晶片製造商的驅動程式下載頁面下載最新的驅動。解壓縮後除了驅動程式外還有一個小程式可以用來檢查晶片型號。

這裡遇到我採的第一個雷 (自己雷):在我一開始無法順利設定時,經爬文得知,由於舊款晶片 (PL2303HX 系列) 有偽造情形,故 win10 自動抓的驅動並不支援該款晶片的產品,需要下載舊版驅動才行,我還以為自己真幸運在 2021 還買得到舊款晶片,大費周章跑去前人的 blog 載舊版驅動,結果還是不行;又因為在舊版驅動下跑上面原廠提供的晶片型號檢查程式會將我的傳輸線誤判為 PL2303XA/PL2303HXA

pl2303hx

害我誤以為自己真的買到 PL2303HX 晶片,一直往錯誤的方向 google。後來完全解決不了,改用新版驅動再測最後一次,想說不行就要放棄這條線了,才發現原來都是驅動搞的鬼。

這裡提醒一下接線的注意事項,傳輸線和樹梅派的 TX/RX 要反著接,也就是 線的 TX 要接到 Pi 的 RX,線的 RX 要接到 Pi 的 TX。GND 當然也要記得接。我這條線還有一個 5V 線,接上去後可以為 Pi 供電並開機,不過看其他人文章表示不一定要接這條線,而且我怕 GPIO 的供電不穩 (我用的是 pi 4, pi 4 在供電不足的情況下 wifi 會無法連線,就算能順利連上品質也不好,所以供電一定要足) 所以就沒接了。

解決完驅動問題接下來就剩連線設定了,這裡是第二個要注意的地方,所有參數都要設定正確不然就會連不上!像是 speed,網路上的教學大都多是教人設定為 115200,但我的這條線,在裝置管理員的預設值為 9600,所以連線時要設 9600;還有 flow control 不論是 putty 或是 MobaXterm 預設都會是 Xon/Xoff,同樣與這條線的預設值不符,要記得關掉。