Einleitung
Dieses Dokument beschreibt die Erstellung des Golden ISO (GISO) für Upgrades auf Routern, auf denen die Cisco IOS® XR-Software in eXR-Versionen ausgeführt wird.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Cisco IOS XR-Software
- Cisco IOS XR Software-Installations- und Upgrade-Verfahren
- Linux-Basisbefehle und Navigation in der Befehlszeile
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Hardwareversionen beschränkt. Es gilt für alle Router, auf denen IOS XR 64 Bit ausgeführt wird.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Verwandte Produkte
Dieses Dokument kann auch mit folgenden Hardwareversionen verwendet werden:
- Router der Cisco 9000 Serie
- Router der Cisco 8000 Serie
- Cisco NCS Router der Serie 5700
- Cisco NCS Router der Serie 5500
- NCS 540 und 560 Router
Goldene ISO für XR-Upgrades
In der Regel veröffentlicht Cisco die IOS-XR-Software als Mini-/Basis-ISO, das obligatorische IOS-XR-Pakete für eine bestimmte Plattform, einen Satz optionaler Pakete zur Ausführung zusätzlicher Funktionen und Software-Patches für Bugfixes in Form von Software Maintenance Upgrade (SMU) enthält. Optionales Paket und SMU sind im RPM-Paketformat.
Das Golden ISO-Tool erstellt ein ISO, das den vollständigen Inhalt des Mini-/Basis-ISO zusammen mit optionalen Paketen und SMU der Benutzerwahl enthält. Sobald das Golden ISO erstellt wurde, kann es entweder für iPXE-Boot oder für SU (System-Upgrade) von der aktuellen laufenden Version auf eine neue Version von IOS-XR verwendet werden.
Hinweis: Mini-/Basis-ISO ist für jede Golden-ISO-Erstellung obligatorisch.
gisobuild Python-Tool
Dieses Tool kann nativ auf einem Linux-Host ausgeführt werden. Alternativ kann das Tool auch auf einem Linux-System ausgeführt werden, auf dem Docker aktiviert ist, und die Möglichkeit, das veröffentlichte 'cisco-xr-gisobuild'-Image vom Docker Hub zu beziehen, für dieses Beispiel wird empfohlen, in Debian 11.8 zu arbeiten
Für dieses Tool gelten die folgenden Anforderungen:
- python3 >= 3,6
- rpm >= 4,14
- cpio >= 2,10
- gzip >= 1,9
- Createrepo_c
- Datei
- Isoinfo
- mkisofs
- mksquashs
- openssl
- Unsquashs
- 7z (Optional - Funktionen können jedoch auch ohne verringert werden)
- iso-read (optional - kann jedoch ohne Einschränkungen verwendet werden)
- zip (optional - Funktionalität kann jedoch reduziert werden, ohne)
- unzip (Optional - Funktionseinschränkungen sind möglich)
Hinweis: Auf einem nativen Linux-System, bei dem nicht alle Abhängigkeiten erfüllt sind, können die Tool-Abhängigkeiten auf unterstützten Distributionen installiert werden, indem der nächste Befehl (möglicherweise über sudo) ausgeführt wird: ./setup/prep_dependency.sh
Außerdem sind die folgenden Python-Module (>= 3.6) erforderlich:
- Datenklassen
- defusedxml
- Disstutils
- Verpackung
- U/min
- Yaml
Um nativ auf einem Linux-Host laufen zu können, wurden die nächsten Distributionen getestet, speziell für dieses Szenario, Debian.
- Alma Linux 8
- Fedora 34
- Debian 11.2
Vorbereitung
Es ist zwingend erforderlich, zuerst zu bestätigen, welche optionalen Pakete benötigt werden und warum. Das Installieren unnötiger oder übermäßiger Pakete kann zu Problemen bei der Festplattenspeichernutzung und zu Fehlern während der Installation führen. Bestätigen Sie vor der Erstellung des GISO alle Plattformvoraussetzungen und Anforderungen an den Festplattenspeicher.
Informationen zum Herunterladen der erforderlichen Software finden Sie auf der offiziellen Website zum Software-Download: Cisco Software Download
Skript kann uns helfen, eine große Anzahl von Dateien zu vereinheitlichen, zum Beispiel ISO, Bridge Fixes, SMUs und so weiter.
Wird benötigt, um das Skript gisobuild.py an einen bestimmten Ort auf dem Server zu kopieren. Das Skript befindet sich auf gisobuild Git Site
Erstellung von GISOs
Im Folgenden finden Sie eine Zusammenfassung der Argumente, die für diese Skriptverwendung verwendet werden können:
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]
In diesem Beispiel wird ein GISO für ASR 9901 erstellt, ISIS- und OSPF-Pakete werden aus Gründen der Kürze verwendet, mini für Version 7.9.21 und die Konfigurationsdatei werden ebenfalls zum GISO hinzugefügt.
Wie im nächsten Befehl sichtbar, werden Pakete, Mini- und Konfigurationsdateien in das Verzeichnis /src kopiert, um eine gelöschte Version des Skriptlaufbefehls zu erstellen.
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#
Nachfolgend finden Sie eine kurze Beschreibung der Parameter, die für diese GISO-Erstellung verwendet werden:
—iso ISO |
Pfad zur Datei Mini.iso/Full.iso |
—xrconfig XRCONFIG |
Pfad zur XR-Konfigurationsdatei |
- Label LABEL, -l LABEL |
Goldenes ISO-Label |
--clean |
Ausgabeverzeichnis löschen, bevor Sie fortfahren |
—skip-image |
Erstellen Sie das USB-Image nicht (wird für die ASR9K-Plattform nicht unterstützt). |
Überprüfung
Wie in den Installationsprotokollen erwähnt, können wir unsere GISO-Erstellung bestätigen, indem wir für dieses Beispiel den Speicherort überprüfen. Speicherort des goldenen ISO-Image: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso
Wie im nächsten Bild, initrd.img ist 1,7 GB mit den Installationspaketen, die wir enthalten.
GISO in der Debian-GUI