i.MX6ULL - Ubuntu 18.04.05 LTS根文件系统移植教程

时间:2022-09-26 12:53:38

i.MX6ULL - Ubuntu 18.04.05 LTS根文件系统移植教程



1、根文件系统配置及测试

根文件系统的移植很简单的,ubuntu官方已经帮我们做好了,可以下载下来直接时候,但是这个根文件系统太过于精简(例如连ifconfig都没法使用),一些常用的工具都没有,所以我们还需要自己简单的配置一下才行。

ubuntu-base文件系统下载地址:http://cdimage.ubuntu.com/ubuntu-base/releases/

i.MX6ULL - Ubuntu 18.04.05 LTS根文件系统移植教程

注:以下操作均在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挂载一下试试:

i.MX6ULL - Ubuntu 18.04.05 LTS根文件系统移植教程

成功!

打包文件系统用于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这个软件:

i.MX6ULL - Ubuntu 18.04.05 LTS根文件系统移植教程

i.MX6ULL - Ubuntu 18.04.05 LTS根文件系统移植教程

没问题!


2、samba与windows数据互传测试

i.MX6ULL - Ubuntu 18.04.05 LTS根文件系统移植教程


ends…