编译环境

        因为作者的电脑仅有16GB内存,无法使用虚拟机进行编译,于是使用物理机进行编译。

为了方便,使用U盘随身系统进行编译。

随身系统制作

随身系统载体选取

        因为编译过程会产生较大的文件,于是这里使用Kingston DTXM系列的128G U盘作为载体。如果没有的话可以使用8G的U盘,然后外接存储设备或者使用原有硬盘作为额外的存储空间,这里为了方便,就直接使用U盘本身的存储空间。

随身系统制作

        由于使用的ubuntu版本为18.04.6,使用rufus制作具有持续性存储的随身系统盘会导致启动失败,而使用UltraISO又无法选择持续性存储空间大小,于是使用基于Linux平台并且支持全版本Ubuntu制作持续性存储空间的mkusb进行随身系统U盘的制作。

镜像文件下载

        因为接下来制作随身系统时需要相应的镜像文件,提前下载好放在好找的文件夹备用。

        官方镜像文件下载地址:Ubuntu中国官方镜像下载

usbmk的安装

        参考文献地址:[askubuntu]

ubuntu docker pull镜像超时_存储空间

https://askubuntu.com/questions/1181854/how-is-it-easier-to-make-a-persistent-live-drive-with-ubuntu-19-10如何创建 Ubuntu 持久化立付 U 盘 | Linux 中国

ubuntu docker pull镜像超时_存储空间

https://zhuanlan.zhihu.com/p/654675536
        

        参考上述文献,在此处作简要记录:

        1.为什么使用mkusb?

        使用rufus制作18.04.6的持久化随身系统时,在启动时会出现无法挂载的错误,导致无法启动。Linux平台的mkusb支持全版本持久化随身系统的制作。

        2.如何安装mkusb?

        因为原本的apt列表中并没有默认设置mkusb,于是安装前应首先执行ppa写入:

sudo add-apt-repository ppa:mkusb/ppa

之后刷新apt

sudo apt update

接下来,就可以进行mkusb的安装

sudo apt install --install-recommends mkusb mkusb-nox usb-pack-efi

为了便利,制作如下脚本:

#!/bin/sh 

echo "执行PPA写入\n"

sleep 1

sudo add-apt-repository ppa:mkusb/ppa

echo "完成PPA写入\n执行apt列表刷新\n"

sudo apt update

echo "完成apt列表刷新\n执行mkusb及其套件安装\n"

sudo apt install --install-recommends mkusb mkusb-nox usb-pack-efi

echo "mkusb安装完成,退出安装"

exit 0

接下来就可以使用mkusb的GUI界面制作随身系统,具体步骤请参考相关参考文章

进入随身系统

        完成安装后关闭电脑,在重新启动时按下F2或F10或F12或者Del这几个键来进入BIOS。将启动首选项设置为对应的随身系统U盘。之后选择presistent选项进入系统即可。

随身系统编译环境配置

        需预备的器材:

        无线网卡或一根够长的网线

        因为Ubuntu 18.04.6有时候不支持比较新的无线网卡,这就导致无法进行网络连接,所以最好准备以上两个东西,最好使用网线,最为保险。

踩坑记录:不知道为什么,apt换成清华源之后执行sudo apt-get upgrade时会自动关机,有时自动进入init界面,显示mount /ubuntu.iso failed。

使用apt进行资源包的下载

        按照嘉立创官方提供的文档,需要下载如下资源包,这里为了方便,直接把官方文档上的命令复制过来:

sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect \
g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib \
g++-multilib unzip device-tree-compiler ncurses-dev

        这里可以直接复制到终端去。

解压缩文件包

        为了方便文件管理,建议将解压出的.repo放置于单独的文件夹中,建议将buildroot也一并解压。

        使用如下指令运行解压:

tar -zxvf tspi_linux_xxxxxxxxx.tar.gz -C ${Your_Dir}

        建议先解压tspi_linux_xxxxx.tar.gz后先进行编译:

${Your_Dir}/.repo/repo/repo sync -l -j88

        之后将buildroot_xxxxxxx.tar.gz解压到相同文件夹:

tar -zxvf buildroot_xxxxxxx.tar.gz -C ${Your_Dir}

        将${Your_Dir}替换为你自己的编译时的文件夹。 

        PS:中间可能会有比较长的下载时间和解压时间,