本教程将带领大家在迅为电子移植 Debian 文件系统到 i.MX6ULL 终结者开发板上。
1 安装 Qemu 和 Debootstrap 由于我们是在 Ubuntu 上构建的 debian 的文件系统,所以安装这俩个工具我们直接使用 apt-get 命令即 可。命令如下: apt-get install binfmt-support qemu qemu-user-static debootstrap 如下图所示:
2 抽取 Debain 文件系统 抽取文件系统我们使用的是 debootstrap 命令,我们执行以下命令即可从 debian 下载源中获取到文件系统: debootstrap --arch=armhf --foreign buster root https://mirrors.tuna.tsinghua.edu.cn/debian/ 命令参数解析: arch 指定了 CPU 架构 buster 是 debian 版本号。目前最新为 10 foreign:在与主机架构不相同时需要指定此参数,仅做初始化的解包 root:要存放文件系统的文件夹 https://mirrors.tuna.tsinghua.edu.cn/debian/ 是下载源 如下图所示:
抽取时间比较长,大概 10 分钟左右,大家耐心等待,抽取成功可以看到 linux 的目录树,如下图所示,如果大家抽取失败,可以多抽取几次,或者换个网络:
3 完善文件系统 完善文件系统这里我们要使用到 qemu,为什么要用 qemu 呢,因为我们现在是在 X86 虚拟机上操作, 不能完善 arm 的文件系统,所以我们要用 qemu 来模拟 arm 的环境。 (1) 复制 qemu-arm-static 到刚构建的基本系统中,使用命令 cp /usr/bin/qemu-arm-static root/usr/bin 如下图所示:
(2) 初始化文件系统 执行命令: DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot root debootstrap/debootstrap --second-stage 这个命令会初始化文件系统,如下图所示:
大概需要 20 分钟左右,大家耐心等待即可。 初始化成功如下图所示:
(3) 使用命令 chroot root,进到我们初始化好的文件系统,如下图所示:
(4) 使用命令创建以下内容, echo "proc /proc proc defaults 0 0" >> etc/fstab mkdir -p usr/share/man/man1/ mknod dev/console c 5 1 如下图所示:
(5) 更新下载源,使用命令 vi /etc/apt/sources.list 打开 source.list 文件,然后把里面的内容替换成以下内容, deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free # deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free # deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free # deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free # deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free 然后保存退出,使用命令 apt-get update 更下源,如下图所示:
(6) 使用命令 apt-get install vim 安装 vim 软件,如下图所示:
(7) 创建一个新的用户,使用命令 adduser user,然是输入密码,密码为 topeet,如下图所示:
(8) 设置 root 密码,使用命令 passwd root,密码为 topeet,如下图所示:
(9) 设置以太网,输入以下命令: echo "auto eth0" > /etc/network/interfaces.d/eth0 echo "iface eth0 inet dhcp" >> /etc/network/interfaces.d/eth0 如下图所示:
(10) 因为 ull 的性能比较弱,所以我们就不安装桌面了,直接使用 exit 退出 qemu 环境即可,如下图所示:
4 打包文件系统 进到 debian 文件系统目录。直接使用命令 tar -cjf rootfs.tar.bz2 ./* 即可,如下图所示:
5 烧写验证 把我们打包好的这个文件系统放到烧写器里面,其他的镜像使用原来的即可,只需要替换文件系统, 然后烧写测试,启动成功如下图(没有界面)所示:
|