Linux - Buildroot简介和生成工具链SDK

时间:2025-01-25 13:51:18

Buildroot简介

Buildroot - Making Embedded Linux Easy - Making Embedded Linux Easy

Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.

Buildroot是一个简单有效的易于使用的嵌入式Linux系统的生成工具,使用芯片所对应的交叉编译工具链。

Buildroot功能强大, 可以使用交叉编译工具链,生成根文件系统(root filesystem),编译生成内核镜像(kernel image),编译生成bootloader。

得益于借鉴了Linux内核的工具套装,使用menuconfig,gconfig和xconfig配置接口,Buildroot构建一个基本系统操作简单,一般只需15-30分钟。

Buildroot还支持上千个package,包括 stack, Gtk3, Qt 5, GStreamer, Webkit, Kodi, 还支持数量庞大的网络和系统相关的工具(Utility)。

Buildroot是免费开源的,很多开发者都参与其中。其结构简单,易于理解和扩展。它唯一依赖是大家所熟知的Makefile语言。

如何生成交叉编译工具链的SDK

Buildroot编译时会生成toolchain,相关内容位于output/host/目录。

也可以将toolchain的内容都导出来,把开发中使用的packages一起打包成一个SDK,使用这个SDK就可以编译我们的应用程序,而不需要依赖当前的嵌入式Linux系统,使开发更加方便。

打包生成SDK,只需在buildroot目录下执行命令:make sdk

然后就把output/host/下的内容打包,生成一个<TARGET-TUPLE>_sdk的tarball文件,位于output/images下面。

在解压SDK tarball文件时,用户需要运行脚本,这个文件在顶层目录。

如果运行命令:make prepare-sdk

不会生成SDK的tarball文件,但SDK的相关内容在output/host/路径下会准备好。

以Ingenic的x2000的builtroot为例,在顶层目录进入buildroot/buildroot,运行make sdk。

得到toolchain文件:buildroot/buildroot/output/images/mipsel-buildroot-linux-gnu_sdk。

参考:

/downloads/manual/