简介
本文档介绍如何创建金牌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)。可选封装和SMU采用RPM封装格式。
金牌ISO工具创建了一个ISO,其中包含微型/基本ISO的全部内容,以及用户选择的可选软件包和SMU。创建金牌ISO后,它可以用于iPXE引导或用于SU(系统升级),从当前运行版本升级到新版本的IOS-XR。
注意:微型/基本ISO对于任何金牌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(可选 — 但功能可以减少,无需使用)
- unzip(可选 — 但功能可以减少,无需压缩)
注意:在本地Linux系统上,系统未满足所有依赖关系,可以通过运行以下命令(可能通过sudo)在受支持的分发服务器上安装工具依赖关系:./setup/prep_dependency.sh
它还需要下一代Python(>= 3.6)模块:
- 数据类
- 已禁用XML
- distutils
- 包装
- rpm
- yaml
要在Linux主机上本地运行,已对下一个发行版进行了测试,特别是针对此场景Debian。
- Alma Linux 8
- 费多拉三十四号
- 德比安11.2
准备
必须首先确认需要哪些可选软件包及其原因。安装不必要或过多的软件包可能会在安装期间产生磁盘空间使用问题和故障。在创建GISO之前,请确认每个平台对磁盘空间的必备条件和要求。
要下载必要的软件,请访问官方软件下载站点:Cisco Software Download
脚本可以帮助我们统一各种文件,例如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。
如下一命令所示,软件包、mini和配置文件被复制到/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,其中包含我们随附的安装软件包。
GISO在Debian GUI中