buildroot主要解决:1、如何增加packge?2、如何提交修改代码?
cd buildroot/buildroot-201902/
make menuconfig需要哪些package需要加入系统
引导的是.config ,此文件是如何生成的?他对应的defconfig都是在根目录device目录下定义的。
编译一次buildroot目录后即会生成.config文件。
编译生成后,需要将对应的config配置放到相应的defconfig中。
另外,如果本地的buildroot中没有此库,也可以google查看最新的buildroot是否有相应库支持,如libgeos库。
如下所示增加一个libgeos库
diff --git a/buildroot/buildroot-201902/package/Config.in b/buildroot/buildroot-201902/package/Config.in
index 4692ebed40..574290a89d 100755
--- a/buildroot/buildroot-201902/package/Config.in
+++ b/buildroot/buildroot-201902/package/Config.in
@@ -1667,6 +1667,7 @@ menu "Other"
source "package/libevent/Config.in"
source "package/libffi/Config.in"
source "package/libgee/Config.in"
+ source "package/libgeos/Config.in"
source "package/libglib2/Config.in"
source "package/libglob/Config.in"
source "package/libical/Config.in"
diff --git a/buildroot/buildroot-201902/package/libgeos/Config.in b/buildroot/buildroot-201902/package/libgeos/Config.in
new file mode 100755
index 0000000000..8411627d43
--- /dev/null
+++ b/buildroot/buildroot-201902/package/libgeos/Config.in
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_LIBGEOS
+ bool "libgeos"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_USE_WCHAR
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597
+ help
+ GEOS (Geometry Engine - Open Source) is a C++ port of the
+ JTS Topology Suite (JTS). It aims to contain the complete
+ functionality of JTS in C++. This includes all the OpenGIS
+ Simple Features for SQL spatial predicate functions and
+ spatial operators, as well as specific JTS enhanced functions.
+
+ https://trac.osgeo.org/geos
+
+comment "libgeos needs a toolchain w/ C++, wchar, threads not binutils bug 27597"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
+ !BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597
diff --git a/buildroot/buildroot-201902/package/libgeos/libgeos.hash b/buildroot/buildroot-201902/package/libgeos/libgeos.hash
new file mode 100755
index 0000000000..3b913b750c
--- /dev/null
+++ b/buildroot/buildroot-201902/package/libgeos/libgeos.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 3c141b07d61958a758345d5f54e3c735834b2f4303edb9f67fb26914f0d44770 geos-3.10.3.tar.bz2
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
diff --git a/buildroot/buildroot-201902/package/libgeos/libgeos.mk b/buildroot/buildroot-201902/package/libgeos/libgeos.mk
new file mode 100755
index 0000000000..443c884abe
--- /dev/null
+++ b/buildroot/buildroot-201902/package/libgeos/libgeos.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# libgeos
+#
+################################################################################
+
+LIBGEOS_VERSION = 3.10.3
+LIBGEOS_SITE = http://download.osgeo.org/geos
+LIBGEOS_SOURCE = geos-$(LIBGEOS_VERSION).tar.bz2
+LIBGEOS_LICENSE = LGPL-2.1
+LIBGEOS_LICENSE_FILES = COPYING
+LIBGEOS_INSTALL_STAGING = YES
+LIBGEOS_CONFIG_SCRIPTS = geos-config
+LIBGEOS_CONF_OPTS = -DBUILD_BENCHMARKS=OFF
+
+LIBGEOS_CXXFLAGS = $(TARGET_CXXCFLAGS)
+
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y)
+LIBGEOS_CXXFLAGS += -O0
+endif
+
+ifeq ($(BR2_arm)$(BR2_armeb),y)
+LIBGEOS_CONF_OPTS += -DDISABLE_GEOS_INLINE=ON
+endif
+
+ifeq ($(BR2_or1k),y)
+LIBGEOS_CXXFLAGS += -mcmodel=large
+endif
+
+LIBGEOS_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(LIBGEOS_CXXFLAGS)"
+
+$(eval $(cmake-package))