目錄

簡介

必要條件

需求

採用元件

相關產品

適用於XR升級的金牌ISO

gisobuild Python工具

準備

GISO建立

驗證

簡介

本檔案介紹如何建立Golden ISO (GISO)，以便在執行eXR版Cisco IOS® XR軟體的路由器中進行升級。

必要條件

需求

思科建議您瞭解以下主題：

- Cisco IOS XR軟體

- Cisco IOS XR軟體安裝和升級程式

- Linux基本命令和命令列導航

採用元件

本文檔不限於特定硬體版本，適用於運行IOS XR 64位的所有路由器。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

相關產品

本檔案也適用於以下硬體版本：

- Cisco 9000系列路由器

- Cisco 8000系列路由器

- Cisco NCS 5700系列路由器

- Cisco NCS 5500系列路由器

- NCS 540和560路由器

適用於XR升級的金牌ISO

通常，思科會將IOS-XR軟體發佈為迷你/基本ISO，其中包含指定平台的強制IOS-XR套件、一組可執行額外功能的可選套件，以及針對任何錯誤修正程式的軟體修補程式(以軟體維護升級(SMU)的形式)。可選封裝和SMU採用RPM封裝格式。

Golden ISO工具會建立一個ISO，其中包含迷你/基本ISO的全部內容，以及使用者選擇的可選套件和SMU。建立金牌ISO後，即可將其用於iPXE引導，或者用於從當前運行版本到新版本IOS-XR的SU（系統升級）。

注意：Mini/base ISO對於任何金牌ISO建立都是必需的

gisobuild Python工具

此工具可以在Linux主機上本地運行。或者，該工具也可以在已啟用Docker的Linux系統上運行，並能夠從Docker Hub中提取已發佈的「cisco-xr-gisobuild」映像，例如，建議在Debian 11.8中使用該示例

此工具具有下一個執行檔要求：

- python3 >= 3.6

- 轉/分鐘>= 4.14

- cpio >= 2.10

- gzip >= 1.9

- createrepo_c

- 檔案

- isoinfo

- mkisofs

- mksquashfs

- openssl

- 取消壓縮

- 7z （選購-但功能可減少，不需要）

- iso讀取（可選-但功能可以減少，無需使用）

- zip （選購-但功能可以減少，不需要）

- 解壓縮（可選-但功能可以減少，無需解壓縮）

注意：在本地Linux系統上（該系統未滿足所有依賴項），可透過運行以下命令（可能透過sudo）在受支援的分發上安裝工具依賴項：./setup/prep_dependency.sh

它還需要下一代Python (>= 3.6)模組：

- 資料類別

- defusedxml

- 迪斯蒂爾

- 封裝

- 轉/分鐘

- yaml

為了在Linux主機上本地運行，已經測試了以下發行版，特別是針對此場景Debian。

- Alma Linux 8

- 費多拉34

- 德比安11.2

準備

必須首先確認需要哪些可選軟體套件及其原因。安裝不必要或過多的套裝軟體可能會在安裝期間造成磁碟空間使用率問題和失敗。在建立GISO之前，確認每個平台的先決條件和磁碟空間要求。

要下載必要的軟體，請查閱官方軟體下載站點：Cisco軟體下載

Script可以協助我們統一各種檔案，例如iso、橋接修復、SMU等等。

需要將gisobuild.py指令碼複製到伺服器上的特定位置。指令碼位於gisobuild Git Site

GISO建立

以下是可用於此指令碼用法的引數摘要：

usage: gisobuild.py [-h] [--iso ISO] [--repo REPO [REPO ...]]

[--bridging-fixes BRIDGE_FIXES [BRIDGE_FIXES ...]]

[--xrconfig XRCONFIG] [--ztp-ini ZTP_INI] [--label LABEL]

[--no-label] [--out-directory OUT_DIRECTORY]

[--create-checksum] [--yamlfile CLI_YAML] [--clean]

[--pkglist PKGLIST [PKGLIST ...]] [--script SCRIPT]

[--docker] [--x86-only] [--migration] [--optimize]

[--full-iso]

[--remove-packages REMOVE_PACKAGES [REMOVE_PACKAGES ...]]

[--skip-usb-image] [--copy-dir COPY_DIRECTORY]

[--clear-bridging-fixes] [--verbose-dep-check] [--debug]

[--isoinfo ISOINFO] [--image-script IMAGE_SCRIPT]

[--version]

在本示例中，建立了ASR 9901的GISO，ISIS和OSPF軟體套件用於簡潔，7.9.21版的mini和配置檔案也增加到GISO。

如下一個命令中所示，packages 、 mini和config檔案被複製到/src目錄中，這樣可以建立清除版本的指令碼運行命令。

root@debian:/gisobuild-master/src# ls

asr9k-9000v-nV-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mcast-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-bng-ipoe-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mgbl-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-bng-pppoe-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mini-x64-7.9.21.iso

asr9k-bng-supp-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mpls-te-rsvp-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-bng-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mpls-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-optic-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-eigrp-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-ospf-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-isis-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-services-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-li-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-m2m-x64-1.0.0.0-r7921.x86_64.rpm

lnt

lntmod

output_gisobuild

utils

validate

wrappers

exrmod

running-config-ASR9K

gisobuild.py

--------GISO CREATION--------

root@debian:/gisobuild-master/src# ./gisobuild.py --iso asr9k-mini-x64-7.9.21.iso --pkglist asr9k-isis-x64-1.0.0.0-r7921.x86_64.rpm asr9k-ospf-x64-1.0.0.0-r7921.x86_64.rpm --xrconfig running-config-ASR9K --label firstGiso --skip-usb-image --clean

System requirements check [PASS]

Platform: asr9k Version: 7.9.21

XR-Config file (/gisobuild-master/src/running-config-ASR9K) will be encapsulated in Golden ISO.

Warning: No RPMS or Optional Matching 7.9.21 packages found in repository

Building Golden ISO...

Summary .....

XR Config file:

router.cfg

...Golden ISO creation SUCCESS.

Golden ISO Image Location: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso

Creating USB Boot zip...

Skipping USB Boot Zip creation: Not supported for platform: asr9k

USB BOOT ZIP NEEDED?: Contact asr9k team to add support.

root@debian:/gisobuild-master/src#

以下是用於此GISO建立的引數簡短說明：

—iso ISO

Mini.iso/Full.iso檔案的路徑

—xrconfig XRCONFIG

XR配置檔案的路徑

—LABEL、-l標籤

金牌ISO標籤

— 清除

繼續之前刪除輸出目錄

—skip-image

不構建USB映像（ASR9K平台不支援）

驗證

如安裝記錄所述，我們可以透過檢視位置來確認我們建立GISO，例如此示例。Golden ISO映像位置：/gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso

根據下一個映像，initrd.img 為1.7GB，其中包含我們隨附的安裝軟體套件。

GISO在德邊GUI中