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.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/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/bash
2   echo "MOUNTING"
3   mount -t proc /proc /home/topeet/ubuntu-base/proc
4   mount -t sysfs /sys /home/topeet/ubuntu-base/sys
5   mount -o bind /dev /home/topeet/ubuntu-base/dev
6   mount -o bind /dev/pts /home/topeet/ubuntu-base/dev/pts
7   chroot /home/topeet/ubuntu-base/

如图 4.2:

图 4.2

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

图 4.3

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

1    #!/bin/bash
2   echo "UNMOUNTING"
3   sudo umount /home/topeet/ubuntu-base/proc
4   sudo umount /home/topeet/ubuntu-base/sys
5   sudo umount /home/topeet/ubuntu-base/dev/pts
6   sudo 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 update
apt install sudo
apt install language-pack-en-base
apt install ssh
apt install net-tools
apt install ethtool
apt install ifupdown
apt install iputils-ping
apt install rsyslog
apt 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/hostname
echo "127.0.0.1 localhost" >> /etc/hosts
echo "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构建相关推荐

  1. i.MX6ULL终结者虚拟机安装Ubuntu系统

    文章目录 1.获取Ubuntu系统镜像 2. 虚拟机安装Ubuntu系统 1.获取Ubuntu系统镜像 安装好了VMware虚拟机以后,我们就可以在VMware上安装Ubuntu系统了,首先我们去Ub ...

  2. i.MX6ULL终结者Linux文件系统开发制作最小文件系统镜像

    文章目录 1 BusyBox工具简介 2 Busybox 制作最小文件系统 2.1 准备源码 2.2 编译环境 2.3 支持中文 2.4 配置Busybox 2.5 编译Busybox 2.6 整理最 ...

  3. linux ubuntu文件系统,Ubuntu Linux文件系统的目录及用途简析

    目录         英文全名                                             用途 /                /                   ...

  4. linux ubuntu文件系统,Ubuntu Linux 文件系统的主要目录

    目录         英文全名                                             用途 /                /                    ...

  5. ubuntu下交叉编译环境构建

    ubuntu下交叉编译环境构建(arm-linux-gcc-3.4.1.tar.bz2 ) 下载arm-linux-gcc-3.4.1.tar.bz2到任意的目录下. arm-linux-gcc-3. ...

  6. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

  7. i.MX6ULL终结者外设模块功能验证

    文章目录 1. RC522模块测试 2. 步进电机模块测试 3. GPS模块测试 4. zigbee模块测试 5. 继电器模块测试 1. RC522模块测试 MF RC522 是应用于13.56MHz ...

  8. i.MX6ULL终结者Putty软件的安装教程

    文章目录 1 软件安装 2 软件SSH连接 3.软件传输文件 4 软件连接串口 Putty是一个免费的.Windows 32平台下的telnet.rlogin和ssh客户端,但是功能丝毫不逊色于商业t ...

  9. linux ubuntu桌面,Ubuntu 桌面环境使用

    Ubuntu简介 Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的"ubuntu"一词(译为吾帮托或乌班图),意思是"人性&quo ...

  10. Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!)

    Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!) 目录 Ubuntu系统下在pycharm软件内配置anaconda环境 Ubuntu系统下在pych ...

最新文章

  1. Tengine AIFramework框架
  2. Seafile:用挂载盘客户端让企业在线编辑云端文件
  3. mysql 存储引擎 面试_搞定PHP面试 - MySQL基础知识点整理 - 存储引擎
  4. Lottie 站在巨人的肩膀上实现 Android 酷炫动画效果
  5. VMware安装CentOS之二——最小化安装CentOS
  6. 【EOS】2.4 EOS数据存储
  7. Quartz+Topshelf 作业
  8. Linux网络抓包分析工具(tcpdump、wireshark)
  9. 支持USB Video Class的摄像头
  10. android连麦功能,Android IOS WebRTC 音视频开发总结(七六)-- 探讨直播低延迟低流量的粉丝连麦技术...
  11. RedHat7.6 配置yum源
  12. 创维30周年庆典举行,中国制造业标杆向千亿目标加速冲刺
  13. 苹果刷机服务器验证失败,iPhone手机刷机报错最全总结 教你学会分析手机问题出在哪...
  14. 用png格式图片和非png格式图片做水印图片
  15. 垃圾邮件的判定标准与识别方法
  16. 浅谈TCP半连接攻击与全连接攻击
  17. 【NOIP2014模拟11.2A组】福慧双修
  18. 错误信息:cannot call member function ‘ ‘ without object 处理
  19. Jenkins+ansible+Tomcat实现项目远程自动部署
  20. Linux内核相关论坛问题回复(1)

热门文章

  1. 麻雀要革命 第拾贰战 抉择!空前混乱的公主争夺剧 第七节(第一部完)
  2. 什么是谷歌应用引擎(GAP)
  3. linux格式化磁盘出现资源忙,Linux 磁盘格式化、挂载
  4. 【区块链】【FISCO】WeIdentity
  5. 矩阵生发java_Java实现任意矩阵Strassen算法
  6. linux scsi_id命令,linux下scsi_id和start_udev命令
  7. mac本地开发vscode最佳配置
  8. DNS实战-不古出品
  9. 青云QingCloud助力掌众金服挖掘数据价值
  10. Nginx优化之expires缓存设置