AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 439985
Accepted
grorel
grorel
Asked: 2018-04-26 05:22:25 +0800 CST2018-04-26 05:22:25 +0800 CST 2018-04-26 05:22:25 +0800 CST

Buildroot : 使用 out of tree defconfig

  • 772

我正在使用 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

我这里有两个问题:

  1. 我在最后一次通话中遇到了错误:

Makefile:862: *** 请先配置 Buildroot(例如“make menuconfig”)。停止。

  1. 如果我查看在.configBR 文件夹中创建的文件,它似乎只使用了几个参数MyProc_defconfig

我的问题是:

  • 为什么 BR 总是抱怨错误 1 ​​?应使用指向 defconfig 文件的行进行配置?

  • 我缺少什么来重新创建我的开发环境?

configure buildroot
  • 2 2 个回答
  • 3923 Views

2 个回答

  • Voted
  1. grorel
    2018-04-26T07:35:05+08:002018-04-26T07:35:05+08:00

    好吧,我找到了如何做它想做的事。这两行必须合并:

    make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig
    make O=../MyProc_kernel
    

    成一行:

    make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig O=../MyProc_kernel
    

    然后一切都被编译到/MyProc/文件夹中,并且在文件夹中没有任何操作buildroot-2018.02。

    • 0
  2. Best Answer
    Hydralisk
    2019-05-11T03:20:26+08:002019-05-11T03:20:26+08:00

    正如您自己已经发现的那样,您必须合并 2 行

    make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig
    make O=../MyProc_kernel
    

    进入

    make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig O=../MyProc_kernel 
    

    为了回答额外的为什么 qustion,“O=”为 make 命令创建一个包装器,以使用 buildroot 安装的主目录来存放包,而您新创建的目录则用于配置文件、构建和输出。

    包装器需要到位,它可用于创建 defconfig。或者,您可以交换这两行以首先创建包装器,然后使用它来创建配置。

    检查Buildroot 手册中的 8.5

    为了方便使用,Buildroot 在输出目录中生成了一个 Makefile 包装器——所以在第一次运行之后,不再需要传递 O=<...> 和 -C <...>,

    • 0

相关问题

  • 如何更快地初始化随机非阻塞池?

  • 通过变量配置期间的路径

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve