Busybox

目前系統上使用 Busybox 的原因

  • August 13, 2017

最初開髮用於磁片大小的可啟動系統,busybox 的設計考慮到了較小的記憶體佔用。今天,它不僅用於路由器、洗衣機和微波爐等小型系統,還用於高功率 NAS、智能手機和桌面 Linux 發行版的救援系統。(在後者可能是為了確保它適合某些引導載入程序圖像?)

但是作為一個單一的二進製文件,它也是一個單點故障。

為什麼不在這樣的機器上使用標準使用者空間而不是busybox?

但是作為一個單一的二進製文件,它也是一個單點故障。

即使是標準的使用者土地也有很多。損壞的libc?缺少依賴項?太糟糕了。

為什麼不在這樣的機器上使用標準使用者空間而不是busybox?

busybox(以及它的替代品,例如 toybox)的美妙之處在於它小巧、簡單,並且足以完成任務。它有效,那麼為什麼要使用其他東西呢?

作為 initramfs 的一部分,它也可以在任何台式 PC 上使用,同樣是為了簡單起見。雖然您可以在那裡複製一個真實的使用者空間,但它只會使核心/initramfs 的大小超出比例。更大的 initramfs 意味著更長的載入時間和更慢的啟動過程。

對於韌體供應商來說,跟踪單個項目也更容易,而不是像 Linux 發行版那樣,嘗試使各種組件適合併一起工作並跟踪每個組件的錯誤……

當然,busybox 也有其局限性,例如在busybox 環境中很難編譯Linux 核心,因為缺少某些功能(ar例如缺少核心想要使用的某些選項)。但對於 initramfs 或智能手機,這些限制無關緊要。

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