Embedded
OpenBSD - 減少小型系統的基本安裝大小
我最近嘗試將 OpenBSD 安裝到我的 Soekris net4526,但是 64MB 的板載儲存空間太小了。有什麼辦法可以使 OpenBSD 更小,因為即使是最小的配置(僅限 bsd 和 baseXX.tgz)也不適合。我嘗試使用 OpenBSD 3.9。你能給我一些連結嗎?
好消息是它可以完成,但是你需要知道你在做什麼,而且你不能在 openbsd 郵件列表上尋求任何幫助。
你需要:
- 比你的 soekris 更強大的建構機器
- 要刪除的內容列表,這將基於您願意做出的任何妥協。(你還沒有詳細說明你打算用這台機器做什麼)。
我剛剛下載了最新的 base.tgz 快照。它的大小為 148M。以下是一些關於您可以從基礎中刪除的內容的想法:
- 如果您可以不使用 Perl,刪除它將為您節省 54.5M
- 如果沒有 perl,你也可以刪除 pkg_* 工具和 /etc/signify/openbsd-*-pkg.pub 文件。您還可以刪除其他一些零碎的東西,例如 fw_update、libexec/security 等。
- terminfo 數據庫,5.6M
- /usr/bin/spell、/usr/bin/deroff(只保留,因為它被 spell 使用)和 /usr/share/dict 將節省 3.5M
- 修剪 zoneinfo,3M
- /etc/firmware 將節省 2.3M
- 也許你不需要 /sbin/isakmpd 這將節省 1.8M
- /usr/share/man/ 將節省 1.3M(選擇的幾個手冊頁安裝在基礎而不是手冊集中)。
- 沒有手冊頁,你也可以刪除 /usr/bin/man, /usr/bin/mandoc, /etc/examples/man.conf
- 你也可以刪除 3M 的 libsqlite
- 刪除 dig、host、nslookup 為 1.4M
- /usr/share/misc 將節省 1.2M
- cvs 將節省 0.7M
- /usr/bin/file 和 /etc/magic 將節省 0.6M
- texinfo 將節省 0.5M
- /usr/mdec 將節省 0.3M
- /var/sysmerge/etc.tgz 將節省 0.2M
在這一點上,你會很接近。也許大約 70M 的使用量,所以你必須開始刪除你不會使用的東西。例如,在 /usr/sbin 中是否需要 pppd?你需要httpd嗎?您可能不需要 installboot 等。您需要根據您的案例使用細齒梳。
您可以嘗試的另一件事是使用 -Os 而不是 -O2 編譯系統。可能值得檢查它是否也節省空間。但請注意 -Os不是OpenBSD 上經過良好測試的 gcc 程式碼路徑。如果您這樣做遇到編譯器錯誤,我不會感到驚訝。
所以我認為關鍵是,如果你願意將足夠的時間作為一個項目投入到這個項目中,它是**可以做到的。**只有您可以決定是否要創建這樣一個精簡版的 OpenBSD。再說一次,不要指望 openbsd 郵件列表有任何幫助。如果你在那邊尋求這個項目的幫助,人們會嘲笑你。