根文件系統下載地址http://cdimage.ubuntu.com/ubuntu-base/releases/
Ubuntu 針對不同的 CPU 架構提供相應的 ubuntu base 根文件系統,
有 amd64(64 位 X86)、 armhf、 i386(32 位 X86)、 powerpc、 ppc64el 等系統的
我這邊使用的是ubuntu-base-16.04.6-base-arm64.tar.gz
1:cd /home/s/Desktop
mkdir ubuntu_rootfs
2:cp ubuntu-base-16.04.6-base-arm64.tar.gz /home/s/Desktop/ubuntu_rootfs
3:sudo tar -vzxf ubuntu-base-16.04.6-base-arm64.tar.gz
4: 需要在 PC 的 Ubuntu 上安裝 qemu 工具,命令如下:
sudo apt-get install qemu-user-static
將剛剛安裝的 qemu-user-static 拷貝到剛剛解壓出來的 ubuntu base 目錄中,也就是
ubuntu_rootfs/usr/bin 目錄下,命令如下:
arm:
sudo cp /usr/bin/qemu-arm-static /home/s/Desktop/ubuntu_rootfs/usr/bin/
arm64:
sudo cp /usr/bin/qemu-aarch64-static /home/s/Desktop/ubuntu_rootfs/usr/bin/
5:設置軟件源
我們在 ubuntu 下使用 apt-get 安裝軟件的時候,是從網上下載軟件並安裝的,因此需要指
定軟件源。
sudo cp /etc/resolv.conf /home/s/Desktop/ubuntu_rootfs/etc/resolv.conf
sudo gedit /home/s/Desktop/ubuntu_rootfs/etc/apt/sources.list 在此文件最后面添加軟件源
1 #中科大源 2 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe 3 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe 4 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe 5 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe 6 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe 7 deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe 8 deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe 9 deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe 10 deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe 11 deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
6:在主機掛載並配置根文件系統
(1)編寫一個mount腳本
1 #!/bin/bash 2 echo "MOUNTING" 3 sudo mount -t proc /proc /home/s/Desktop/ubuntu_rootfs/proc 4 sudo mount -t sysfs /sys /home/s/Desktop/ubuntu_rootfs/sys 5 sudo mount -o bind /dev /home/s/Desktop/ubuntu_rootfs/dev 6 sudo mount -o bind /dev/pts /home/s/Desktop/ubuntu_rootfs/dev/pts 7 sudo chroot /home/s/Desktop/ubuntu_rootfs
(2)編寫一個unmount腳本
1 #!/bin/bash 2 echo "UNMOUNTING" 3 sudo umount /home/s/Desktop/ubuntu_rootfs/proc 4 sudo umount /home/s/Desktop/ubuntu_rootfs/sys 5 sudo umount /home/s/Desktop/ubuntu_rootfs/dev 6 sudo umount /home/s/Desktop/ubuntu_rootfs/dev/pts
最后給予 mount.sh 和 unmount.sh 這兩個 shell 腳本可執行權限,命令如下:
sudo chmod 777 mount.sh unmount.sh
7:執行
./mount
8:安裝常用的命令和軟件
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
制作過程中遇到的問題
1:直接執行chroot MyRootDir出現錯誤:chroot: failed to run command ‘/bin/bash’: No such file or directory
原因是缺少bash相關的庫,使用ldd查看庫並拷貝

轉載自:https://www.cnblogs.com/charlieroro/p/9259675.html
2:bash: /usr/bin/groups: No such file or directory
這個錯誤是因為在安裝 qemu 工具出了問題,
我要制作的是64位的系統,所以應該拷貝的是qemu-aarch64-static,出問題的原因是拷貝的是qemu-arm-static
