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

基于飞凌imx6q的高版本uboot和内核移植(五、文件系统制作)

采用buildroot制作文件系统:

下载并解压:https://buildroot.org/downloads/buildroot-2024.02.tar.xz

进入源码目录执行make menuconfig

基础配置(核心步骤)

Target Architecture --->
Target Architecture (ARM (little endian))
Target Architecture Variant (cortex-A9)
ARM instruction set (ARM)
[*] Enable VFP extension support
Target ABI (EABIhf)


Toolchain --->
采用内部自带工具链


[*] Enable C++ support # 需要C++/Qt/应用务必勾选

Kernel Headers (Manually specified Linux version) --->
(6.6.52) linux version

(Kernel Header,选择Manually specified Linux version6.6.52)

Kernel --->
[] Linux kernel 关闭内核相关处理(单独编译不在这编译)

System --->
(imx6q) Target hostname 主机名自定义
(i.MX6Q) System banner 开机提示语
Init system (BusyBox init) 默认 BusyBox init
/dev management (Dynamic dev with mdev) 选 mdev(嵌入式标准)
[*] Use mdev to populate /dev 自动创建设备节点
Root password () 可设置 root 密码


Filesystem images --->
[*] ext2/3/4 root filesystem
ext4 filesystem variant
(128M) Size of root filesystem image 分区大小按需设置

进入 Target packages,按需勾选:
Shell/Utilities:BusyBox(默认已开,基础命令)
Target packages
→ Networking
→ iproute2
[*] iproute2

编译make -j4

生成文件系统/buildroot-2024.02/output/images/rootfs.tar

开发板nfs挂在文件系统报错:
[ 5.421327] VFS: Mounted root (nfs filesystem) on device 0:15.
[ 5.428578] devtmpfs: mounted
[ 5.435238] Freeing unused kernel image (initmem) memory: 1024K
[ 5.442177] Run /sbin/init as init process
mount: you must be root
mount: you must be root
mkdir: can't create directory '/dev/pts': Permission denied
mkdir: can't create directory '/dev/shm': Permission denied
mount: you must be root
hostname: sethostname: Operation not permitted
Seeding 256 bits without crediting
seedrng: RNDADDENTROPY: Operation not permitted
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Starting mdev... OK
modprobe: can't change directory to '/lib/modules': No such file or directory
Starting network: RTNETLINK answers: Operation not permitted
RTNETLINK answers: Operation not permitted
FAIL
Starting dhcpcd...
main: control_open: Connection refused
dhcpcd-10.0.5 starting
ps_root_startcb: dhcp_openraw: Operation not permitted
ps_root_startcb: ipv6nd_open: Operation not permitted
ps_root_startcb: dhcp6_openraw: Operation not permitted
ps_inet_startcb: dhcp_open: Permission denied
ps_inet_startcb: ipv6nd_open: Operation not permitted
dhcp6_openudp: Permission denied
ps_inet_startcb: dhcp6_open: Permission denied
ps_dropprivs: chroot: /: Operation not permitted
failed to drop privileges: Operation not permitted

修改开发板的文件系统权限(在Ubuntu下操作)
sudo chown -R root:root .
sudo chmod 4755 bin/busybox
sudo chmod 755 sbin/* bin/*
sudo mknod -m 666 dev/null c 1 3
sudo mknod -m 600 dev/console c 5 1

重启开发板成功进入:

# cd /

# ls
bin lib media proc sbin usr
dev lib32 mnt root sys var
etc linuxrc opt run tmp

http://www.jsqmd.com/news/1069916/

相关文章:

  • ATmega328P定时器与SPI实战:从寄存器配置到多任务调度
  • Windows COM端口注册表清理与重置终极指南
  • Microchip BM71蓝牙模块全球支持网络与供应链实战指南
  • ZigBee网络深度诊断:Daintree SNA协议分析实战指南
  • CAP1105/1106电容触摸传感器寄存器配置:从原理到实战的深度解析
  • 佛山代加工贴牌推荐榜单
  • 深入解析Microchip CorePCS IP核:8b10b编码、时序约束与Libero集成实战
  • 服务网格运维
  • ATmega328P USART寄存器配置与中断编程实战指南
  • ATmega164P/324P/644P嵌入式实战:选型、低功耗与汽车级应用
  • VMware迁移上云的10个生死关:从规划到落地的实战避坑指南
  • Microchip BB15L61A评估套件:一站式高精度传感器信号调理方案解析
  • HV9931 LED驱动设计:图表化方法与实战要点解析
  • 嵌入式工程师如何深度解读芯片数据手册:以Microchip TA100为例
  • 数据库连接池:HikariCP 为什么这么快?
  • AFE Control Board-SAM4C:工业级嵌入式开发板硬件设计与软件实战
  • 让AI的道歉失去意义,才是最大的意义
  • AMBA BFM:SoC验证中总线协议模拟的核心技术与实践指南
  • Microchip BM71-XPro蓝牙5.0开发板:从快速原型到低功耗产品实战
  • 嵌入式CI/CD实战:基于MPLAB X与Unity的自动化测试流水线构建
  • 以太网MAC底层调试:FIFO与CAM1寄存器访问机制详解
  • Python 异步任务调度系统开发经验
  • 使用 Arthas 在线诊断Java应用
  • 铁、锌、维生素D、生物素,改善白发到底要补哪几种?市面上养发营养素那么多,到底哪些真正有用?
  • 深入解析Core16550 UART IP核:从原理到FPGA/SoC集成实战
  • 前端防抖与节流的实战对比
  • 量子纠错码:保护量子信息免受退相干影响
  • BM78蓝牙模块EEPROM升级协议详解与HCI实战指南
  • GaN on SiC射频功率晶体管DC35GN-15-Q4:雷达与5G基站的核心器件解析
  • 南京翻译机构 德语视频口译难点