电竞比分网-中国电竞赛事及体育赛事平台

分享

實戰(zhàn)篇:手動編譯安裝微軟 Linux 開源版 CBL-Mariner

 LuciferLiu 2021-12-10

?? 前言

CBL 代表 Common Base Linux,Mariner 的目標(biāo)是用作微軟工程團隊的內(nèi)部 Linux 發(fā)行版,以構(gòu)建云基礎(chǔ)設(shè)施和邊緣產(chǎn)品和服務(wù)。

?? 介紹

Mariner 是開源的,它在微軟的 GitHub 組織下有自己的存儲庫。目前沒有提供 Mariner 的 ISO 或映像,需要自行編譯,但是 repo 有在 Ubuntu 18.04 上構(gòu)建它們的說明。

文末有博主編譯好的 ISO 文件,可以直接下載安裝體驗!

此GitHub 頁面中列出了一系列先決條件,大致包括 Docker、RPM 工具、ISO 構(gòu)建工具和 Golang 等。

官方源: https://github.com/pc-study/CBL-Mariner

?? 編譯 CBL 鏡像文件

?? 接下來,我們就本地編譯一個鏡像文件來玩玩!

編譯環(huán)境準備

官方建議使用 ubuntu 18.04 版本進行編譯,其他版本不知道是否可以!

vagrant 安裝 ubuntu 18.04

由于需要在 Ubuntu 18.04 上進行構(gòu)建,因此使用 vagrant 本地快速創(chuàng)建一臺虛擬機環(huán)境。

mkdir -p /Volumes/DBA/vagrant/ubuntu1804cd /Volumes/DBA/vagrant/ubuntu1804
vagrant init generic/ubuntu1804
vagrant up --provider=virtualbox

連接主機修改密碼

vagrant sshsudo passwd rootsu - root

先決條件配置

添加一個 backports 存儲庫以安裝最新版本的 Go:

sudo add-apt-repository ppa:longsleep/golang-backportssudo apt-get update

1、安裝所需的依賴項:

sudo apt -y install make tar wget curl rpm qemu-utils golang-1.15-go genisoimage python-minimal bison gawk parted

2、推薦安裝 pigz ,但不是必須,用于更快的壓縮操作:

sudo apt -y install pigz

3、修復(fù) go 1.15 link:

sudo ln -vsf /usr/lib/go-1.15/bin/go /usr/bin/go

4、安裝 docker:

curl -fsSL https://get. -o get-docker.shsudo sh get-docker.shsudo usermod -aG docker $USER

配置完成后建議關(guān)閉主機:

vagrant halt

下載 CBL-Mariner 項目

由于官方源太慢,于是我 fork 到了我的 gitee 倉庫:https:///luciferlpc/CBL-Mariner。

git clone https:///luciferlpc/CBL-Mariner.git

下載到本地之后,上傳到服務(wù)器主機中:

編輯 Vagrantfile 文件,掛載當(dāng)前目錄到主機 /vagrant 目錄:

重新啟動 Ubuntu 主機:

cd /Volumes/DBA/vagrant/ubuntu1804
vagrant up

或者通過 ftp 等工具進行上傳!

同步到最新的穩(wěn)定版本:

git checkout 1.0-stable

把文件拷貝到 /opt 目錄下:

cp -r /vagrant/CBL-Mariner /opt

構(gòu)建 VHD 或 VHDX 鏡像

?? 注意:這里有個小問題,關(guān)于解析和GO:

修復(fù):

export GO111MODULE=onexport GOPROXY=https://echo '47.246.43.224 goproxy.cn' >>/etc/hostsecho '140.82.121.3 github.com' >>/etc/hostsecho 'nameserver 8.8.8.8' >>/etc/resolv.confecho 'nameserver 8.8.4.4' >>/etc/resolv.conf

構(gòu)建 VHDX 鏡像

鏡像放在…/out/images/core-efi:

cd toolkitsudo make image REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/core-efi.json

構(gòu)建過程中,可能存在域名無法解析的問題,可以訪問:https://packages.microsoft.com/cbl-mariner/1.0/prod/,手動下載缺少的 rpm 包。

等待很久很久時間后,完成:

構(gòu)建 VHD 鏡像

鏡像放在…/out/images/core-legacy:

cd toolkitsudo make image REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/core-legacy.json

構(gòu)建 cloud-init 配置鏡像

鏡像放在…/out/images/meta-user-data.iso

cd toolkitsudo make meta-user-data

新建并訪問主機

使用 virtualbox 創(chuàng)建 VHD(X) 虛擬機。

1、創(chuàng)建新主機

2、選擇編譯好的 VHD(X) 文件

3、掛載 Meta-User-Data.Iso 鏡像

4、啟動并登錄虛擬機

賬號密碼:

mariner_user/p@ssw0rd

image.png

總體來說,Linux 的命令都差不多。

構(gòu)建 ISO 鏡像

鏡像放在…/out/images/full

cd toolkitsudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json

生成的 ISO 鏡像大概 700M 不到。

用 ISO 鏡像安裝系統(tǒng)

終端模式安裝

1、創(chuàng)建新主機:

后面選項全都默認即可。

2、掛載上面生成的 ISO 鏡像:

3、啟動主機并安裝:

選擇安裝模式:分為終端和圖形化,本次選擇終端安裝。

選擇完全安裝:

選擇系統(tǒng)安裝盤:

跳過磁盤加密:

設(shè)置主機名:

創(chuàng)建用戶和密碼:密碼規(guī)則要求較高。

開始安裝:

安裝完重啟:

圖形化模式安裝

1、創(chuàng)建新主機:

后面選項全都默認即可。

2、掛載上面生成的 ISO 鏡像:

3、啟動主機并安裝:

選擇安裝模式:分為終端和圖形化,本次選擇圖形化安裝。

選擇完全安裝:

選擇接受協(xié)議:

不加密磁盤:

創(chuàng)建用戶密碼:

開始安裝:

安裝完重啟:

重啟后連接:

?? 至此,CBL-Mariner 已經(jīng)成功安裝體驗過!

?? 寫在最后

如果不想自己編譯 ISO 鏡像的朋友,可以直接下載我編譯好的鏡像安裝體驗!

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多