嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs

简介: 嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs

一开始接触Buildroot的时候是参考的N厂大佬的文章,经过各种填坑,终于算是能够熟练使用Buildroot了。下面介绍常用使用流程工具链


一、工具链的构建



首先选择芯片类型,然后进入Toolchain选项配置External toolchain,选择已经安装好的toolchain,指定路径,这个路径不能和配置虚拟机交叉工具链一样指定到bin目录,直接指定到它的上层目录就行!选择glibc(在这个坑里呆了很久)


image.pngimage.png


由于工具链制作的时候明确指定了gcc版本和支持的kernel headers series,所以需要我们去工具链找,shell输入arm-再敲两下回车,补上gcc -v下面会打印gcc version,以及这个工具链支持板子的类型和哪些功能等,这些会在配置板子信息的时候用到。


image.png


当然也可以选择Buildroot本身制作的工具链,但是没有经过压力测试所以可靠性没有Linaro官网的高,可能会出现一些莫名奇妙的问题。


二、配置Uboot



在buildroot中打patch,利用buildroot2018中的patch机制来更改源码。之所以要用patch,是因为buildroot在编译时是直接从下载目录中解压软件包的,没有我们手动改源码的机会.


指定补丁路径和xxx_defconfig配置文件


image.png


三.配置Kernel



和uboot一样指定补丁和xxx_defconfig路径


四.配置Rootfs



选择Rootfs类型


image.png


选择文件系统所带的库, 比如OpenCV,OpenGL,FFmpeg,SDL,QT5等各种各样的PACKAGES.


image.pngimage.png


最后make -j4,在output下会生成对应的镜像.

相关文章
|
Ubuntu
iperf3 交叉编译
iperf3 交叉编译
969 0
|
Linux 网络安全 开发工具
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
本文介绍了如何基于Linux Kernel 5.15.102版本和BusyBox创建一个自定义的迷你Linux ARM系统,并使用QEMU进行启动和调试,包括内核和BusyBox的编译配置、根文件系统的制作以及运行QEMU时的命令和参数设置。
1265 0
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
【LVGL快速入门】SquareLine Studio安装教程(LVGL官方工具)
【LVGL快速入门】SquareLine Studio安装教程(LVGL官方工具)
3451 0
新版本ARM交叉编译器官网下载地址(arm-none-eabi、arm-none-linux-gnueabihf、aarch64-none-elf、aarch64-none-linux-gnu)
新版本ARM交叉编译器官网下载地址(arm-none-eabi、arm-none-linux-gnueabihf、aarch64-none-elf、aarch64-none-linux-gnu)
5742 0
新版本ARM交叉编译器官网下载地址(arm-none-eabi、arm-none-linux-gnueabihf、aarch64-none-elf、aarch64-none-linux-gnu)
|
监控 网络协议 Ubuntu
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
2228 1
|
IDE Unix 测试技术
CMake基础(10)使用ninja构建
CMake基础(10)使用ninja构建
2181 1
|
算法 网络协议 Linux
Linux模块文件编译到内核与独立编译成.ko文件的方法
Linux模块文件编译到内核与独立编译成.ko文件的方法
4437 0
|
Ubuntu Shell 芯片
详细讲解移植u-boot.2022.10版本移植到开发板基本方法
详细讲解移植u-boot.2022.10版本移植到开发板基本方法
976 0
|
存储 编译器 Linux
完全理解ARM启动流程:Uboot-Kernel
完全理解ARM启动流程:Uboot-Kernel
1462 0