This knowledge base has moved to the documentation site. Please visit the knowledge base here for the most up to date content. This site is no longer maintained.

Updating ONIE

Follow

If you need to update ONIE on your Cumulus Linux switch, follow these instructions. 

ONIE uses an onie-updater file in order to update itself. The onie-updater file should be provided to you by your hardware vendor. If you are using a Cumulus Express switch, open a support ticket to get this file from Cumulus Networks.

You can either perform the update manually or use the ONIE discovery methods. During the update process, you can point to this file manually, or it can be automatically discovered via ONIE's waterfall mechanism.

{{table_of_contents}}

Determining the Current ONIE Version

You can determine the current ONIE version by running /usr/lib/cumulus/onie/onie-version:

cumulus@switch:~$ sudo /usr/lib/cumulus/onie/onie-version
ONIE version : 2018.08
ONIE vendor_id : 674
ONIE build_machine : dell_s6000_s1220
ONIE machine_rev : 0
ONIE arch : x86_64
ONIE build_platform : x86_64-dell_s6000_s1220-r0
ONIE config_version : 1
ONIE build_date : 2018-08-13T23:25-0700
ONIE partition_type : gpt
ONIE kernel_version : 3.2.69
ONIE firmware : bios
ONIE switch_asic : bcm
ONIE skip_ethmgmt_macs: no

Manually Updating ONIE

To update ONIE manually, boot into ONIE rescue mode from Cumulus Linux. You enter ONIE without starting any automatic install/uninstall/discovery operations.

From Cumulus Linux, run onie-select -rf, then reboot the switch.

  1. Boot into ONIE rescue mode:
    cumulus@switch:~$ sudo onie-select -rf
  2. Reboot the switch to enter ONIE mode:
    cumulus@switch:~$ sudo reboot
  3. onie-self-update allows you to specify the URL or filepath of the target onie-updater file, so that you don't have to rely on ONIE discovery mechanisms.
    Usage options are below:
    ONIE:/ # onie-self-update -h
    usage: [-evh] <URL>
    Download and run an ONIE updater image. Supported URL types: http,
    ftp, tftp, file.

    COMMAND LINE OPTIONS

    -h
    Help. Print this message.

    -v
    Be verbose. Print what is happening.

    -e

    Embed ONIE in the hard disk.

    *Warning* -- This operation is destructive to the data
    on the hard disk. This operation will reformat the
    hard disk and install ONIE.

    Important! Unless you intentionally want this process to reformat/re-partition the hard drive and destroy all data currently written to disk (including CL), do not use -e.

Here is an example using the local file method. The file was secure copied to the switch using scp while running ONIE.

ONIE:/ # ls
bin
dev
etc
init
lib
mnt
onie-updater-x86_64-dell_s6000_s1220-r0
proc
root
run
sbin
sys
tmp
usr
var
ONIE:/ # onie-self-update file://onie-updater-x86_64-dell_s6000_s1220-r0
Stopping: discover... done.
ONIE: Executing installer: file://onie-updater-x86_64-dell_s6000_s1220-r0
Verifying image checksum ... OK.
Preparing image archive ... OK.
ONIE: Version : 2018.08
ONIE: Architecture : x86_64
ONIE: Machine : dell_s6000_s1220
ONIE: Machine Rev : 0
ONIE: Config Version: 1
ONIE: Build Date : 2018-08-13T23:25-0700
Installing ONIE on: /dev/sda
ONIE:/ # umount: can't remount rootfs read-only
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL tosd 0:0:0:0: [sda] Synchronizing SCSI cache
Restarting system.
machine restart

Updating ONIE Using Discovery Mode

In order to make use of the discovery mode, you must boot into ONIE self update mode.

In Cumulus Linux, run onie-select -pf to stage ONIE, then reboot the switch to boot into ONIE self update mode.

  1. Prepare to boot into ONIE self update mode:
    cumulus@switch:~$ sudo onie-select -pf
  2. Reboot the switch to enter ONIE self update mode:
    cumulus@switch:~$ sudo reboot

ONIE attempts to locate the installer through a number of discovery methods. The first successful method found is used to download and run an updater. The discovery methods are tried repeatedly, forever, until a successful image install occurs.

The discovery methods are executed in the following order:

  1. Statically configured (passed from boot loader)
  2. Local file systems (USB for example)
  3. Exact URLs from DHCPv4
  4. Inexact URLs based on DHCP responses
  5. IPv6 neighbors
  6. TFTP waterfall

Even if an installer is successfully found, the installer can fail, in which case ONIE moves on to the next discovery method.

ONIE searches for default file names in a specific order. ONIE searches for the name of the NOS installer image in the following order:

  1. onie-updater-<arch>-<vendor>_<machine>-r<machine_revision>
  2. onie-updater-<arch>-<vendor>_<machine>
  3. onie-updater-<vendor>_<machine>
  4. onie-updater-<arch>
  5. onie-updater

For example:

** ONIE Update Mode Enabled **
ONIE:/ #
ONIE:/ # Info: eth0: Checking link... up.
Info: Trying DHCPv4 on interface: eth0
ONIE: Using DHCPv4 addr: eth0: 10.50.23.128 / 255.255.255.0
ONIE: Starting ONIE Service Discovery
Info: Fetching http://10.50.31.51/onie-updater-x86_64-dell_s6000_s1220-r0 ...
Info: Fetching http://10.50.31.51/onie-updater-x86_64-dell_s6000_s1220 ...
Info: Fetching http://10.50.31.51/onie-updater-dell_s6000_s1220 ...
Info: Fetching http://10.50.31.51/onie-updater-x86_64 ...
Info: Fetching http://10.50.31.51/onie-updater ...

After updating ONIE, the switch reboots. If you don't change the boot target during the boot-up cycle, the switch boots all the way into Cumulus Linux.

From Cumulus Linux, you can once again run sudo /usr/lib/cumulus/onie/onie-version to make sure the version has been updated to the version you expected.

Comments

This support portal has moved

Cumulus Networks is now part of the NVIDIA Networking Business Unit! The NVIDIA Cumulus Global Support Services (GSS) team has merged its operations with the NVIDIA Mellanox support services team.

You can access NVIDIA Cumulus support content from the Mellanox support portal.

You open and update new cases on the Mellanox support portal. Any previous cases that have been closed have been migrated to the Mellanox support portal.

Cases that are still open on the Cumulus portal will continue to be managed on the Cumulus portal. Once these cases close, they will be moved to the Mellanox support portal.

Powered by Zendesk