使用现有的rootfs和外部工具链进行交叉编译(buildroot?qemu?)

时间:2015-01-01 23:36:07

标签: arm embedded cross-compiling qemu buildroot

我正在开发基于Cortex A9的arm嵌入式平台,非常类似于hummingboard(http://www.solid-run.com/products/hummingboard/)。

我正在移植一些以前在beaglebone上运行的软件。我们的软件是基于python的,但使用了一些ctypes,一个内部c库以及几个python模块和一个rabbitmq服务器。在beaglebone上,设置它很容易,因为有很多支持和基于ubuntu的发行版使安装包简单。

我有一个linaro交叉编译器和平台制造商提供给我们的uboot和rootfs图像。手动交叉编译和构建所有必要的依赖关系变得非常令人头疼,因为一切都没有什么怪癖。我没有可以在arm设备上运行的本机开发工具链。

我正在寻找一种更简单的方法来完成其中的一些任务。 Buildroot听起来就像我需要的那样,但我不确定如何使用现有的rootfs和工具链。不幸的是,我不知道rootfs的所有细节以及如何启动硬件,因此我认为我不能使用buildroot完全复制设置。

我正在研究的另一个选择是以某种方式使用带有QEMU的rootfs并构建一个本机工具链来运行它,这将允许我手动构建依赖项而无需处理交叉编译的麻烦。

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

Buildroot旨在生成整个rootfs,而不是“补充”现有的rootfs。因此,如果你要使用Buildroot,你应该摆脱现有的根文件系统,并使用Buildroot生成的新文件系统。

另外,请注意,如果您对BeagleBone上运行的Debian发行版感到满意,您还可以在Hummingboard上运行Debian。