我正在使用 tar 映像“buildroot-2018.02.tar.gz”为我的嵌入式系统生成 linux 映像(内核和 fs)。为了确保我需要重新创建项目的最低配置(稍后,在另一台计算机上......),我使用BR UM §8.5中定义的 BR 树。
我已经成功地正确配置了 BR 和 linux 内核,并且我已经创建了两个配置文件:-myProc_defconfig-myProc_linux_defconfig
我正在尝试为我的同事创建一个图像,以便轻松地重新创建项目。现在,我有以下树:
/ : Git root
/README : This very file
/make_buildroot_env.sh : Script to set up the development environment
/myProc_kernel/ : Development environment prerequisite
/myProc_kernel/configs/ : Contains both BR & Linux configuration files
/myProc_kernel/fs_overlay/ : Filesystem overlay, contains all applicative files
/myProc_kernel/tools/ : Scripts and data used by BR
/myProc_kernel/tools/data : All data files used by scripts
想法是创建一个脚本,将 buildroot 解压到不同的文件夹中(系统是根据定义的树构建的)并使用 defconfig 文件对其进行配置。
脚本开始如下,从我上面定义的“Git root /”启动:
make_buildroot_env.sh
tar -xaf ./MyProc_kernel/tools/data/buildroot-2018.02.tar.gz
cd buildroot-2018.02
make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig
make O=../MyProc_kernel
我这里有两个问题:
- 我在最后一次通话中遇到了错误:
Makefile:862: *** 请先配置 Buildroot(例如“make menuconfig”)。停止。
- 如果我查看在
.config
BR 文件夹中创建的文件,它似乎只使用了几个参数MyProc_defconfig
我的问题是:
为什么 BR 总是抱怨错误 1 ?应使用指向 defconfig 文件的行进行配置?
我缺少什么来重新创建我的开发环境?
好吧,我找到了如何做它想做的事。这两行必须合并:
成一行:
然后一切都被编译到
/MyProc/
文件夹中,并且在文件夹中没有任何操作buildroot-2018.02
。正如您自己已经发现的那样,您必须合并 2 行
进入
为了回答额外的为什么 qustion,“O=”为 make 命令创建一个包装器,以使用 buildroot 安装的主目录来存放包,而您新创建的目录则用于配置文件、构建和输出。
包装器需要到位,它可用于创建 defconfig。或者,您可以交换这两行以首先创建包装器,然后使用它来创建配置。
检查Buildroot 手册中的 8.5