根文件系统rootfs制作——使用buildroot工具(重制版)
根文件系统rootfs制作——使用buildroot工具(重制版)
- 0.前言
- 一、rootfs配置
- 1.下载buildroot源码
- 2.开始配置
- Target options配置如下:
- Toolchain 交叉工具链配置(根据自己的环境配置):
- System configuration配置:
- Filesystem images配置:
- Target packages 配置
- 二、rootfs使用
0.前言
在之前学习制作根文件系统时,使用的是busybox工具,这个工具仅提供了基本的根文件目录,一些第三方库则需要自己手动移植。buildroot工具则在busybox的基础上,整合了一些第三方库,在构建时可以按需选择,更加方便。
一、rootfs配置
1.下载buildroot源码
buildroot官网地址:https://buildroot.org。选择最新的 LTS 版本下载即可。
2.开始配置
下载后解压,进入menuconfig界面:
Target options配置如下:
Toolchain 交叉工具链配置(根据自己的环境配置):
注:可以使用whereis xxxx-gcc
来查找工具链路径,另外,External toolchain kernel headers series
这一项,使用以下方式查找:
进入交叉工具链目录,使用find ./ -name version.h
查找文件:
转换为16进制为4140D,就为4.14版本。
System configuration配置:
用于设置一些系统配置,比如开发板名字、欢迎语、用户名、密码等。开发板不建议设置密码。
Filesystem images配置:
禁止编译Linux Kernel内核和uboot,因为这两个通常使用自定义的镜像。
取消选中Kernel-->Linux Kernel
选项和Bootloaders-->Uboot
选项
Target packages 配置
用于配置要选择的第三方库或软件。
然后保存,这里保存到源码目录下的 configs/stm32mp157_defconfig。然后先用make stm32mp157_defconfig
命令生成编译配置,再用sudo make
进行编译。
如果需要下载的插件太大,可以手动下载,保存到源码目录下的dl
文件夹中。
二、rootfs使用
编译完成的结果放在 output/images 目录,.ext4
格式的可以直接烧写到sd卡,.tar
的可以解压到nfs挂载。
由于在编译buildroot时还用到了busybox,所以将busybox也配置一下,源码在output/build/busybox***/目录下。在buildroot源码目录下使用sudo make busybox-menuconfig
命令即可配置。在顶层Makefile中修改交叉编译链,并使能中文字符支持,在原子哥教程中都能找到,在此不多赘述。(暂时只需要修改这两个,不需要创建linuxc脚本或者复制库文件之类的操作)
在编译时也是在buildroot源码目录下进行编译:
sudo make show-targets //当前 buildroot 所有配置了的目标软件包
sudo make busybox //重新编译busybox
sudo make //重新打包buildroot
使能第三方库
在buildroot的menuconfig中选中:
使能ssh:
使能busybox中的depmod:
在busybox的menuconfig中选中:
之后就可以解压到nfs进行启动。
根文件系统rootfs制作——使用buildroot工具(重制版)相关推荐
- [架构之路-30]:目标系统 - 系统软件 - Linux OS根文件系统rootfs的概念、组成、制作以及用busybox制作根文件系统
目录 前言: 第1章 什么是根文件系统 1.1 什么是文件 1.2 什么是文件系统 1.3 文件系统组织文件的方式:树形结构 1.4 统一的虚拟文件系统 1.5 物理存储介质与物理文件系统类型 1.5 ...
- Linux根文件系统的制作
1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区的目录结构:一个可应用的磁盘设备可以包含一个或多个文件系统:如果您想进入一个文件系统,首先您要做的是挂载(moun ...
- linux 内核移植和根文件系统的制作【转载】
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...
- Linux——根文件系统的制作(jffs2 and ubifs)
一.根文件系统简介 根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统而言它还是内核启动时所挂载(mount)的第一个文件系统,系统引导启动程序 ...
- 嵌入式Linux 根文件系统rootfs的构建
前言 最近翻出来十年前的ARM9开发板:AT91SAM9261EK,芯片是原Ateml的AT91系列,之前开发的资料,因为更换电脑,基本上找不到了,还好部分经验记录在了[博客]上,所以,这次为了继续学 ...
- 根文件系统rootfs构建
一.根文件系统简介 根文件系统一般也叫做 rootfs,Linux 中的根文件系统更像是一个文件夹或者叫做目录,在这个目录里面会有很多的子目录.根目录下和子目录中会有很多的文件,这些文件是 Linux ...
- Porting:linux内核的模块化、根文件系统的制作和自动挂载
1.关于内核模块($: linux #: 开发板) 模块化设计. $:' vi drivers/char/Makefile obj-m += led_drv ...
- 第一季8:完整版(即包含mpp)根文件系统的制作
以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除. 一.概述 mpp是海思编写的与视频编解码有关的驱动.库等内容.我们需要部署这些内容,也就是把这些内容放在合适的目录位置. 二.mpp的目 ...
- Buildroot构建指南——根文件系统(Rootfs)
Buildroot的Rootfs构建流程有一个大框架,有些部分是Buildroot系统做好的,有些细节需要自己来实现,Rootfs也是Buildroot中最为复杂的部分. Rootfs的构建流程概述 ...
最新文章
- C# 语句中的各种单例模式代码
- Linux内存buffer和cache的区别
- 【leetcode】443. String Compression
- 计算机设计大赛国奖作品_3. 需求分析
- Linux 下的任务管理 —— ps、top
- AcWing 829. 模拟队列
- SQL server2005安装问题
- extjs引入html,ExtJs教程第一集 搭建ext环境后的第一个hello World
- STM32示波器设计
- android 像素密度,屏幕密度,values-sw480dp
- 小学计算机教师业务笔记,2016-2017学年度小学教师业务学习笔记
- P卡、worldfirst、连连跨境电商收款哪家好?
- 基于微信小程序奶茶店在线点单管理系统#毕业设计
- 如何给PDF中的内容添加下划线
- 阿里P7爆款《K8s+Jenkins》技术笔记,读了后确实有实质性的帮助
- SQL语句一二三之SQL基本语句
- 关于调节ijkPlayer的音量和静音
- 《锋利的jQuery》读书要点笔记7——制作商城网页:网站脚本
- 深度优先搜索及python实现围棋“吃子”
- 解决The package java.awt is not accessible或者javax.swing is not accessible的问题
热门文章
- 从U盘安装centos7(史上最简单的终极解决方案)
- 怎么看安装包是什么bit的_沙盘要怎么看 在售楼处看沙盘要注意什么
- Orillusion引擎正式开源!AIGC时代下的WebGPU轻量级3D渲染引擎!
- 新天地-----周华健新歌
- 小样本图像语义分割综述
- Word转Pdf(无水印)
- 如何保存数组配置到PHP文件
- 脑卒中css评分是什么意思,CSS评分表多伦多临床评分系统
- Mac 安装 miniconda
- 录音读写程序c语言,如果用c语言程序读取一段音频文件要如何做,具体要调用哪些函数,在网上搜索了半天,乱七八糟的,找不到什么有用的信息...