【Linux-buildroot,】

2024-06-01 16:36
文章标签 linux buildroot

本文主要是介绍【Linux-buildroot,】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux-buildroot,

  • ■ buildroot
    • ■ 1、简介
    • ■ 2、下载
    • ■ 2、编译
    • ■ 问题一:buildroot 编译的时候会先从网上下载所需的软件源码,下载cmake-3.8.2.tar.gz或下载很慢的情况
  • ■ buildroot-构建根文件系统
    • ■ 1、配置 buildroot
    • ■ 2、
    • ■ 3、
  • ■ buildroot-构建 linux 内核
    • ■ 1 、
    • ■ 2 、
    • ■ 3 、
  • ■ buildroot-构建uboot
    • ■ 1 、
    • ■ 2 、
    • ■ 3 、
  • ■ buildroot-第三方软件和库的配置
    • ■ 1、使能 alsa-lib
    • ■ 2、
    • ■ 3、
  • ■ buildroot-busybox
    • ■ 1、busybox下载解压
    • ■ 2、打开 busybox 的配置界面
    • ■ 3、编译busybox
    • ■ 4、重新编译 buildroot

■ buildroot

■ 1、简介

一种傻瓜式的方法或软件,它不仅包含了 busybox 的功能,而且里面还集成了各种软件,需要什么软件就选择什么软件,不需要我们去移植。答案肯定是有的, buildroot 就是这样一种工具。
buildroot 下载后进行配置,比如设置交叉编译器、设置目标 CPU 参数等,最主要的就是选择所需要的第三方库或软件。
一切配置好以后就可以进行编译,编译完成了以后就会在一个文件夹里面存放好编译结果,也就是根文件系统。

类似 buildroot 的软件 yocto工具。

■ 2、下载

buildroot 源码肯定是要从 buildroot 官网下载,官网地址为 https://buildroot.org/
官网地址

■ 2、编译

  1. sudo make //注意,一定要加 sudo,而且不能通过-jx 来指定多核编译!!!
    buildroot 编译的时候会先从网上下载所需的软件源码,有些软件源码可能下载不下来,这个时候就需要我们自行处理,
    buildroot 编译过程会很耗时,可能需要几个小时.
    编译完成以后就会在 buildroot-2019.02.6/output/images 下生成根文件系统,
    编译出来了多种格式的 rootfs,比如 ext2、 ext4、 ubi 等。其中rootfs.tar 就是打包好的根文件系统,

  2. 新建 buildrootfs文件夹,拷贝到里面解压
    cd /home/zuozhongkai/linux/nfs //进入到 nfs 目录下
    mkdir buildrootfs //创建 buildrootfs 目录
    cd buildrootfs //进入到 buildrootfs 目录
    cp …/…/IMX6ULL/tool/buildroot-2019.02.6/output/images/rootfs.tar ./ //拷贝到 rootfs.tar
    tar
    tar -vxf rootfs.tar //解压缩 rootfs.tar
    rm rootfs.tar //删除 rootfs.tar

  3. 不编译 Linux 内核
    在这里插入图片描述

  4. 禁止编译 Uboot
    -> Bootloaders
    -> [ ] U-Boot //不要选择编译 U-Boot 选项!
    在这里插入图片描述

■ 问题一:buildroot 编译的时候会先从网上下载所需的软件源码,下载cmake-3.8.2.tar.gz或下载很慢的情况

我 们可以自 行 到 https://cmake.org/files/v3.8/cmake-3.8.2.tar.gz 这个网站上去将 cmake-3.8.2.tar.gz 这个源码下载下
来,然后拷贝到 Ubuntu 中 buildroot 源码目录下的 dl 文件夹中, dl 文件夹专用用于存放下载下来的源码。

■ buildroot-构建根文件系统

■ 1、配置 buildroot

  • 下载解压buildroot
    tar -vxjf buildroot-2019.02.6.tar.bz2
    //解压完成以后就会得到一个名为“buildroot-2019.02.6”的目录,此目录就是我们解压得到的 buildroot 源码。
  • make menuconfig //图形化配置界面

1)配置 Target options
在这里插入图片描述
2)配置 Toolchain
在这里插入图片描述
3)

■ 2、

■ 3、


■ buildroot-构建 linux 内核

■ 1 、

■ 2 、

■ 3 、


■ buildroot-构建uboot

■ 1 、

■ 2 、

■ 3 、


■ buildroot-第三方软件和库的配置

我在前面学习的时候需要自行移植一些第三方的库和软件,
比如 alsa-lib、 alsa-utils 等等,
现在我们不需要自行移植这些第三方软件和库了,可以直接在 buildroot 里面配置使能。
比如我们现在配置使能 alsa-lib、 alsa-utils 这两个软件和库。

■ 1、使能 alsa-lib

■ 2、

■ 3、


■ buildroot-busybox

buildroot 在构建根文件系统的时候也是要用到 busybox 的,既然用到了 busybox 那么就涉及到 busybox 的配置。
buildroot 会自动下载 busybox 压缩包, buildroot 下载的源码压缩包都存放在/dl 目录下,在 dl 目录下就有一个叫做“busybox”的文件夹,
要想编译 busybox,busybox-1.29.3.tar.bz2压缩包进行解压缩 buildroot 将所有解压缩后的软件保存在/output/build 软件中

■ 1、busybox下载解压

要想编译 busybox,busybox-1.29.3.tar.bz2压缩包进行解压缩 buildroot 将所有解压缩后的软件保存在/output/build 软件中

■ 2、打开 busybox 的配置界面

sudo make busybox-menuconfig 输入以后就会打开 buildroot 下的 busybox 配置界面

■ 3、编译busybox

配置好以后就可以重新编译 buildroot 下的 busybox
进入到 buildroot 源码目录下,输入如下命令查看当前 buildroot 所有配置了的目标软件包,也就是 packages:

cd buildroot
sudo make show-targets //列出了当前 buildroot 中所有使能了的 packages 包
sudo make busybox // 重新编译 busybox

■ 4、重新编译 buildroot

sudo make 重新编译 buildroot, //重新编译完成以后查看一下 output/images 目录下 rootfs.tar 的创建时间是否为刚刚编译的

这篇关于【Linux-buildroot,】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1021538

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置