操作系统: Debian8
硬件平台: i.mx8


1.下载Ubuntu基础包

$ wget http://cdimage.ubuntu.com/ubuntu-base/releases/18.04/release/ubuntu-base-18.04-base-arm64.tar.gz
$ tar -xf ubuntu-base-18.04-base-arm64.tar.gz -C /opt/imx8/rootfs

解压编译后的modules至rootfs/lib目录下(重要)


2.安装qemu工具(重要)

$ sudo apt-get install qemu-user-static
$ sudo cp  /usr/bin/qemu-aarch64-static /opt/imx8/rootfs/usr/bin/

qemu工具主要是用于在宿主机上模拟arm架构的虚拟机


3.写两个挂载与卸载的脚本
ch-mount.sh

#!/bin/bash
echo "MOUNTING"
sudo mount -t proc /proc ${1}proc
sudo mount -t sysfs /sys ${1}sys
sudo mount -o bind /dev/ ${1}dev
sudo mount -o bind /dev/pts ${1}dev/pts
sudo chroot ${1}

umount.sh

#!/bin/bash
echo "UNMOUNTING"
sudo umount ${1}proc
sudo umount ${1}sys
sudo umount ${1}dev/pts
sudo umount ${1}dev

4. 运行脚本挂载文件系统:

$ sudo sh ch-mount.sh /opt/imx8/rootfs/
MOUNTING
root@debian:/#

5.安装软件
修改源: 国内的源速度会快很多,此时vi还不能用,所以得用sed来修改,其实这一步可以在重挂载前修改。

# cp /etc/apt/sources.list /etc/apt/sources.list-bak
# sed -i 's/ports\.ubuntu\.com/mirrors\.tuna\.tsinghua\.edu\.cn/g' /etc/apt/sources.list

安装软件:

# apt update
# apt install sudo
# apt install language-pack-en-base
# apt install vim 
# apt install ssh
# apt install net-tools
# apt install ethtool 
# apt install ifupdown
# apt install iputils-ping
# apt install rsyslog
# apt install htop 

6.基本设置

设置串口: 重要:不设置的话无法进入控制台,ssh包安装后才支持systemctl命令。

# systemctl enable getty@ttymxc0.service

设置root密码:

# passwd

修改DNS:

# echo "nameserver 8.8.8.8" > /etc/resolv.conf

设置网络:

# echo auto eth0 > /etc/network/interfaces.d/eth0
# echo iface eth0 inet dhcp >> /etc/network/interfaces.d/eth0

设置主机名称:

# echo oroct > /etc/hostname

7.安装xfec桌面

# apt-get install xinit 
# apt-get install xdm 
# apt-get install xfce4 

8.打包文件系统
先退出

# exit

再卸载:

$ sudo sh mount.sh /opt/imx8/rootfs/

打包:

# cd rootfs
# tar -jcvf ../rootfs.tar.bz2 ./*

将打包好的文件复制至SD卡目录下,替换掉原有文件即可。


问题处理

/usr/bin/mandb: can't chmod /var/cache/man/pt_BR/CACHEDIR.TAG: Operation not permitted

解决方案

# mandb -csp

附录:移植qeum

$ wget https://download.qemu.org/qemu-4.1.1.tar.xz
$ xz -d qemu-4.1.1.tar.xz
$ tar -xvf qemu-4.1.1.tar
$ cd qemu
$ ./configure --static --disable-system --enable-linux-user
$ make && make install

编译错误解决:
ERROR: glib-2.48 gthread-2.0 is required to compile QEMU
apt-get install libgtk2.0-dev
apt-get install pkg-config

rules.mak:124: recipe for target 'qemu-nbd' failed
--disable-tools