i.MX6ULL - Ubuntu 18.04.05 LTS根文件系统移植教程
1、根文件系统配置及测试
根文件系统的移植很简单的,ubuntu官方已经帮我们做好了,可以下载下来直接时候,但是这个根文件系统太过于精简(例如连ifconfig都没法使用),一些常用的工具都没有,所以我们还需要自己简单的配置一下才行。
ubuntu-base文件系统下载地址:http://cdimage.ubuntu.com/ubuntu-base/releases/
注:以下操作均在root下进行!
安装运行模拟器:
sudo apt install qemu-user-static
创建用于ubuntu-base根文件系统目录,并解压到该文件夹:
mkdir /ubuntu-18.04.5-lts-rootfs
tar xvf ubuntu-base-18.04.5-base-armhf.tar.gz -C /ubuntu-18.04.5-lts-rootfs
cd /ubuntu-18.04.5-lts-rootfs
拷贝CPU架构为ARM的模拟器到根文件系统:
sudo cp /usr/bin/qemu-arm-static ./usr/bin/
拷贝主机下的DNS配置文件,没有这个文件的话我们无法使用apt-get下载软件:
sudo cp /etc/resolv.conf ./etc/resolv.conf
添加源,打开sources.list
这个文件,在这个文件最后追加中科大源:
vi etc/apt/sources.list
添加:
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
在主机上挂载ubuntu-base文件系统,因为我们还需要下载一些常用工具,需要挂载的目录和文件有proc、sys、dev、dev/pts
这四个,挂载之后使用chroot
将主机的根文件系统切换成我们现在配置的ubuntu-base文件系统,操作命令如下:
sudo mount -t proc /proc ./proc
sudo mount -t sysfs /sysfs ./sys
sudo mount -o bind /dev ./dev
sudo mount -o bind /dev/pts ./dev/pts
sudo chroot ./
安装常用软件工具:
apt-get update
apt-get install -y sudo vim kmod net-tools ethtool ifupdown language-pack-en-base rsyslog htop iputils-ping dosfstools systemd
注意:ubuntu18必须安装systemd,否则没有串口设备文件
安装samba(可选):见博客:https://blog.csdn.net/qq153471503/article/details/79221047
安装ssh(可选):见博客:https://blog.csdn.net/qq153471503/article/details/79221199
设置root密码:
passwd root
设置主机名称:
echo "imx6ull" > /etc/hostname
echo "127.0.0.1 localhost" >> /etc/hosts
echo "127.0.0.1 imx6ull" >> /etc/hosts
其中imx6ull
是主机名称,改成你要设置的即可。
设置串口终端:以串口1为例,它的设备文件名称为ttymxc0,所以使用ln命令创建一个软链接文件指向/lib/systemd/system/getty@.service
:
ln -s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttymxc0.service
还配置网络自启,ubuntu-base根文件系统开机后默认网卡是没启动的。
我的板子支持双网口,这里以网口1(也就是eth0)示例:
echo auto eth0 > /etc/network/interfaces.d/eth0
echo iface eth0 inet dhcp >> /etc/network/interfaces.d/eth0
最后,退出当前文件系统,取消挂载proc、sys、dev、dev/pts
这四个目录和文件:
exit
sudo umount ./proc
sudo umount ./sys
sudo umount ./dev/pts
sudo umount ./dev
此时ubuntu-base根文件系统就配置完了,使用NFS挂载一下试试:
成功!
打包文件系统用于MfgTool工具烧写,进入ubuntu-base根文件系统目录:
cd /ubuntu-18.04.5-lts-rootfs
打包:
tar -vcjf ubuntu-18.04.5-lts-rootfs.tar.bz2 ./*
然后就可以将ubuntu-18.04.5-lts-rootfs.tar.bz2
使用 MfgTool 工具将 ubuntu 根文件系统烧写到开发板的EMMC或
NAND中了。
2、SSH远程登录测试
我使用的是mobaxtrem这个软件:
没问题!
2、samba与windows数据互传测试
ends…