OpenBSD - 减少小型系统的基本安装大小

cle*_*n19 5 embedded openbsd small-distribution

我最近尝试在我的 Soekris net4526 上安装 OpenBSD,但 64MB 板载存储太小了。有没有办法让 OpenBSD 更小,因为即使是最小的配置(仅限 bsd 和 baseXX.tgz)也不适合。我尝试使用 OpenBSD 3.9。你能给我一些链接吗?

小智 7

好消息是这是可以做到的,但您需要知道自己在做什么,并且无法在 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(仅保留,因为它被拼写使用)和 /usr/share/dict 将节省 3.5M
  • 修剪区域信息,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吗?您可能不需要安装引导等。您将需要根据您的用例进行仔细的梳理。

您可以尝试的另一件事是使用 -Os 而不是 -O2 编译系统。如果它也节省空间,可能值得检查。但请注意 -Os 并不是OpenBSD上经过良好测试的 gcc 代码路径。如果您这样做遇到编译器错误,我不会感到惊讶。

所以我认为重点是,如果你愿意在这个项目上投入足够的时间,这是可以完成的。只有您可以决定是否要创建这样一个 OpenBSD 的精简版本。再次强调,不要指望从 openbsd 邮件列表中得到任何帮助。如果你向那里的这个项目寻求帮助,人们会嘲笑你。