
嘉立创·泰山派基于Ubuntu 18.04.6的Ubuntu 20.04.6镜像编译流程及踩坑记录
基于Ubuntu 18.04.6 编译用于嘉立创泰山派的 Ubuntu 20.04.6 镜像
编译环境
因为作者的电脑仅有16GB内存,无法使用虚拟机进行编译,于是使用物理机进行编译。
为了方便,使用U盘随身系统进行编译。
随身系统制作
随身系统载体选取
因为编译过程会产生较大的文件,于是这里使用Kingston DTXM系列的128G U盘作为载体。如果没有的话可以使用8G的U盘,然后外接存储设备或者使用原有硬盘作为额外的存储空间,这里为了方便,就直接使用U盘本身的存储空间。
随身系统制作
由于使用的ubuntu版本为18.04.6,使用rufus制作具有持续性存储的随身系统盘会导致启动失败,而使用UltraISO又无法选择持续性存储空间大小,于是使用基于Linux平台并且支持全版本Ubuntu制作持续性存储空间的mkusb进行随身系统U盘的制作。
镜像文件下载
因为接下来制作随身系统时需要相应的镜像文件,提前下载好放在好找的文件夹备用。
官方镜像文件下载地址:Ubuntu中国官方镜像下载
usbmk的安装
参考文献地址:[askubuntu]https://askubuntu.com/questions/1181854/how-is-it-easier-to-make-a-persistent-live-drive-with-ubuntu-19-10
如何创建 Ubuntu 持久化立付 U 盘 | Linux 中国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:中间可能会有比较长的下载时间和解压时间,
更多推荐
所有评论(0)