移植Ubuntu 18.04.5具体移植方法如下:
1、创建解压根文件系统的目录
mkdir /home/yijiu98/linux/nfs/ubuntu_rootfs // yijiu98路径名替换为你自己的
2、cd /home/yijiu98/linux/nfs/ubuntu_rootfs // yijiu98路径名替换为你自己的
3、解压根文件系统
sudo tar -vzxf ubuntu-base-18.04.5-base-armhf.tar.gz //解压完文件夹必须锁
4、安装qemu
sudo apt-get install qemu-user-static
将刚刚安装的qemu-user-static拷贝到刚刚解压出来的ubuntu base目录中,也就是ubuntu_rootfs/usr/bin目录下,命令如下:
cd /home/david/linux/nfs/ubuntu_rootfs //进入到ubuntu_rootfs目录下,david是我的用户名,请使用你的
sudo cp /usr/bin/qemu-arm-static ./usr/bin/ //拷贝qemu-arm-static
5、设置软件源(沿用旧软件源没有问题)
在设置软件源之前先将Ubuntu主机下的DNS配置文件/etc/resolv.conf拷贝到根文件系统中,可以不换源,但必须复制resolv.conf,否则不能update!
命令如下:
cd /home/david/linux/nfs/ubuntu_rootfs //david路径名替换为你自己的
sudo cp /etc/resolv.conf ./etc/resolv.conf
6、创建挂载和卸载shell脚本
①创建挂载脚本,复制以下代码保存为mount.sh
#!/bin/bash
echo “MOUNTING”
sudo mount -t proc /proc /home/david/linux/nfs/ubuntu_rootfs/proc
sudo mount -t sysfs /sys /home/david/linux/nfs/ubuntu_rootfs/sys
sudo mount -o bind /dev /home/david/linux/nfs/ubuntu_rootfs/dev
sudo mount -o bind /dev/pts /home/david/linux/nfs/ubuntu_rootfs/dev/pts
sudo chroot /home/david/linux/nfs/ubuntu_rootfs
注意:请将david路径换成你自己的
②创建挂载脚本,复制以下代码保存为unmount.sh
#!/bin/bash
echo “UNMOUNTING”
sudo umount /home/david/linux/nfs/ubuntu_rootfs/proc
sudo umount /home/david/linux/nfs/ubuntu_rootfs/sys
sudo umount /home/david/linux/nfs/ubuntu_rootfs/dev
sudo umount /home/david/linux/nfs/ubuntu_rootfs/dev/pts
注意:请将david路径换成你自己的
在主机挂载根文件系统
sudo chmod 777 mount.sh unmount.sh
./mount.sh
7、安装软件
apt update
apt install sudo
apt install vim
apt install kmod
apt install net-tools
apt install ethtool
apt install ifupdown
apt install language-pack-en-base
apt install rsyslog
apt install htop
apt install iputils-ping
apt install systemd //ubuntu18必须安装systemd,不然没有串口文件
8、安装桌面
apt install xubuntu-desktop
安装桌面可能会遇到错误:
Errors were encountered while processing:
blueman
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方法:
root@david-VirtualBox:/# mkdir var/lib/dpkg/info/
root@david-VirtualBox:/# apt-get -f install
root@david-VirtualBox:/# mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/
root@david-VirtualBox:/# rm -rf /var/lib/dpkg/info
root@david-VirtualBox:/# mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/
提示:如果以上方法仍然有报错,建议使用命令apt update,一般情况下都能解决!
9、设置root用户密码
passwd root
10、设置本机名称和IP地址
输入如下命令设置本机名称和IP地址:
echo " imx6sx" > /etc/hostname
echo “127.0.0.1 localhost” >> /etc/hosts
echo “127.0.0.1 imx6sx” >> /etc/hosts
11、设置串口终端
ln -s /lib/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
12、取消挂载
设置好以后就可以退出根文件系统了,输入如下命令退出:
exit
退出以后再执行一下unmount.sh脚本取消挂载,命令如下:
./unmount.sh
至此,ubuntu base根文件系统就已经制作好了,接下来可以通过NFS或者直接烧写到SD卡测试。
13、打包ubuntu根文件系统
cd /home/david/linux/nfs/ubuntu_rootfs //进入到ubuntu根文件系统
sudo tar -vcjf ubuntu_rootfs.tar.bz2 * //打包根文件系统
至此,根文件系统就做好了.
对于野火的开发板野火做了ubuntu18不带界面的镜像,可以直接烧录镜像后,通过联网的方式安装界面
开始不能下载软件
apt update
apt install xubuntu-desktop
出错后
apt-get -f install
apt install xubuntu-desktop
reboot