Linux 1MB以下的Buildroot自定义内核

Linux 1MB以下的Buildroot自定义内核,linux,linux-kernel,kernel,buildroot,Linux,Linux Kernel,Kernel,Buildroot,我正在尝试使用Buildroot构建小于1MB的最小内核。它适用于具有qspi内存和基本功能、以太网、usb、spi、和某些GPIO的小型电路板。通过ssh和UART进行基本终端访问。 我的第一个想法是,是否有可能通过linux菜单配置来修改内核.config,以达到这个大小 另外,如果可以在不深入了解内核体系结构的情况下识别冗余部分,并将其排除在编译之外 如果有人能告诉我如何解决这个问题,或者指定一些工具和方法,那将非常有帮助 谢谢大家! 如果您的板有工作的buildroot,那么最好继续使用

我正在尝试使用Buildroot构建小于1MB的最小内核。它适用于具有qspi内存和基本功能、以太网、usb、spi、某些GPIO的小型电路板。通过sshUART进行基本终端访问。 我的第一个想法是,是否有可能通过linux菜单配置来修改内核.config,以达到这个大小

另外,如果可以在不深入了解内核体系结构的情况下识别冗余部分,并将其排除在编译之外

如果有人能告诉我如何解决这个问题,或者指定一些工具和方法,那将非常有帮助


谢谢大家!

如果您的板有工作的buildroot,那么最好继续使用它。禁用内核选项的技术应该是相同的。在这段时间内,他达到了~0,7MB的uImage,并失去了很多功能(第40页)。他从最小(裸)配置(p27)开始,并添加配置块。因此,您可以构建尽可能小的uImage,而不是识别冗余部分。然后添加更多选项:ext2、serial等等。实际上,这项工作需要大量的测试。你可能会停止依赖关系

可以使用
diff-Naur
比较内核配置(工作配置和新配置),这样您就可以看到发生了什么变化

离题:

看起来yocto得到了altera的正式支持。如何构建
altera图像的说明是否最小。如果你对它的大小很满意,那么就使用它,不要把时间花在最小化uImage上。如果您需要在其中安装额外的软件包,那么您可以轻松地扩展它

以及关于构建Angstrom(基于yocto的发行版)的说明。您可以基于控制台映像创建自定义映像


我在生产中使用埃。必须说,第一次使用它确实很困难。

是否使用buildroot构建内核并不重要。重要的是对其进行配置,使其适合1MB。当您从buildroot构建内核时,您可以使用
makelinux menuconfig
,正如您所提到的那样

也就是说,获得1MB以下的内核将非常困难。但这是没有网络或USB的


您可以参考,其中包含指向某些修补程序的链接以减小大小。但是它在几年内没有更新。

文章:可能会帮助你。@alexander thank's。我已经查过了,这和Yocto有关。信息量仍然很大!但我不太确定如何将他的方法应用于buildroot。也许我只是对buildroot不够熟悉,看不到链接。他还列出了内核模块的大小并删除它们,我想不打破依赖关系是相当棘手的。我已经给出了不完整的答案。你用什么SOC?所以我可以查看yocto的资料,可能会推荐其他任何东西。@alexander我使用altera cyclone 5。我也深入研究了yocto,但它对我来说太过分了,所以我转而使用buildroot。也许这是一个错误的假设:这个bifferboard配置有网络和USB:github.com/bifferos/bb/blob/master/tiny/linux-2.6.37.6/.conf‌​免疫球蛋白