0、前言:
- 这是一篇以问题为导向,的技术贴!
- 目的:我使用一个arm架构的主板,其中拷入了uboot,uboot中的设置是主板上电后从我电脑的虚拟机的linux中通过tftp获取内核镜像,通过nfs加载虚拟机中的rootfs根文件目录,我现在想要自己在虚拟机中制作一个根文件目录my_rootfs,制作好之后,替换nfs下的rootfs。之后,用一个测试文件hello.c,通过arm的交叉编译器编译出可执行文件hello后,将其放入nfs路径下我制作的rootfs当中,主板上电后,通过secureCRT连接主板,然后在主板的linux系统下执行hello,打印hello word,这篇技术贴就是说明如何制作根目录系统my_rootfs,最终替换nfs下的rootfs;
- 开发板,用的是迅为的itop4412,使用的芯片三星的exynos4412,CPU四核,每核频率1GHz,内存共2G,emmc硬盘16G。
基础概念库:
根文件系统制作相关知识:
- 通过虚拟机中的linux系统制作;
- 需要安装busybos作为制作工具,busybox-1.36.1.tar.bz2;
制作根文件系统的目的:
- 在 Linux 中制作根文件系统(rootfs)的核心是构建一个包含内核启动所需的最小文件结构、基础工具、库文件和配置文件的目录树,最终打包成内核可识别的镜像格式(如 ext4、squashfs、initramfs 等)。常被用于自定义嵌入式系统或最小化根文件系统。
- 如果是制作板载的最小根文件系统,需要明确根文件系统的运行架构(如 x86_64、arm 等),若与当前虚拟机架构一致(如 x86_64),可直接在虚拟机中构建;若为跨架构(如在 x86 机器上构建 arm 根文件系统),需安装交叉编译工具链(如 arm-linux-gnueabi-*)。
- 根文件系统(roo