imx6ull 移植ubuntu18.04文件系统

1 下载 ubuntu-base-18.04.5-base-armhf.tar.gz
    http://cdimage.ubuntu.com/ubuntu-base/releases/
2 安装运行模拟器:
    sudo apt install qemu-user-static
3 创建用于ubuntu-base根文件系统目录,并解压到该文件夹:
    mkdir ubuntu_rootfs
    tar xf ubuntu-base-18.04.5-base-armhf.tar.gz -C ./ubuntu_rootfs
    cd ubuntu_rootfs
4 拷贝CPU架构为ARM的模拟器到根文件系统:
    sudo cp /usr/bin/qemu-arm-static ./usr/bin/
5 拷贝主机下的DNS配置文件,没有这个文件的话我们无法使用apt-get下载软件:或者将文件中更改为nameserver 114.114.114.114
    sudo cp /etc/resolv.conf ./etc/resolv.conf
6 添加源,打开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 

7 在主机上挂载ubuntu-base文件系统,因为我们还需要下载一些常用工具,需要挂载的目录和文件有proc、sys、dev、dev/pts, tmp 这五个,挂载之后使用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 mount -o bind /tmp ./tmp
    sudo chroot ./
8 安装常用软件工具:ubuntu18必须安装systemd,否则没有串口设备文件
    apt-get update
    apt-get install -y sudo vim kmod net-tools ethtool ifupdown language-pack-en-base rsyslog htop iputils-ping dosfstools systemd
9 安装ssh
    sudo apt-get install -y ssh
    sudo gedit /etc/ssh/sshd_config
    //修改下面两项
    port 22
    PermitRootLogin yes
    //重启
    sudo service ssh start
    sudo service ssh restart
10 设置root密码:
    passwd root
11 设置主机名称:
    echo "linaro" > /etc/hostname
    echo "127.0.0.1 localhost" >> /etc/hosts
    echo "127.0.0.1 linaro" >> /etc/hosts
12 设置串口终端,以串口1为例,它的设备文件名称为ttymxc0
    ln -s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttymxc0.service
13 配置网络自启,ubuntu-base根文件系统开机后默认网卡是没启动的,以网口2(eth1)为例
    echo auto eth1 > /etc/network/interfaces.d/eth1
    echo iface eth1 inet dhcp >> /etc/network/interfaces.d/eth1
14 退出当前文件系统,取消挂载proc、sys、dev、dev/pts,tmp这五个目录和文件
    exit 
    sudo umount ./proc
    sudo umount ./sys
    sudo umount ./dev/pts
    sudo umount ./dev
    sudo umount ./tmp

15 命令行固化系统
sudo ./imx6mksdboot.sh -device /dev/sdb -flash emmc -ddrsize 512

16 安装modules,编译linux内核后使用此命令将模块安装到对应文件夹
sudo make modules_install INSTALL_MOD_PATH=/media/alientek/rootfs

17 调整启动时网络等待时间
//A start job is running for Raise network interface(5min 13s )问题解决方法
sudo vim /etc/systemd/system/network-online.target.wants/networking.service
将里面的TimeoutStartSec=5min  修改为TimeoutStartSec=10sec

18 添加dns
首先修改vim /etc/systemd/resolved.conf 文件,在其中添加dns信息,例如:

DNS=8.8.8.8 114.114.114.114
然后退出保存。

然后以root身份在ubuntu终端中依次执行如下命令:

systemctl restart systemd-resolved
systemctl enable systemd-resolved

mv /etc/resolv.conf /etc/resolv.conf.bak
ln -s /run/systemd/resolve/resolv.conf /etc/
再查看/etc/resolv.conf文件就可以看到新的dns信息已经写入其中了。

19 更新源
apt-get update
apt-get upgrade

20 下载linux-firmware包,因为使用mt7612u WiFi模块需要加载固件
wget http://ftp.cn.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-misc-nonfree_20210315-3_all.deb
dpkg -i firmware-misc-nonfree_20210315-3_all.deb

21 安装ntp,选择时区
apt install ntp

22 安装 rfkill
sudo apt install rfkill

23 安装wpasupplicant 用于WiFi连接
sudo apt install wpasupplicant

24 设置WiFi自动连接脚本

#wpa_passphrase WIFI name wifi password | sudo tee /etc/wpa_supplicant.conf
wpa_supplicant -c /etc/wpa_supplicant.conf -i wlan0

 sleep 6
dhclient wlan0

25 不要安装netmanager,否则调试串口会异常,多次重新登录,原因未知

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值