1. 准备环境

1.1. 下载Ubuntu包

https://mirrors.bfsu.edu.cn/ubuntu-cdimage/ubuntu-base/releases/20.04.3/release/

img

进入上述网站下载所需的Ubuntu版本,注意下载arm版本的。下载之后在buildroot下面创建一个Ubuntu目录,将下载的下载Ubuntu包解压到该目录下

1
tar -xvf ubuntu-base-20.04.2-base-arm64.tar.gz -C ./ubuntu

img

1.2. 配置Ubuntu环境

安装qemu模拟器

1
2
3
$ sudo apt-get update
$ sudo apt-get install qemu-user-static
$ cp /usr/bin/qemu-aarch64-static ubuntu/usr/bin/

Ubuntu源

可以不用更换,直接使用默认的即可。如果使用update有失败有可能跟网络不稳定有关系,可以多试几次确认。下面贴上编写本文档使用的源和

https://www.cnblogs.com/smlile-you-me/p/17727308.html

配置网络环境

1
cp /etc/resolv.conf ubuntu/etc/resolv.conf

进入根文件系统进行操作

在进入之前需要先进行一些挂载操作,见下面脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
mnt() {
echo "MOUNT"
sudo mount -t proc /proc ${2}/proc
sudo mount -t sysfs /sys ${2}/sys
sudo mount -o bind /dev ${2}/dev
sudo mount -o bind /dev/pts ${2}/dev/pts
echo "MOUNT end"
}

umnt() {
echo "UMOUNT"
sudo umount ${2}/proc
sudo umount ${2}/sys
sudo umount ${2}/dev
sudo umount ${2}/dev/pts
echo "UMOUNT end"
}
echo "$1"
if [[ "$1" == "-m" ]] && [[ -n "$2" ]];
then
echo "start mount"
mnt $1 $2
elif [[ "$1" == "-u" ]] && [[ -n "$2" ]];
then
echo "start umount"
umnt $1 $2
fi

挂载:mount.sh -m ubuntu/

卸载:mount.sh -u ubuntu/

注意:退出之后记得取消挂载并需要确认有卸载成功

1
sudo chroot ubuntu/

切换到下载的 ubuntu 最小文件系统后,执行如下命令,安装一些常用工具:

1.2.1. 更新

1
apt update

img

更新过程中出现上述异常时可以使用下列方法解决:

修改/tmp目录的权限

1
chmod 777 /tmp

修改之后重新执行

1
apt-get update

img

报下列错误时:exit退出chroot,然后执行sudo mount –bind /dev {Ubuntu路径}/dev,再重新执行chroot进入到文件系统执行update(建议直接执行上面的挂载脚本整体挂载)

(**注意:**进入Ubuntu文件系统操作完成之后记得退出来卸载 sudo umount {Ubuntu路径}/dev)

img

成功之后执行apt upgrade,执行过程中会有下列提示,输入Y回车即可

img

img

出现上面截图打印没有异常之后表面更新成功,下面可以对工具进行安装

1.2.2. 工具安装

apt-get install -y systemd至少需要安装一个 systemd,否则开机无法进入系统

安装过程中出现下面选择:

img

按照上述截图选择洲和城市,依次选择亚洲(选择Asia对应序号和上海(对应序号)就可以了。

1、安装过程中报下列截图中的异常

img

解决:执行apt -f install修复依赖关系之后再重新按照一遍即可

img

2、报下列截图异常

img

解决:安装下面工具

1
2
$ apt install language-pack-en
$ apt install -y locales-all

1.2.3. 其他工具安装

根据项目需要安装自己需要的公开即可

1
$ apt-get install -y sudo vim git ifupdown net-tools ethtool udev wireless-tools iputils-ping resolvconf wget apt-utils wpasupplicant nano udhcpc initramfs-tools

1.2.4. 修改fstab文件

使用vi打开 /etc/fstab文件中添加下列内容

1
/dev/mmcblk0p4  /       ext4    rw,relatime     0 1

img

1.2.5. 添加用户及设置密码

  • 添加用户
1
useradd -m -s /bin/bash -d /home/xcs -G sudo EThan(添加名为“EThan”的新用户)
  • 设置用户密码
1
passwd EThan
  • 设置root用户密码
1
passwd root

img

1.2.6. 制作跟文件系统

退出文件系统

1
exit

制作根文件系统

img

1.3. 安装图形界面

1
2
$ apt-get install xinit
$ apt-get install xfce4

img

img

img

img

安装过程中出现下列异常情况:

img

解决方法

1
2
3
$ cd /var/lib/dpkg
$ sudo mv info info.bkp
$ sudo mkdir info

执行完之后重新执行 apt upgrade 或者apt -f install

img

安装桌面启动服务

1
apt-get install -y lightdm lightdm-gtk-greeter

安装网络和语言支持

1
2
apt-get install -y synaptic
apt-get install -y language-pack-zh-hant language-pack-zh-hans

或者是安装:apt-get install xubuntu-desktop

img

img

img

img

解决方法:

1
2
$ sudo apt-get install locales
$ sudo dpkg-reconfigure locales

img