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.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构建相关推荐
- i.MX6ULL终结者虚拟机安装Ubuntu系统
文章目录 1.获取Ubuntu系统镜像 2. 虚拟机安装Ubuntu系统 1.获取Ubuntu系统镜像 安装好了VMware虚拟机以后,我们就可以在VMware上安装Ubuntu系统了,首先我们去Ub ...
- i.MX6ULL终结者Linux文件系统开发制作最小文件系统镜像
文章目录 1 BusyBox工具简介 2 Busybox 制作最小文件系统 2.1 准备源码 2.2 编译环境 2.3 支持中文 2.4 配置Busybox 2.5 编译Busybox 2.6 整理最 ...
- linux ubuntu文件系统,Ubuntu Linux文件系统的目录及用途简析
目录 英文全名 用途 / / ...
- linux ubuntu文件系统,Ubuntu Linux 文件系统的主要目录
目录 英文全名 用途 / / ...
- ubuntu下交叉编译环境构建
ubuntu下交叉编译环境构建(arm-linux-gcc-3.4.1.tar.bz2 ) 下载arm-linux-gcc-3.4.1.tar.bz2到任意的目录下. arm-linux-gcc-3. ...
- 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址
i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...
- i.MX6ULL终结者外设模块功能验证
文章目录 1. RC522模块测试 2. 步进电机模块测试 3. GPS模块测试 4. zigbee模块测试 5. 继电器模块测试 1. RC522模块测试 MF RC522 是应用于13.56MHz ...
- i.MX6ULL终结者Putty软件的安装教程
文章目录 1 软件安装 2 软件SSH连接 3.软件传输文件 4 软件连接串口 Putty是一个免费的.Windows 32平台下的telnet.rlogin和ssh客户端,但是功能丝毫不逊色于商业t ...
- linux ubuntu桌面,Ubuntu 桌面环境使用
Ubuntu简介 Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的"ubuntu"一词(译为吾帮托或乌班图),意思是"人性&quo ...
- Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!)
Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!) 目录 Ubuntu系统下在pycharm软件内配置anaconda环境 Ubuntu系统下在pych ...
最新文章
- Tengine AIFramework框架
- Seafile:用挂载盘客户端让企业在线编辑云端文件
- mysql 存储引擎 面试_搞定PHP面试 - MySQL基础知识点整理 - 存储引擎
- Lottie 站在巨人的肩膀上实现 Android 酷炫动画效果
- VMware安装CentOS之二——最小化安装CentOS
- 【EOS】2.4 EOS数据存储
- Quartz+Topshelf 作业
- Linux网络抓包分析工具(tcpdump、wireshark)
- 支持USB Video Class的摄像头
- android连麦功能,Android IOS WebRTC 音视频开发总结(七六)-- 探讨直播低延迟低流量的粉丝连麦技术...
- RedHat7.6 配置yum源
- 创维30周年庆典举行,中国制造业标杆向千亿目标加速冲刺
- 苹果刷机服务器验证失败,iPhone手机刷机报错最全总结 教你学会分析手机问题出在哪...
- 用png格式图片和非png格式图片做水印图片
- 垃圾邮件的判定标准与识别方法
- 浅谈TCP半连接攻击与全连接攻击
- 【NOIP2014模拟11.2A组】福慧双修
- 错误信息:cannot call member function ‘ ‘ without object 处理
- Jenkins+ansible+Tomcat实现项目远程自动部署
- Linux内核相关论坛问题回复(1)