简介
本文档介绍如何创建金牌ISO (GISO),以便在运行eXR版本的Cisco IOS® XR软件的路由器中进行升级。
先决条件
要求
Cisco 建议您了解以下主题:
- Cisco IOS XR 软件
- Cisco IOS XR软件安装和升级程序
- Linux基本命令和命令行导航
使用的组件
本文档不限于特定硬件版本,本文档适用于运行IOS XR 64位的所有路由器。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
相关产品
本文档还可用于以下硬件版本:
- Cisco 9000 系列路由器
- Cisco 8000 系列路由器
- 思科NCS 5700系列路由器
- 思科NCS 5500系列路由器
- NCS 540和560路由器
适用于XR升级的金牌ISO
通常,思科会将IOS-XR软件作为微型/基本ISO发布,其中包含给定平台的强制IOS-XR软件包、用于运行附加功能的一组可选软件包以及用于以软件维护升级(SMU)形式进行的任何Bug修复的软件补丁。可选封装和SMU采用RPM封装格式。
金牌ISO工具会创建一个ISO,其中包含微型/基本ISO的全部内容,以及用户选择的可选软件包和SMU。创建金牌ISO后,即可将其用于iPXE引导,或用于SU(系统升级),从当前运行的版本升级至新版本的IOS-XR。
注意:创建Golden ISO时,必须使用Mini/base ISO
gisobuild Python工具
此工具可在Linux主机上本地运行。或者,该工具也可以在启用Docker的Linux系统上运行,并能够从Docker Hub提取已发布的“cisco-xr-gisobuild”映像,例如建议在Debian 11.8中使用该示例
此工具具有下一个可执行文件要求:
- python3 >= 3.6
- rpm >= 4.14
- cpio >= 2.10
- gzip >= 1.9
- createrepo_c
- 文件
- isoinfo
- mkisofs
- mksquashfs
- openssl
- unsquashfs
- 7z(可选-但功能可以减少,无需任何配置)
- iso-read(可选-但可以缩减功能而无需)
- zip(可选-但可以缩减功能而无需)
- 解压缩(可选-但功能可以减少,无需压缩)
注意:在并非满足所有依赖项的本地Linux系统上,可以通过运行下一个命令(可能通过sudo)在受支持的分发上安装工具依赖项:./setup/prep_dependency.sh
它还需要下一代Python (>= 3.6)模块:
- 数据类
- defusedxml
- distutils
- 包装
- rpm
- yaml
为了在Linux主机上本地运行,已对下一个发行版进行了测试,特别是针对此场景Debian。
- Alma Linux 8
- 费多拉34
- 德比安11.2
准备
必须首先确认需要哪些可选软件包及其原因。在安装过程中,安装不必要或过多的软件包可能会导致磁盘空间使用问题和故障。在创建GISO之前,确认每个平台的必备条件和磁盘空间要求。
要下载必要的软件,请查阅官方软件下载站点:Cisco软件下载
脚本可以帮助我们统一各种文件,例如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软件包用于简洁,mini用于7.9.21版本,配置文件也添加到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标签 |
-clean |
在继续之前删除输出目录 |
—skip-image |
不构建USB映像(ASR9K平台不支持) |
验证
如安装日志所述,我们可以通过查看位置来确认我们的GISO创建,例如本例。金牌ISO映像位置:/gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso
根据下一个映像,initrd.img 为1.7GB,其中包含我们随附的安装包。
德边GUI中的GISO