如何将buildroot设置更新到更高版本?

时间:2013-07-04 12:22:50

标签: buildroot

我继承的项目使用了一个非常旧版本的buildroot,但是我想将其更改为使用仅在以后的buildroot版本中添加的功能。

是否有一种直接更新buildroot设置以使用更高版本的方法?

e.g。如果我保存一个defconfig文件并在以后的buildroot版本中导入它,那是否正常工作,或者是否存在实际原因?是否需要携带其他配置文件(例如内核,busybox等)?谢谢!

1 个答案:

答案 0 :(得分:3)

没有

事实上,情况更糟。

您可以首先使用较新的Buildroot版本和旧的默认配置文件,但是您需要仔细检查结果配置,以了解其版本与您可能添加到Buildroot的任何应用程序软件不兼容的已弃用软件包和软件包文件系统。某些软件包的名称(例如opencv)会随着时间的推移而发生变化,因此您需要关注生成的.config文件,以确保所需的所有软件包都在那里。

如果您在Buildroot中构建工具链或Linux内核(通常已完成但通常不是很好的实践),那么您需要确保将新配置设置为构建旧版本的内核和编译器。这些可能太旧了,无法在较新版本的Buildroot中构建一些软件包。

如果在升级Buildroot的同时升级内核,则需要将旧的内核配置文件移植到新的内核版本。由于内核配置选项经常更改,您可能需要从电路板的defconfig开始,然后使用make menuconfig手动添加所需的配置。

Busybox的波动性稍差,因此您的旧配置可能会有效。

如果您的旧Buildroot配置使用postbuild或postimage脚本,您需要查看它们,但我猜他们不需要任何更改。

您应该为此工作分配至少一周,可能更多,具体取决于配置的复杂程度。请记住,如果由于特定SoC的补丁(例如BSC9131的Freescale 2.6.33.9内核)而被迫使用较旧的供应商内核,那么如果不进行6到12次升级,则可能无法进行升级将供应商的内核补丁移植到更新的内核版本的工作数月。

干杯。