19. Ubuntu Base构建根文件系统

19.1. 什么是Ubuntu Base

Ubuntu 针对不同的 CPU 架构提供相应的 ubuntu base 根文件系统,目前提供的架构有amd64、arm64、armhf、i386、s390x、ppc64.

19.2. 下载Ubuntu Base

我们可到官网下载自己需要的版本 http://cdimage.ubuntu.com/ubuntu-base/releases/ 目前最新版本到21.04,

未找到图片2004 未找到图片release 未找到图片down

也可以使用我们提供的20.04版本

不使用最新版本是因为国内对于ubuntu-arm的镜像站比较少,目前阿里云所支持的最新版本ubuntu镜像为20.04,等支持21.04版本后大家可以构建ubuntu 21.04,我这里就以20.04版本举例说明构建方法

19.3. 安装一些依赖文件

1
sudo apt-get install tar qemu-user-static vim -y

19.4. 配置根文件系统

我们创建一个文件夹ubuntu_rootfs存放我们的根文件系统

1
2
3
4
5
6
mkdir ubuntu_rootfs && cd ubuntu_rootfs
tar -vxf ubuntu-base-20.04.1-base-armhf.tar.gz
sudo cp /usr/bin/qemu-arm-static ./usr/bin/
sudo cp ./etc/apt/sources.list ./etc/apt/sources.list.back
sudo echo "nameserver 8.8.8.8"  > ./etc/resolv.conf
sudo vim ./etc/apt/sources.list

阿里云镜像站 我们需要注意的是,这个站点默认提供的是amd64的ubuntu 镜像,所以我们需要在ubuntu后面加上-ports,如下所示

如果是ubuntu 20.04版本则可以将如下链接填入 ./etc/apt/sources.list

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
deb http://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ focal-backports main restricted universe multiverse

保存退出

1
2
3
4
sudo chroot ./
apt install vim sudo kmod net-tools ethtool ifupdown language-pack-en-base rsyslog htop iputils-ping -y //添加一些需要的应用
passwd root //设置root的密码
exit

现在我们可以把该目录放置到我们的NFS中试试能否启动,/home/lhf/nfs是你的nfs网络文件系统根目录,若未搭建nfs网络文件系统,请参考 参考6.5小节 搭建NFS网络系统

1
sudo cp -rf ./* /home/lhf/nfs

19.5. 启动开发板

1
su root
未找到图片sufl

成功启动了我们的ubuntu根文件系统,往后可以通过apt进行应用的安装。