news 2026/6/24 1:44:55

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于飞凌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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 1:43:20

Tauri:10万Star的Rust桌面框架,Electron终于有对手了

文章目录Tauri:10万Star的Rust桌面框架,Electron终于有对手了核心思路:用系统自带的WebView功能列表挺长的上手不难我的看法Tauri:10万Star的Rust桌面框架,Electron终于有对手了 做桌面应用的都知道Electron的痛点&am…

作者头像 李华
网站建设 2026/6/24 1:42:39

让AI的道歉失去意义,才是最大的意义

近期我发了两条朋友圈,都是关于AI的。 更早以前应该也发过相关的。与其继续发圈,不如把这些事串起来,写清楚。 一 先说“幻觉”。 如果你告诉一个不懂技术的人,“这个AI有bug,会编造不存在的信息”,他的…

作者头像 李华
网站建设 2026/6/23 23:35:24

ESP-IDF开发实战指南:从零构建到性能优化的完整解决方案

ESP-IDF开发实战指南:从零构建到性能优化的完整解决方案 【免费下载链接】esp-idf Espressif IoT Development Framework. Official development framework for Espressif SoCs. 项目地址: https://gitcode.com/GitHub_Trending/es/esp-idf ESP-IDF&#xff…

作者头像 李华