在32MB RAM单核ARM SBC上运行Debian

2021-01-02 08:33:50

Lichee Nano Pi是售价6美元的Linux开发板,由Allwinner F1C100s ARM9处理器提供支持。 Lichee Nano Pi具有集成到SoC中的32MB DDR,一个16MB SPI闪存,一个板载TF插槽,并且能够从TF卡引导。它大约是SD卡的大小。尽管Lichee Nano Pi有可用的Linux映像,但建议使用buildroot来构建非常轻量级的Linux安装。这里有一些执行此操作的说明:https://github.com/unframework/licheepi-nano-buildroot Buildroot对于创建轻量级Linux安装非常有用,我想看看我是否可以在此小型SBC上运行完整的Debian 10。由于该板没有可用的Debian图像,因此我不得不发挥创意。

如果您想跳过此步骤并使用预构建的SD卡,请单击此处。

然后,我将其刷新到Micro SD卡,并将rootfs分区从183MB扩展到1GB。然后,我删除了rootfs分区的内容,并使用multistrap创建了Debian rootfs:

然后,我们需要创建多带配置,我创建了一个名为buster.conf的文件,如下所示:

这样就创建了一个可引导的Debian半成品安装,然后我在Lichee nano上进行了引导,并使用我的DSD TECH USB至TTL串行适配器进行了连接,并运行以下命令完成了软件包的安装:

这给了我Debian的安装工作,但是没有包含init系统,我想运行完整的systemd并包含一些软件包。

在没有网络的情况下最简单的方法是使用debootstrap,在Linux桌面上,我运行了以下命令:

这会将完整的chroot环境输出到目录lichee_packages中,但是我只想要.deb软件包。我运行以下命令将.deb软件包复制到Lichee Nano的SD卡中:

然后,我将SD卡插入Lichee Nano,并再次启动,并如下安装软件包:

这花了几分钟完成,尽管一旦完成,我就可以在Lichee Nano上安装完全正常的Debian 10。然后,我创建了一个交换文件,因为32MB的RAM不会消失!:

dd if = / dev / zero of = / var / swapfile bs = 1M count = 256& chmod 600 / var / swapfile&& mkswap / var / swapfile&& echo / var / swapfile none交换默认值0 0 | tee -a / etc / fstab&& swapon -a

我了解到,大多数人可能不希望为他们的Lichee Nano构建自定义SD卡图像的麻烦,所以我在这里提供了一个图像。可以使用蚀刻器,dd或任何其他图像刻录工具将其刷新,然后首先提取图像文件。

这值得吗?可以这么说,现在我可以轻松地将软件包连接到我的可插拔OTG以太网适配器上,从而在Lichee Nano上安装软件包,尽管Debian与buildroot相比比较繁重,但它闲置时仍仅使用7 MB RAM!尽管这应该是几乎完全兼容的Debian安装,但我们并未使用Debian内核或Debian uboot。如果有人想自己尝试一下,Lichee Nano可以在速卖通上以$ 6的价格购买。