当前位置: 首页 > news >正文

buildroot , 把开发板上的改动 落回到overlay里

解压 Buildroot 压缩包时 ,不要用 sudo 解压,建议切换普通用户 再解压、编译。

编译 Buildroot 不要用 sudo,sudo make 会引发权限混乱,污染编译环境。

1. 每次修改 Busybox ,要保存配置

make busybox-menuconfig 修改

make busybox-update-config 保存

在 buildroot 目录,查看最后 -> 修改时间

stat package/busybox/busybox.config

2. 每次修改 Buildroot ,要保存配置

make menuconfig # 修改

make savedefconfig # 保存 (defconfig 保存的精简配置)

cp .config .config-backup 备份完整配置( make distclean 会删除 .config )

看全部配置 (默认值+修改值):cat .config

看自己改了哪些:cat defconfig

make menuconfig 图形化界面 启动时,读取已有.config载入配置,修改保存后覆盖原.config,后续 make编译时 读取.config,依照配置编译。

创建目录 rootfs_overlay :( 把开发板上的改动 落回到overlay里 )

添加目录 rootfs_overlay 的路径,然后保存退出。

rootfs_overlay只存放开发板上手动修改的文件,按照源目录结构摆好,Buildroot 读取rootfs_overlay中的文件,然后打包到rootfs.tar中。

(举例)开发板上修改的文件 拷贝到rootfs_overlay -> etc/: -a 保留权限属性

sudo cp -a /home/leo/linux/nfs/buildrootfs/etc/profile .

因为 编译buildroot 不要用 sudo ,所以rootfs_overlay里的文件所有权要改回普通用户leo:

sudo chown leo:leo profile

拷贝编译生成的根文件系统:-p 保留权限属性

sudo tar xpf output/images/rootfs.tar -C /home/leo/linux/nfs/buildrootfs/

-------------------------------------------------------------------------------------------------------------------------

Buildroot 2022.02.12 创建 普通用户:

第一步:

创建用户表文件 users_table.txt

cd buildroot-2022.02.12
mkdir -p board/imx6ull
vim board/imx6ull/users_table.txt

users_table.txt 表内容:

leo -1 leo -1 =123456 /home/leo /bin/sh - "Leo User"
字段含义
leo用户名
-1自动分配UID
leo主组名
-1自动分配GID
=123456密码
/home/leo家目录
/bin/shshell
-附加组 设置为 wheel,可以 用su切换 root
"Leo User"描述

第二步:

  1. 在 Buildroot 里打开make menuconfig
  2. 进入System configuration
  3. 找到 () Path to the users tables ,按回车,填入 用户表文件 的 绝对路径。比如
    /home/leo/linux/buildroot/buildroot-2022.02.12/board/imx6ull/users_table.txt

保存退出。

重新make,再把新生成的 rootfs 烧到板子上。

http://www.zskr.cn/news/1478051.html

相关文章:

  • 包头靠谱黄金回收全城上门六家合规门店实地筛选报告 - 余生黄金回收
  • ncmdumpGUI:3步解锁网易云音乐NCM格式的终极免费转换工具
  • 还在死磕期刊论文?书匠策AI(http://www.shujiangce.com)这个功能,让我一个博主都想“叛变“了
  • Betaflight黑匣子系统:嵌入式飞行数据采集与分析的技术实践
  • 向量检索的数学天花板:为什么复杂查询总翻车
  • CSDN AI数字营销服务站内广告投放能力验证实录:3次API调试失败→第4次成功触发曝光,完整链路还原
  • AI-native转型的高原计划:工作流重构与渐进式能力沉淀
  • MQTT协议抓包实战:用Wireshark分析连接OneNET的每一个数据包
  • 2026年国内珠宝展柜厂家专业度评测:浙江黄金柜台/温州奢侈品展柜/温州品牌专柜整店装修/温州商业展柜/温州商业空间展柜/选择指南 - 优质品牌商家
  • 保姆级教程:用QGIS 3.28切好瓦片,再用Nginx发布,Cesium秒加载(附完整代码)
  • 告别模型部署焦虑:用TensorRT的trtexec工具,5分钟搞定ONNX模型转换与性能摸底
  • PySpark MLlib分类实战:从数据清洗到Pipeline部署
  • STM32F103用NTC热敏电阻做实时温度测量,带LCD显示和串口输出
  • RNN文本生成为何必须搭配Beam Search才能实用
  • NumPy数组操作核心指南:从内存布局到广播机制的工程实践
  • LLM实验可复现性:SageMaker Pipelines与MLflow协同实践
  • 从零实现基于物品的协同过滤推荐引擎
  • 告别手动测试:快马一键生成tvbox配置接口批量校验与管理工具
  • 多维聚合前的数据变形:结构重组、顺序依赖与分组上下文实战
  • STM32F103C8T6流水灯玩出新花样:用SysTick定时器实现精准1秒间隔(附工程源码)
  • 从“Hello World”到漏洞利用:手把手教你用Java写一个简易的ysoserial Payload生成器
  • Senior数据科学家的本质:从业务终局感到技术决策权的五维能力
  • 嵌入式 Linux 进程间通信优化:用 Go 编写高性能的共享内存与信号量通信机制
  • CSDN AI引流卡片能否白嫖?3大实测场景+2小时压测数据告诉你真相
  • 从零上手KingbaseES:新手必知的10个高频命令(附Linux环境实操)
  • MuleSoft+LLM企业级AI编排:安全可控的智能集成实践
  • 探索ZLUDA技术实现:在非NVIDIA GPU上无缝运行CUDA应用
  • 新手也能看懂的PWN入门:从攻防世界XCTF的5道题,手把手带你理解栈溢出和ROP
  • 市场评价好的压盖机厂家推荐,压盖机/杯装灌装封口压盖机,压盖机生产商选哪家 - 品牌推荐师
  • MCP协议实战:本地部署Qwen2.5等gpt-oss模型实现免费工具调用