Shell

替換嵌入式設備中的busybox

  • April 6, 2019

我在嵌入式設備中使用busybox。內置的busybox相當有限。所以我想嘗試用新的、更完整的版本替換busybox。我找到了一些關於在設備上使用串列通信和命令行替換 Busybox 的資訊,這也需要 LAN 上的 http 伺服器。命令部分

route add -net 192.168.15.0/24 eth0
mount -t tmpfs -o size=2M,mode=0755 tmpfs /mnt
cd /mnt
wget http://192.168.15.10/busybox-armv5l
chmod +x busybox-armv5l

這裡有兩點不清楚:新的busybox不會替換現有版本,而是作為附加busybox添加到另一個位置?其次,新的busybox被放入RAM中的tmpfs中:所以它沒有永久保存在分區中,並且在重新啟動後被刪除?我對麼?

是的 - 此方法適用於資源緊張和/或沒有可寫文件系統(只讀或沒有可用空間)的嵌入式設備。如果在任何地方都沒有寫權限(並且您不想通過刷新韌體本身來冒險變磚),那麼將額外的二進製文件(不僅僅是busybox)抓取到RAM中幾乎是唯一的方法。

這也是一個先測試的好方法。畢竟,這只是在 RAM 中,所以 - 重置電源,一切都應該恢復正常。

如果您希望修改是永久的並且獨立於網路情況,則不太有用。

這也需要區域網路上的 http 伺服器

這主要是為了方便…… netcat 也可以工作,甚至可以使用 telnet(有一些編碼怪癖)。但只要 wget 可用,快速的 http 抓取就更容易了。

引用自:https://unix.stackexchange.com/questions/510930