Dan*_*per 9 linux linux-distributions embedded raspberry-pi
我需要一个 Linux 发行版,它会给我以下内容:
我已经能够找到一些关于如何将常规 Linux 发行版更改为只读模式的文档。我希望已经构建了一个旨在在嵌入式环境中运行的发行版。
我不需要很多包或驱动程序,只要让 Pi 与 USB/以太网一起工作就足够了。我不需要任何 GUI 界面或任何东西,这将只运行一个用 C 构建的自定义服务。
有谁知道适合的发行版?
大多数嵌入式系统使用定制的内核。一个可以促进这一点的工具是Buildroot,它是一组用于构建 GNU gcc 工具链的脚本、代替(巨大的)GNU libc 的 uClibc 库、Linux 内核、BusyBox 以及用于嵌入式板根文件系统的其他实用程序/软件包。RaspberryPi 是一个相对较新的板,因此 Buildroot 中对它的支持仍在开发中,但显然有一个项目、另一个项目和个人的工作。随着 RP 制造的增加和分销的改善,可能会有更多。
使用 Buildroot,您可以完全按照您在问题中描述的方式构建 Linux 内核和根文件系统。根据您的 Internet 连接速度和开发 PC 的功能,您可能会在 1 到 4 个多小时内获得二进制文件。缺点是生成的二进制文件未经测试,也不保证成功启动和执行。调试启动顺序时必须使用系统控制台。请参阅我的答案:如何在没有显示器的情况下通过以太网/wifi 访问我的迷你电脑(RaspberryPi / MK802 / Mele A1000 / VIA APC)? 但鉴于 RaspberryPi 被设计为坚不可摧,这一缺点不应成为构建自定义内核和 RFS 的阻碍。
关于“幸存断电”:正确选择文件系统通常可以缓解这种担忧。从经验来看,MTD 设备层加上日志文件系统(例如 jffs2)非常强大。为了获得近乎绝对的保护,可以使用 initramfs ramfs(不是固定大小的 ramdisk),无需切换到 R/W 文件系统。
这里有 30 张幻灯片介绍 Buildroot 的功能。
最后 (#27) 提到了一些用于构建嵌入式系统的类似和替代工具。