Upgrading PICOS from Release 2.11.x Using Upgrade
NOTE:
If you are upgrading mlag peer devices, please refer to Upgrading MLAG Peers from PICOS 2.11.x to 3.7.0 for upgrading.
Partitioning
PICOS 3.7.0 have multiple system partitions including PicOS (partition size: 2G), PicOS2 (partition size: 2G) and User-Data partitions. Among them, PicOS and PicOS2 are two independent system boot partitions. One of them is the active partition on which the running system resides, and the other is the inactive partition. The two-system-boot-partition feature allows the system to be reverted to a previous version of the installed software package when it fails to upgrade PICOS.
User-Data partition is a reserved partition which is not affected by ONIE installer and upgrade unless user manually removes it. User-Data partition uses all the available space left on the disk after installation. Users can use this partition to store files and data.
Application Scenarios and Supported Platforms
This document applies to two upgrade cases:
- Upgrade from PICOS 2.11.x (x indicates any version number of 2.11) to PICOS 3.7.0.
- Upgrade from PICOS 3.7.0 to a higher version.
It’s not supported to upgrade directly from the version before 2.11 to 3.7.0. If you want to do so, there are two ways to achieve this:
- Method 1: Use the ONIE installation method to install a brand new system of PICOS 3.7.0. This is the recommended method. For details, see Installing PicOS on Bare Metal Switches.
- Method 2: First upgrade to 2.11.x (x indicates any version number of 2.11), then upgrade to 3.7.0. For details about how to upgrade to 2.11, see Upgrading PicOS from Release 2.1 or Later Using Upgrade.
PICOS 3.7.0 software requires to run on a high performance device, only the platforms listed in Switch Machine Outline and System Characteristics are supported upgrading to PICOS 3.7.0.
NOTE:
S4148F-ON with non-EFI ONIE cannot be upgrade to 3.7.0 from 2.11.x (x indicates any version number of 2.11). If you want to achieve this, use the ONIE installation method to install a brand new system of PICOS 3.7.0. For details about ONIE installation method, see Installing PicOS on Bare Metal Switches.
Preparation before Upgrading
Table 1 Checklist before Upgrading
No. | Checking Items | Checking Standard | Results |
1 | Checking the Running PICOS Version | The currently running system software version is lower than the software version to be installed | |
2 | Building Upgrade Environment | Build a different upgrade environment according to the need | |
3 | Getting the Required Upgrade Software | Obtain the required supported upgrade software | |
4 | Backing up Important Data in Flash | All the important data in Flash is backed up | |
5 | Checking Available Flash Space | Flash space is enough to save upgrading package and other files |
Checking the Running PicOS Version
Use the version command to check the version of the running system software.
admin@Xorplus:~$ version Copyright (C) 2009-2020 Pica8, Inc. =================================== Hardware Model : as7312_54x Linux System Version/Revision : 2.11.16/0a9a4fb Linux System Released Date : 11/16/2019 L2/L3 Version/Revision : 2.11.16/0a9a4fb L2/L3 Released Date : 11/16/2019 OVS/OF Version/Revision : 2.11.16/0a9a4fb OVS/OF Released Date : 11/16/2019
Building Upgrade Environment
Please make sure that you have set up an HTTP, TFTP or FTP protocol upgrading environment, the basic requirements are as follows:
- PC can log in to the device through serial or SSH.
- The communication between the server and the device works well.
- The upgrading file used by the device has already been stored on the server.
Getting the Required Upgrade Software
Please contact Pica8 technical support engineers at the following website for the latest version of upgrade software.
https://www.pica8.com/support/
Backing up Important Data in Flash
Before upgrading, save the important data in Flash to the local PC through FTP or TFTP, and then upload it to the switch after the upgrade is completed.
Checking the Available Flash Space
Use the df -h command to check the available flash space for saving the upgrade package.
admin@Xorplus:~$ df -h Filesystem Size Used Avail Use% Mounted on rootfs 1.5G 655M 715M 48% / /dev/root 1.5G 655M 715M 48% / tmpfs 199M 192K 199M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 10M 0 10M 0% /dev tmpfs 398M 0 398M 0% /run/shm tmpfs 50M 50M 0 100% /tmp
Upgrading Notes
- Downgrade from PICOS version 3.7.0 to 2.11.x is NOT supported. You can use ONIE installation when you want to downgrade. For details about ONIE installation, please refer to Installing PicOS on Bare Metal Switches.
- Since PICOS 2.4, a license check has been added to the system. Without a license, only the first four ports on the system can be used.
- If PICOS has no license installed (or if the license has expired) before the upgrade, only 4 ports will be activated with the upgrade.
- If PICOS has a license installed before the upgrade, the license will be copied and activated after the upgrade.
- You can log in to the switch through its console port or using SSH. After successful login, you can run commands on the command line interface (CLI) to upgrade the device.
- When using FTP/TFTP to download the image, user should verify that the "binary" mode is being used. If the "binary" transfer mode is not being used, the image might be modified during download, and the upgrade will fail during the MD5 check.
- When upgrading, the installer checks whether there is a user-data partition. If there exists a User-Data partition, the installer only rewrites the running system boot partition (PicOS/ PicOS2) and installs the new installation package to this partition. However, if there is no User-Data partition, the installer removes all the partitions to rebuild a brand new NOS.
- All X86 platforms share one installation and upgrade package with the name fixed as: onie-installer-picos-VERSION-x86.bin, where VERSION is the release version. X86 platforms are listed below:
• Edgecore AS4630-54PE
• Edgecore AS5712-54X
• Edgecore AS5812-54T
• Edgecore AS5812-54X
• Edgecore AS7312-54X
• Edgecore AS7326-56X
• Edgecore AS7712-32X
• Edgecore AS7726-32X
• Edgecore AS7816-64X
• Edgecore AS5835-54X
• DELL N3248P-ON
• DELL N3248PXE-ON
• DELL N3224PX-ON
• DELL N3248X-ON
• DELL S4048-ON
• DELL S4148F-ON
• DELL S4148T-ON
• DELL S4128F-ON
• DELL S5224F-ON
• DELL S5296F-ON
• DELL S5212F-ON
• DELL S5248F-ON
• DELL Z9100-ON
• DELL Z9264F-ON
• DELL N3224T-ON
• DELL S4128T-ON
- Have only one single image file for ARM and PowerPC platforms – for example onie-installer-picos-n3048-3.7.0.bin - which can be used for installation and upgrade.
- Cannot return to 2.11.x if fail to upgrade to 3.7.0 because of unexpected event such as power outage during the upgrade procedure.
- As port naming conventions of PICA8 switches have been redefined since PICOS 3.7.0, the upgrade script modifies the name of the corresponding port in configuration file when upgrading from PICOS 2.11 to 3.7.0. For details about port naming conventions and port names of PICA8 switches in PICOS 3.7.0, see Port Naming Conventions.
Usage of Upgrade Command
admin@XorPlus:~$ sudo upgrade USAGE Upgrade system with local new image SYNOPSIS upgrade [image_name] [factory-default] [backup-file=(*.lst)] DESCRIPTION image_name - Image with bin format file(*.bin) factory-default - Recovery configuration to factory default backup-file=(*.lst) - Specify a user defined backup list |
PICOS upgrade is done via the command "upgrade" in bash (launching a shell script named "upgrade.sh"). This script will upgrade the image and back up configuration files automatically.
The format of the upgrade package is *.tar.gz in versions before PICOS 3.7.0, but *.bin in PICOS 3.7.0.
The option no-md5-check is removed from PICOS 3.7.0. If there is an MD5 file in the /cftmp directory, the upgrade script will check package integrity with MD5. Else if there is no MD5 file in the /cftmp directory, then skip the MD5 check step.
The option factory-default is used to reset the configuration to factory default when performing upgrade. This option retains the license files from the previous version.
If you want to backup a file during upgrade, use option backup-file=(*.lst) to define your own backup file list. The usage of option backup-file=(*.lst) is described in the below section.
Usage of Backup-file=(*.lst) Option
During the upgrade process, the switch can automatically back up the following files in the following directories from the previous PICOS system:
/etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/resolv.conf ./etc/network/interfaces /etc/picos/picos_start.conf /etc/picos/switch-public.key /etc/picos/pica.lic /pica/config/pica_startup.boot /pica/config/pica.conf.01 /pica/config/pica.conf.02 /pica/config/pica.conf.03 /pica/config/pica.conf.04 /pica/config/pica.conf.05 /ovs/ovs-vswitchd.conf.db /ovs/function.conf.db /ovs/config/meters /ovs/config/groups /ovs/config/flows /ovs/var/lib/openvswitch/pki/ /var/log/report_diag.log /var/log/report_diag.log.1 /var/log/report_diag.log.2 /var/log/report_diag.log.3 /var/log/report_diag.log.4 /var/log/report_diag.log.5 /cftmp/upgrade.log /cftmp/upgrade2.log /cftmp/auto/ |
If you want to save user files that are not in the above default backup file list, you need to first create or specify a .lst file and then add all those files that need to be backed up to this .lst file. You can use the backup-file=(*.lst) option to achieve this, where (*.lst) is the user created file with .lst format or specify the path to this file, for example:
admin@XorPlus:~$ sudo upgrade backup-file=/admin/back_files.lst onie-installer-picos-3.7.0-x86.bin
For example, if you want to backup /home/admin/a.txt file during the process, then add /home/admin/a.txt to back_files.lst.In this example, back_files.lst is a user created file. The user has already added the file to back_files.lst that needs to be saved in the event of power off.
admin@XorPlus:~$ cat /admin/back_files.lst /home/admin/a.txt
The above operations ensure that user can backup their important files with backup-file=(*.lst) option during the upgrade process.
Upgrading Procedure
The upgrading procedure in this document gives an example of upgrading AS7312-54X from PICOS 2.11.16 to 3.7.0.
Step 1 Remove incompatible configurations.
PICOS 3.7.0 refines the MLAG, DHCP, NTP and port breakout features, and redefines the configuration commands. If these features are configured in the current system, you need to manually delete the configuration corresponding to these features before upgrading. Otherwise, the command line is incompatible in the new version and can cause problems such as configuration loss or connection failure after upgrade.
The following table lists the changed commands in 2.11.x and 3.7.0.
If the configurations listed in 2.11.x exist, they need to be removed before upgrading.
Commands in 2.11.x | Commands in 3.7.0 | Notes |
set interface mlag hello-interval set interface mlag peer peer-link set interface mlag priority set interface mlag reload-delay set interface mlag source set interface mlag system-id set interface aggregate-ethernet aggregated-ether-options mlag disable set interface aggregate-ethernet aggregated-ether-options mlag domain-id set interface aggregate-ethernet aggregated-ether-options mlag hello-interval set interface aggregate-ethernet aggregated-ether-options mlag peer peer-link set interface aggregate-ethernet aggregated-ether-options mlag priority set interface aggregate-ethernet aggregated-ether-options mlag system-id show mlag configuration show mlag internal show mlag peer | set protocols mlag domain set protocols mlag domain node set protocols mlag domain interface link set protocols mlag domain peer-ip peer-link set protocols mlag domain peer-ip peer-vlan run show mlag domain run show mlag link run show mlag consistency-parameter | Remove all MLAG-related commands before upgrading. |
set protocols dhcp snooping disable set protocols dhcp snooping port trust set protocols dhcp snooping vlan run show dhcp snooping binding set protocols dhcp snooping binding file set protocols dhcp snooping binding timeout set protocols dhcp option82 disable set protocols dhcp relay port circuit-id set protocols dhcp relay vlan-interface set protocols dhcp relay vlan-interface disable | set protocols dhcp snooping vlan set protocols dhcp snooping trust-port set protocols dhcp snooping vlan option82-policy set protocols dhcp snooping option82 circuit-id set protocols dhcp snooping option82 remote-id set protocols dhcp snooping option82 trust-all set protocols dhcp snooping binding file set protocols dhcp snooping binding write-delay run show dhcp snooping binding set protocols dhcp relay interface disable set protocols dhcp relay interface dhcp-server-address set protocols dhcp relay interface relay-agent-address set protocols dhcp relay interface option82-policy set protocols dhcp relay option82 circuit-id set protocols dhcp relay option82 remote-id set protocols dhcp relay option82 trust-all | The DHCP command line mainly includes the following changes: 1. In 2.11.x, user has the option to enable DHCP snooping on all VLANs by a single CLI command. However, in 3.7.0, user has to enable it VLAN by VLAN. 2. In 2.11.x, user has to manually input the string of Option 82. In 3.7.0, user can select the Option 82 pattern. If user wants to input a string, user can input it in the port description or hostname. Then select the related pattern. About how to configure the DHCP, please refer to the document DHCP Configuration and Configuration Commands. |
set interface qe-interface-mode < SFP | QSFP | FLEX > set interface gigabit-ethernet <port-name> breakout <10g-4x | 25g-4x | donot> | set interface gigabit-ethernet <port-name> breakout <true | false> | In 2.11.x, port breakout supports three modes: SFP, QSFP and FLEX; In 3.7.0, these modes are removed, the system no longer distinguishes between these modes, but only needs to configure port breakout on a port by port basis manually. Users need to delete old command in 2.11.x before upgrade. About how to configure the port breakout, please refer to the document Configuring Port Breakout and Merge. |
set system ntp-server-ip | set system ntp server-ip set system ntp source-interface | The CLI command line for configuring NTP server has changed, need to reconfigure after upgrade. About how to configure the NTP, please refer to the document Configuring NTP and the Time Zone Parameter. |
set protocols pimsm4 static-rps rp group-prefix hash-mask-len set protocols pimsm4 static-rps rp group-prefix rp-priority | - | Delete these two PIM-SM configurations. |
set system services telnet xx | - | 3.7.0 no longer supports telnet services. Delete all telnet-related commands. |
Step2
Copy the upgrade package (in the form of .bin) and the MD5 file to /cftmp directory by either FTP, TFTP, HTTP or SCP according to the actual upgrade environment. The following example uses the SCP method.
admin@XorPlus:~$ sudo scp pica8@10.10.50.16:/tftp/build/3.7.0/as7312_54x/onie-installer-picos-3.7.0-x86.bin /cftmp admin@XorPlus:~$ sudo scp pica8@10.10.50.16:/tftp/build/3.7.0/as7312_54x/onie-installer-picos-3.7.0-x86.bin.md5 /cftmp
NOTE:
If management VRF is enabled, and the FTP/TFTP/HTTP/SCP server is connected via the Eth0/1 port, you need to add the string sudo ip vrf exec mgmt-vrf before the SCP command when executing the scp operation. The format is as follows:
admin@Xorplus:~$ sudo ip vrf exec mgmt-vrf scp pica8@10.10.50.22:/tftp/build/3.1.1/as7312_54x/onie-installer-picos-as7312_54x-3.1.1-91bb175.bin /cftmp
admin@Xorplus:~$sudo ip vrf exec mgmt-vrf scp pica8@10.10.50.22:/tftp/build/3.1.1/as7312_54x/onie-installer-picos-as7312_54x-3.1.1-91bb175.bin.md5 /cftmp
If sudo ip vrf exec mgmt-vrf is not added, find the next hop routing information from the default VRF. For the usage of VRF, refer to the VRF configuration guide.
Step3 Execute the sync operation.
admin@XorPlus:~$ sync
Step4 Change directory to /cftmp.
admin@XorPlus:~$ cd /cftmp admin@XorPlus:/cftmp$
Step5 Run the upgrade command.
admin@XorPlus:/cftmp$ sudo upgrade onie-installer-picos-3.7.0-x86.bin
After finishing upgrade will reboot automatically, the system will come up running the new network operating system.
Configuration Compatibility
PICOS 3.7.0 refines the MLAG, DHCP, NTP and port breakout features, and redefines the configuration commands. So after the system is up from reboot, you need to manually configure the associated configuration to complete the upgrade.
MLAG
MLAG feature is redesigned in 3.7.0 to make it easier to deploy. If MLAG is deployed in 2.11.x, after upgrading to 3.7, the MLAG configurations need to be modified manually. The following table list all the MLAG commands in 2.11.x and 3.7.0.
Commands in 2.11.x | Commands in 3.7.0 | Remarks |
set interface mlag hello-interval set interface mlag peer peer-link set interface mlag priority set interface mlag reload-delay set interface mlag source set interface mlag system-id set interface aggregate-ethernet aggregated-ether-options mlag disable set interface aggregate-ethernet aggregated-ether-options mlag domain-id set interface aggregate-ethernet aggregated-ether-options mlag hello-interval set interface aggregate-ethernet aggregated-ether-options mlag peer peer-link set interface aggregate-ethernet aggregated-ether-options mlag priority set interface aggregate-ethernet aggregated-ether-options mlag system-id run show mlag configuration run show mlag internal run show mlag peer | set protocols mlag domain set protocols mlag domain node set protocols mlag domain interface link set protocols mlag domain peer-ip peer-link set protocols mlag domain peer-ip peer-vlan run show mlag domain run show mlag link run show mlag consistency-parameter | About how to configure the new MLAG, please refer to the document MLAG Configuration and MLAG Commands. |
DHCP
The DHCP feature has been refined in 3.7.0. If DHCP is deployed in 2.11.x, after upgrading to 3.7, some of the DHCP configurations need to be modified manually. The following table list all the DHCP commands in 2.11.x and 3.7.0.
Commands in 2.11 | Commands in 3.7.0 | Remarks |
set protocols dhcp snooping disable set protocols dhcp snooping port trust set protocols dhcp snooping vlan run show dhcp snooping binding set protocols dhcp snooping binding file set protocols dhcp snooping binding timeout set protocols dhcp option82 disable set protocols dhcp relay port circuit-id set protocols dhcp relay vlan-interface set protocols dhcp relay vlan-interface disable | set protocols dhcp snooping vlan set protocols dhcp snooping trust-port set protocols dhcp snooping vlan option82-policy set protocols dhcp snooping option82 circuit-id set protocols dhcp snooping option82 remote-id set protocols dhcp snooping option82 trust-all set protocols dhcp snooping binding file set protocols dhcp snooping binding write-delay run show dhcp snooping binding set protocols dhcp relay interface disable set protocols dhcp relay interface dhcp-server-address set protocols dhcp relay interface relay-agent-address set protocols dhcp relay interface option82-policy set protocols dhcp relay option82 circuit-id set protocols dhcp relay option82 remote-id set protocols dhcp relay option82 trust-all | The DHCP command line mainly includes the following changes:
About how to configure the DHCP, please refer to the document DHCP Configuration and Configuration Commands |
NTP
NTP supports connecting to the NTP server through the inband management port, which facilitates flexible networking.
When inband management interface is used to connect with the NTP server, after the upgrade is complete, the user needs to manually configure the NTP source interface as the inband management interface.
The following table list the changed NTP commands in 2.11.x and 3.7.0.
Commands in 2.11.x | Commands in 3.7.0 | Remarks |
set system ntp-server-ip | set system ntp server-ip set system ntp source-interface | The CLI command line for configuring NTP server has changed, need to delete old command in 2.11.x before upgrade. About how to configure the NTP, please refer to the document Configuring NTP and the Time Zone Parameter. |
Port Breakout
PICOS 3.7.0 simplifies port breakout configuration to make it easier to employment. The following table list the changed commands in 2.11.x and 3.7.0.
Commands in 2.11.x | Commands in 3.7.0 | Remarks |
set interface qe-interface-mode < SFP | QSFP | FLEX > set interface gigabit-ethernet <port-name> breakout <10g-4x | 25g-4x | donot> | set interface gigabit-ethernet <port-name> breakout <true | false> | In 2.11.x, port breakout supports three modes: SFP, QSFP and FLEX; In 3.7.0, these modes are removed, the system no longer distinguishes between these modes, but only needs to configure port breakout on a port by port basis manually. About how to configure the port breakout, please refer to the document Configuring Port Breakout and Merge. |
Verifying Version after Upgrading
admin@Xorplus:~$ version Copyright (C) 2009-2020 Pica8, Inc. =================================== Hardware Model : as7312_54x Linux System Version/Revision : 3.7.0/4b5f523 Linux System Released Date : 05/27/2020 L2/L3 Version/Revision : 3.7.0/4b5f523 L2/L3 Released Date : 05/27/2020 OVS/OF Version/Revision : 3.7.0/4b5f523 OVS/OF Released Date : 05/27/2020
Copyright © 2025 Pica8 Inc. All Rights Reserved.