cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
793
Views
0
Helpful
4
Replies

Golden ISO for XR7

filopeter
Level 1
Level 1

Hello,

do you have experience with building GISO for NCS540 (XR7 platform)?

I have tried gisobuild.py (version 0.38), but the script return errors.

Thanks,

Peter

 

4 Replies 4

Ramblin Tech
Spotlight
Spotlight

I do not have first-hand experience building a giso, but... building one for the NCS 540 with gisobuild.py is supported with XR7.6.1 and later. Any chance you are building a giso for an earlier release?

Disclaimer: I am long in CSCO

filopeter
Level 1
Level 1

For NCS 540 platforms which run eXR the script works. These platforms are N540-24Z8Q2C-SYS, N540X-ACC-SYS, N540-ACC-SYS. I have tested it with 7.7.21 XR version succesfully.

For NCS 540 platforms which run XR7 the script does not work. It looks like the XR7 ISO file (which is not mini XR) could not be extracted by the script.

Ramblin Tech
Spotlight
Spotlight

On the customer accounts that I worked on, Cisco's Advanced Services team built the GISOs (not me), so I am shooting in the dark here and am probably pointing out things you already know...

"XR7" is, unfortunately, a somewhat ambiguous term in that the XR marketing organization has used it to refer to both 7.x versions of eXR and LNT versions of 7.x. I am assuming you are referring to NCS540 SKUs that run XR7/LNT (ie, the "Big Bend" or "Darwin" SKUs). I am not sure if there are any public-facing docs that call out "LNT" as the version of XR7 that runs XR processes natively on linux (vs in an VM/LXC) and eliminates the "Calvados" admin VM/LXC, but the usage doc for gisobuild.py does provide special instructions for LNT builds (apologies if this was already obvious to you):

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]

Utility to build Golden ISO for IOS-XR.

optional arguments:
  -h, --help            show this help message and exit
  --iso ISO             Path to Mini.iso/Full.iso file
  --repo REPO [REPO ...]
                        Path to RPM repository. For LNT, user can specify
                        .rpm, .tgz, .tar filenames, or directories. RPMs are
                        only used if already included in the ISO, or specified
                        by the user via the --pkglist option.
  --bridging-fixes BRIDGE_FIXES [BRIDGE_FIXES ...]
                        Bridging rpms to package. For EXR, takes from-release
                        or rpm names; for LNT, the user can specify the same
                        file types as for the --repo option.
  --xrconfig XRCONFIG   Path to XR config file
  --ztp-ini ZTP_INI     Path to user ztp ini file
  --label LABEL, -l LABEL
                        Golden ISO Label
  --no-label            Indicates that no label at all should be added to the
                        GISO
  --out-directory OUT_DIRECTORY
                        Output Directory
  --create-checksum     Write a file with the checksum and size of the output
                        file(s)
  --yamlfile CLI_YAML   Cli arguments via yaml
  --clean               Delete output dir before proceeding
  --pkglist PKGLIST [PKGLIST ...]
                        Packages to be added to the output GISO. For eXR:
                        optional rpm or smu to package. For LNT: either full
                        package filenames or package names for user
                        installable packages can be specified. Full package
                        filenames can be specified to choose a particular
                        version of a package, the rest of the block that the
                        package is in will be included as well. Package names
                        can be specified to include optional packages in the
                        output GISO.
  --docker, --use-container
                        Build GISO in container environment.Pulls and run pre-
                        built container image to build GISO.
  --version             Print version of this script and exit

EXR only build options:
  --script SCRIPT       Path to user executable script executed as part of
                        bootup post activate.
  --x86-only            Use only x86_64 rpms even if other architectures are
                        applicable.
  --migration           To build Migration tar only for ASR9k
  --optimize            Optimize GISO by recreating and resigning initrd
  --full-iso            To build full iso only for xrv9k

LNT only build options:
  --remove-packages REMOVE_PACKAGES [REMOVE_PACKAGES ...]
                        Remove RPMs, specified in a space separated list.
                        These are matched against user installable package
                        names, and must be the whole package name, e.g: xr-bgp
  --skip-usb-image      Do not build the USB image
  --copy-dir COPY_DIRECTORY
                        Copy built artefacts to specified directory if
                        provided. The specified directory must already exist,
                        be writable by the builder and must not contain a
                        previously built artefact with the same name.
  --clear-bridging-fixes
                        Remove all bridging bugfixes from the input ISO
  --verbose-dep-check   Verbose output for the dependency check.
  --debug               Output debug logs to console
  --isoinfo ISOINFO     User specified isoinfo executable to use instead of
                        the default version
  --image-script IMAGE_SCRIPT
                        User specified image.py script to be used for
                        packing/unpacking instead of the version extracted
                        from the ISO. It will not be inserted into the GISO.
                        Intended for debugging purposes only.

 

Disclaimer: I am long in CSCO

Thank you for pointing this out. I have used the legacy eXR python2 based gisobuild utility. I will try the new gisobuild script available on Github, which is python3 based and has LNT options.