![](https://img-blog.csdnimg.cn/img_convert/4b348ac5baca2d36181b2e119d61caab.png)
#### 连接主机修改密码
vagrant ssh
sudo passwd root
su - root
![](https://img-blog.csdnimg.cn/img_convert/2354f14663bb22a40952a2e7a936d9f3.png)
### 先决条件配置
**添加一个 backports 存储库以安装最新版本的 Go:**
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
![](https://img-blog.csdnimg.cn/img_convert/d3c4ad1f3bfa23e02769e455931d42f2.png)
**1、安装所需的依赖项:**
sudo apt -y install make tar wget curl rpm qemu-utils golang-1.15-go genisoimage python-minimal bison gawk parted
![](https://img-blog.csdnimg.cn/img_convert/81a37e2b514e4773949c010ab3d53f07.png)
**2、推荐安装 `pigz` ,但不是必须,用于更快的压缩操作:**
sudo apt -y install pigz
![](https://img-blog.csdnimg.cn/img_convert/8b740dfd64e1599c906f625bc59114d5.png)
**3、修复 go 1.15 link:**
sudo ln -vsf /usr/lib/go-1.15/bin/go /usr/bin/go
![](https://img-blog.csdnimg.cn/img_convert/15010c183a1d8a366d0c572416f719d6.png)
**4、安装 docker:**
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
![](https://img-blog.csdnimg.cn/img_convert/3b92f289cc7ab58082aa0c82aec2e4bb.png)
配置完成后建议关闭主机:
vagrant halt
### 下载 CBL-Mariner 项目
由于官方源太慢,于是我 fork 到了我的 **gitee 仓库**:<https://gitee.com/luciferlpc/CBL-Mariner>。
git clone https://gitee.com/luciferlpc/CBL-Mariner.git
**下载到本地之后,上传到服务器主机中:**
![](https://img-blog.csdnimg.cn/img_convert/c5bb1df0fe5bd8723ab2c0c89d190238.png)
编辑 Vagrantfile 文件,挂载当前目录到主机 /vagrant 目录:
![](https://img-blog.csdnimg.cn/img_convert/010bf1c148900e9dbb48c39278d5f7d7.png)
重新启动 Ubuntu 主机:
cd /Volumes/DBA/vagrant/ubuntu1804
vagrant up
**或者通过 ftp 等工具进行上传!**
![](https://img-blog.csdnimg.cn/img_convert/03f7483db675bb800317cf1249723f38.png)
**同步到最新的稳定版本:**
git checkout 1.0-stable
![](https://img-blog.csdnimg.cn/img_convert/1da3a53f0f8cd791b54fe84482dc2c97.png)
**把文件拷贝到 /opt 目录下:**
cp -r /vagrant/CBL-Mariner /opt
### 构建 VHD 或 VHDX 镜像
**📢 注意:这里有个小问题,关于解析和GO:**
![](https://img-blog.csdnimg.cn/img_convert/8432d4742364263b443d1bf3bf9030c1.png)
**修复:**
export GO111MODULE=on
export GOPROXY=https://goproxy.io
echo ‘47.246.43.224 goproxy.cn’ >>/etc/hosts
echo ‘140.82.121.3 github.com’ >>/etc/hosts
echo ‘nameserver 8.8.8.8’ >>/etc/resolv.conf
echo ‘nameserver 8.8.4.4’ >>/etc/resolv.conf
#### 构建 VHDX 镜像
**镜像放在…/out/images/core-efi:**
cd toolkit
sudo make image REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/core-efi.json
构建过程中,可能存在域名无法解析的问题,可以访问:https://packages.microsoft.com/cbl-mariner/1.0/prod/,手动下载缺少的 rpm 包。
![](https://img-blog.csdnimg.cn/img_convert/3856a0e4582c48c20065cee1f77e63e0.png)
等待很久很久时间后,完成:
![](https://img-blog.csdnimg.cn/img_convert/1e630b4724c54f26e18468cbde76aefc.png)
![](https://img-blog.csdnimg.cn/img_convert/39d074de88337969a9cc499091e6388d.png)
#### 构建 VHD 镜像
**镜像放在…/out/images/core-legacy:**
cd toolkit
sudo make image REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/core-legacy.json
![](https://img-blog.csdnimg.cn/img_convert/3c6220dbfbb37258597a2a402ac8991a.png)
![](https://img-blog.csdnimg.cn/img_convert/dc9c8915b0a984ae01edf2aa39742706.png)
![](https://img-blog.csdnimg.cn/img_convert/5c6c6c24aea26e37dfe56e7a6ff420a2.png)
#### 构建 cloud-init 配置镜像
**镜像放在…/out/images/meta-user-data.iso**
cd toolkit
sudo make meta-user-data
![](https://img-blog.csdnimg.cn/img_convert/6626d4c4ab24caca79b1966e934c8d58.png)
#### 新建并访问主机
使用 `virtualbox` 创建 VHD(X) 虚拟机。
**1、创建新主机**
![](https://img-blog.csdnimg.cn/img_convert/de9eccb5fbc7f219c8c98d9cce6a80b8.png)
**2、选择编译好的 VHD(X) 文件**
![](https://img-blog.csdnimg.cn/img_convert/63b2d77d05f2e046ad2398f2e8b07408.png)
![](https://img-blog.csdnimg.cn/img_convert/1901302ef7e20355eb372b7ef3b936d3.png)
**3、挂载 Meta-User-Data.Iso 镜像**
![](https://img-blog.csdnimg.cn/img_convert/8df0cbe5e7096af935c185f6971d193e.png)
**4、启动并登录虚拟机**
账号密码:
mariner_user/p@ssw0rd
![](https://img-blog.csdnimg.cn/img_convert/79fc6b343445606517d243519f5c0244.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/82df3ff3e2f5ee6d1d0d1055891a2b6d.png)
**总体来说,Linux 的命令都差不多。**
### 构建 ISO 镜像
**镜像放在…/out/images/full**
cd toolkit
sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json
![](https://img-blog.csdnimg.cn/img_convert/b4c0763c56a1d34580f6dc27df1cc449.png)
![](https://img-blog.csdnimg.cn/img_convert/debe7add52fbd6d2e9accdfd365ff187.png)
![](https://img-blog.csdnimg.cn/img_convert/f9c119c4c31639b756cc0bfcaf911aa4.png)
**生成的 ISO 镜像大概 700M 不到。**
#### 用 ISO 镜像安装系统
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
![](https://img-blog.csdnimg.cn/img_convert/9f86e5ccd60d26a814f364c2b083bbcf.png)
给大家整理的电子书资料:
![](https://img-blog.csdnimg.cn/img_convert/916cb87d30066b7bc0ed6be6d940ab97.png)
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
理的电子书资料:
[外链图片转存中...(img-aV5tiUDF-1714371653413)]
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**