失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > i.MX6ULL终结者Ubuntu文件系统Ubuntu-base构建

i.MX6ULL终结者Ubuntu文件系统Ubuntu-base构建

时间:2020-07-14 10:39:18

相关推荐

i.MX6ULL终结者Ubuntu文件系统Ubuntu-base构建

1 解压Ubuntu-base

我们使用命令“tar xvf ubuntu-base-16.04.5-base-armhf.tar.gz”,如图 1.1所示:

图 1.1

解压完成之后就是根文件系统,使用命令“ls”查看目录。

图 1.2

2 安装Qemu-User-Static工具

QEMU是专门模拟不同机器架构的软件,在ubuntu中对其支持良好,若需要挂载ubuntu armhf版本的文件,必须安装qemu-user-static工具。

首先Ubuntu下使用命令“apt-get install qemu-user-static”安装,安装过程中按y继续。如图 2.1所示:

图 2.1

这一步骤是将qemu-user-static安装到了pc的ubuntu上,然后使用命令

“cp /usr/bin/qemu-arm-static ./usr/bin/”,拷贝qemu-arm-static到刚刚解压出来的目录。如图 2.2所示:

图 2.2

3 设置软件源

Ubuntu安装软件是通过名apt-get从网上下载安装的。我们需要指定软件源。

为了制作成功的根文件系统能够联网,可以直接拷贝本机的dns配置文件到根文件系统的相应位置,使用命令“cp /etc/resolv.conf ./etc/resolv.conf”,如图 3.1所示:

图 3.1

然后修改根文件系统软件源,使用命令“vim ./etc/apt/sources.list”进入该文件。如图 3.2所示:

图 3.2

添加ubuntu arm源,我选择的是中科大的源,在文末添加如下内容:

deb http://mirrors./ubuntu-ports/ xenial main multiverse restricted universedeb http://mirrors./ubuntu-ports/ xenial-backports main multiverse restricted universedeb http://mirrors./ubuntu-ports/ xenial-proposed main multiverse restricted universedeb http://mirrors./ubuntu-ports/ xenial-security main multiverse restricted universedeb http://mirrors./ubuntu-ports/ xenial-updates main multiverse restricted universedeb-src http://mirrors./ubuntu-ports/ xenial main multiverse restricted universedeb-src http://mirrors./ubuntu-ports/ xenial-backports main multiverse restricted universedeb-src http://mirrors./ubuntu-ports/ xenial-proposed main multiverse restricted universedeb-src http://mirrors./ubuntu-ports/ xenial-security main multiverse restricted universedeb-src http://mirrors./ubuntu-ports/ xenial-updates main multiverse restricted universe

如图 3.3所示:

图 3.3

保存并退出。

4 挂载根文件系统并Chroot

(1)首先在本机挂载刚刚下载好的文件系统,需要挂载proc, sys, dev, dev/pts等文件系统。使用命令“vi mount.sh”添加挂载脚本。如图 4.1所示:

图 4.1

挂载过程的脚本umount.sh内容如下:

1#!/bin/bash2echo "MOUNTING"3mount -t proc /proc /home/topeet/ubuntu-base/proc4mount -t sysfs /sys /home/topeet/ubuntu-base/sys5mount -o bind /dev /home/topeet/ubuntu-base/dev6mount -o bind /dev/pts /home/topeet/ubuntu-base/dev/pts 7chroot /home/topeet/ubuntu-base/

如图 4.2:

图 4.2

保存退出:

(2)然后使用命令“vi umount.sh”添加卸载脚本。如图 4.3所示:

图 4.3

卸载过程的脚本umount.sh内容如下:

1#!/bin/bash2echo "UNMOUNTING"3sudo umount /home/topeet/ubuntu-base/proc4sudo umount /home/topeet/ubuntu-base/sys5sudo umount /home/topeet/ubuntu-base/dev/pts6sudo umount /home/topeet/ubuntu-base/dev

如图 4.4所示:

图 4.4

保存并退出。

(3)然后使用命令“ chmod 777 mount.sh umount.sh”修改脚本权限,如图 4.5所示:

图 4.5

(4)然后使用命令“mount.sh”运行挂载。如图 4.6所示:

图 4.6

此时我们可以看到,根目录切换成了当前制作ubuntu的目录。

(5)由于ubuntu base是一个最小根文件系统,很多命令和软件都没有,因此我们需要先安装一下常用的命令和软件,输入如下命令:

apt updateapt install sudoapt install language-pack-en-baseapt install sshapt install net-toolsapt install ethtool apt install ifupdownapt install iputils-pingapt install rsyslogapt install htop apt install vim

部分截图如图 4.7所示:

图 4.7

(6)然后使用命令“passwd root”设置root用户密码,在这里我们设置成topeet。如图 4.8所示:

图 4.8

(7)接下来使用如下命令设置主机名称和本机IP:

echo "topeet_i.MX6UL/ULL" > /etc/hostnameecho "127.0.0.1 localhost" >> /etc/hostsecho "127.0.0.1 topeet_i.MX6UL/ULL" >> /etc/hosts

如图 4.9所示:

图 4.9

(8)接下来配置串口终端。我们使用命令“ln -s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttymxc0.service”,指定串口终端。如图 4.10所示:

图 4.10

由于我用的是i.mx6u的平台,需要添加一个名为getty@ttymxc0.service的链接,连接到getty@.service服务。i.mx的平台是ttymxc0。

(9)接下来配置DHCP,也可以等下载到开发板之后在配置,但启动时会很慢。使用如下命令:

echo auto eth0 > /etc/network/interfaces.d/eth0echo iface eth0 inet dhcp >> /etc/network/interfaces.d/eth0

如图 4.11所示:

图 4.11

(10)设置好以后就可以退出根文件系统了,输入命令“exit”退出。如图 4.12所示:

图 4.12

(11)最后我们将退出以后再执行一下umount.sh脚本取消挂载。如图 4.13所示:

图 4.13

至此,ubuntu base根文件系统就已经制作好了,然后我们就可以使用开发板测试了。

如果觉得《i.MX6ULL终结者Ubuntu文件系统Ubuntu-base构建》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。