Installing PICOS on Bare Metal Switches

Introduction

When using ONIE installer to install PICOS, the installer reinstalls the software, rebuilds all the PICOS file system. This can erase the configuration files and system logs from the previous installation.

After a successful ONIE installation of PICOS 4.x, the system generates 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 revert to a previous version of the installed software package when the it fails to upgrade PICOS by using upgrade2 command.

The ONIE installer removes all partitions to rebuild a brand new OS only when there is no User-Data partition. However, if there exists a User-Data partition (for example, install a new version 4.0.1 from the old one 4.0.0), the ONIE installer only rewrites the "PicOS" partition, installs the new installation package to this partition and sets the system on "PicOS" partition as the default and sole boot system.

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. Users can use this partition to store files and data.

This document describes how to install PICOS 4.x software using ONIE installer. 

Installation Notes and Tools 

The installation methods used to install a new PICOS are traditional installation and nos-boot-mode installation. You can choose a suitable installation method that is convenient and appropriate for your installation environment.

  •   If you want to install the PICOS through a non-console port (through the management port), refer to section Nos-boot-mode Installation.

  You need to log in through the console port of the switch and perform the ONIE installation.

  Other NOSes including user data will be removed when install PICOS under ONIE environment.

  When the ONIE installer is used to downgrade the PICOS version from version 4.x to PICOS 3.x or lower versions, we first need to use ONIE to uninstall the higher version PICOS before proceeding with installing PICOS 3.x or a lower version. On the ARM platform, execute the onie_uninstaller command at the ONIE prompt to uninstall the current version PICOS. On the x86 platform, select the "ONIE: Uninstall OS" option in the GRUB menu to uninstall the current version PICOS.

  If you enter GRUB rescue mode and the switch has GPT format partition, you can use the following commands to reset the GRUB boot variable to enter ONIE GRUB and then install PICOS.

grub rescue> set prefix=(hd0,gpt2)/grub 
grub rescue> set root=(hd0,gpt2) 
grub rescue> insmod normal 
grub rescue> normal

  Do not plug in the USB disk during onie-nos-installer process until ONIE starts up. If you have plugged in the USB disk before the installation operation, ONIE will find the installer on the USB disk when beginning the installation. On AS4610 series switches, when installation is complete, the installer will display: Please take out the usb disc, then remove the USB disk within 10 seconds after installation successful, and before machine restarts.

  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 platform are listed below:

                •  FS N5850-48S6Q

                •  FS N8550-48B8C

                •  FS N8550-32C

  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


What is ONIE
 

ONIE (Open Network Install Environment) is an open source project of OCP (Open Compute Project). ONIE provides the environment to install any network operating system on a bare metal network switch. ONIE liberates users from captive pre-installed network operating systems, like the Cisco IOS, and provides them with a choice.

ONIE is a small Linux operating system that comes pre-installed as firmware on bare metal network switches. ONIE acts as an enhanced boot loader, extending the features provided by U-Boot. ONIE is used to install Pica8 PICOS on compatible switches. The bare metal switches listed in the PICOS Hardware Compatibility List  must be pre-loaded with ONIE prior to installing PICOS.

Traditional Installation

NOTE

  •   You need to log in through the console port of the switch and perform the ONIE installation described in this section.
  •   The installation method described in this section only applies to platforms that have pre-installed ONIE.

Mind Map of Installation Process

Figure1 shows the mind map of PICOS installation process.

Figure1 Mind Map of PICOS installation process


Manual Installation Process

The following example describes the installation of PICOS via manual installation method.

Step1

Make sure that the installation package of .bin file has been load to the server (server could be HTTP, TFTP, or an FTP server or the switch local directory depending on the actual installation environment).

Step2       Enter ONIE installation environment. The process is different on the following two types of platforms:

    • ARM Platforms (AS4610 Series Switches)

a)

Verify that the switch is pre-loaded with ONIE, which will be used to load PICOS on the switch. Power on the switch and interrupt the boot sequence by pressing any key when the following line is shown:

Hit any key to stop autoboot:

b)

User will then reach the U-Boot command prompt indicated by ->. Run the printenv command at the U-Boot prompt. If the information displayed contains keywords like onie_initargs and onie_machine, the switch is pre-loaded with ONIE.

LOADER->printenv
active=image1
autoload=no
baudrate=115200
bootcmd=run check_boot_reason;run PicOS_bootcmd;run onie_bootcmd
bootdelay=10
check_boot_reason=if test -n $onie_boot_reason; then setenv onie_bootargs boot_reason=$onie_boot_reason; run onie_bootcmd; fi;
consoledev=ttyS0
dhcp_user-class=arm-accton_as4610_54-r0_uboot
dhcp_vendor-class-identifier=arm-accton_as4610_54-r0
ethact=eth-0
ethaddr=00:18:23:30:E7:8F
fdtaddr=0xc00000
fpboot=setenv bootargs console=${consoledev},${baudrate} maxcpus=2 mem=1024M root=/dev/ram ${mtdparts} ubi.mtd=4 ethaddr=$ethaddr quiet
gatewayip=192.168.0.1
initrd_high=0x80000000
ipaddr=192.168.0.1
loadaddr=0x70000000
loads_echo=1
mfg=mfg
mfgdiags=run fpboot ; nand read ${loadaddr} diags ; bootm ${loadaddr}
mfgdiags_recovery=nand read ${loadaddr} diags2 ; nand erase.part diags ; nand write ${loadaddr} diags
mtdids=nand0=nand_iproc.0
mtdparts=mtdparts=nand_iproc.0:1m(uboot),2m(shmoo),1m(nenv),12m(onie),3992m(open),12m(onie2),2m(vpd),6m(sys_eeprom),16m(diags),16m(diags2),32m(diags_fs)
netmask=255.255.255.0
nos_bootcmd=true
onie_args=run onie_initargs onie_platformargs
onie_bootcmd=echo Loading Open Network Install Environment ...; echo Platform: $onie_platform ; echo Version : $onie_version ; nand read  $loadaddr $onie_start 0x00c00000 && run onie_args && bootm ${loadaddr}
onie_dropbear_dss_host_key=begin-base64@600@d#AAAAB3NzaC1kc3MAAACBAIN7HOS7UGtQ+RS9R5Rdim9s4iadCBQ9SEFnHJZ2#ulK15hN2p1BOJ1Mf4qb/oHFGIt8hvopq157ejsJcSPuR9scXE2aYQO7r1+Ie#1MKoR3HyEFKgPhNUr0qYNiIaWGw2UUXivLUlhjmaPhjItsttb6AezNB6N1ap#TmIeEUse0NQBAAAAFQDndwbRrSsw6G/W4wd0LJVAjuyq2QAAAIAe/zGPyPNn#UwwV+i+j3l1W9IFhjA/ovXfX7PQtjHB7OJcInSpOA2gXLXHU2kYDkn+ymJQI#8Tn558nLHq64n9hIJzwaQH4ajMipBNwqR0WtpPXEaow9InDzjs+qFY0HAcTv#7DMEY9BGiJAUUSSCSFZ9dEYHIWUdk6WIpDUMX4b2ewAAAIB6bC+fHzr+Qaet#GjzynI0tApbzyydXKuIiIH6EDh2QEaP0E+TSxJ+C4xfyBAp1j0kvj0IYWR2P#H9ur0RaxDaCmKwIQs1gTJh/137Yd+OsqEV3JnrZxlEKk2DmI5c2wrGtl4oUp#XJfc+viahpFeCsGzsqGHHADWNsjlpKt457QCuQAAABUAk5406cTH4nZO0qlj#6irYf4WA65E=#====#
onie_dropbear_rsa_host_key=begin-base64@600@r#AAAAB3NzaC1yc2EAAAADAQABAAAAgQCMTqwNhnJpuSLYAdRA/jjm1lyBaJF1#ovs3Hp0G7XkYnY4+JNPTCYgnmfMQnM83PQncuy89AqehJ2V22LGjpRiqT56K#MRr+hQoSWEbAObRd1azZF45pbxiQaQiQxNzIKbHDDWlGlycXfv8w9ZCElbxj#Ja7bkwmwg9EsBlW0d5u0BQAAAIAFr0FOyfn0OR1FiatvF624Aorcbl9oV/pc#JRghGfl8SxPihizz4bC7xAPCUkwd9ZHi+M2E6AjhIV69xjFKS0vYuQplvl8G#9R8YsnmP5B45TyLE3dW5V2/g+LQERQdFpRaSsPqEPHSlXPq4XHLGLRFItEBt#ohp41Qm+eA6efsAMIQAAAEEA4Y90xi8N1SuwjRk53fqpP8dC+FPnU850XtC1#cKG0rBt6v9qD+BTxxfE6GEpYM+N0fLyECbgBjA2LQF6CG3G15QAAAEEAnz3v#3POrcsMK2LkSNjWzAhzUqOWyOaNlhcvgh+2Xfj2tHyOTpZ09gCm483v1rui9#63uYu4QQurpATrHMcLIjoQ==#====#
onie_initargs=setenv bootargs quiet console=$consoledev,$baudrate
onie_machine=accton_as4610_54
onie_machine_rev=0
onie_platform=arm-accton_as4610_54-r0
onie_platformargs=setenv bootargs $bootargs serial_num=${serial#} ${platformargs} eth_addr=$ethaddr $onie_bootargs $onie_debugargs 
onie_recovery=nand read ${loadaddr} onie2 ; nand erase.part onie ; nand write ${loadaddr} onie
onie_rescue=setenv onie_boot_reason rescue && boot
onie_start=onie
onie_sz.b=0x00c00000
onie_uninstall=setenv onie_boot_reason uninstall && boot
onie_update=setenv onie_boot_reason update && boot
onie_vendor_id=27658
onie_version=master-201603091701-dirty
PicOS_bootcmd=usb start;run platformargs;setenv bootargs root=/dev/sda1 rw noinitrd console=$consoledev,$baudrate rootdelay=10 $mtdparts;ext2load usb 0:1 $loadaddr boot/uImage;bootm $loadaddr
platform=accton_as4610_54
platformargs=mtdparts=nand_iproc.0:1m(uboot),2m(shmoo),1m(nenv),12m(onie),3992m(open),12m(onie2),2m(vpd),6m(sys_eeprom),16m(diags),16m(diags2),32m(diags_fs)  maxcpus=2 mem=1024M
ramdiskaddr=0x3000000
serial#=A626P1DL174300014
serverip=192.168.0.10
stderr=serial
stdin=serial
stdout=serial
ubifscfg=ubi part nand0,4 0x0; ubifsmount fs
ver=U-Boot 2012.10-gcbef171 (Mar 09 2016 - 17:01:14) - ONIE master-201603091701-dirty

Environment size: 3992/65532 bytes

  c)    From U-Boot prompt, boot ONIE in rescue mode.

   LOADER-> run onie_rescue


    • x86 Platform

                 On x86 platform, it uses GRUB menu to install OS via ONIE.

                 a)  Reboot the system, and enter ONIE installation environment from the GRUB menu:

 +----------------------------------------------------------------------------+
 | PicOS                                                                      | 
 |*ONIE                                                                       |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            | 
 +----------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.          
      Press enter to boot the selected OS, `e' to edit the commands       
      before booting or `c' for a command-line. 

  b)  From GRUB prompt, choose ONIE: Rescue to Install OS, boot ONIE in rescue mode.

                          GNU GRUB  version 2.02~beta2+e4a1fe391
 +----------------------------------------------------------------------------+
 |*ONIE: Install OS                                                           | 
 | ONIE: Rescue                                                               |
 | ONIE: Uninstall OS                                                         |
 | ONIE: Update ONIE                                                          |
 | ONIE: Embed ONIE                                                           |
 | DIAG: Accton Diagnostic                                                    |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            | 
 +----------------------------------------------------------------------------+ 


Step3        
Run onie-nos-install command as follows to manually install PICOS.

    • Install via TFTP
ONIE# onie-nos-install tftp://<path to image>/PICOS.bin
    • Install via FTP

                 When installing via FTP, you need to type username and password of the FTP server on which the image file is loaded.

ONIE# onie-nos-install ftp://username:password@<path to image>/PICOS.bin
    • Install via HTTP
ONIE# onie-nos-install http://<path to image>/PICOS.bin
    • Install from Local Directory

  a) In ONIE rescue mode, copy the image file to the current directory.

ONIE# scp username@<path to image>/PICOS.bin .

  b) Run onie-nos-install command to start installation.

ONIE# onie-nos-install PICOS.bin

For example,

ONIE:/ # onie-nos-install onie-installer-picos-4.0.0-8b1219e112-x86.bin
discover: Rescue mode detected. No discover stopped.
ONIE: Executing installer: onie-installer-picos-4.0.0-8b1219e112-x86.bin
Verifying image checksum ... OK.
Preparing image archive ... OK.
  [1]  PICOS L2/L3 (default)
  [2]  PICOS Open vSwitch/OpenFlow
Enter your choice (1,2):1
PICOS L2/L3 is selected.
ONIE installation will overwrite the configuration file of existing system.
It is recommended to follow the upgrade procedure to upgrade the system.
Press any key to stop the installation...
10 9 8 7 6 5 4 3 2 1 ...

The installer runs automatically, before start installation, it will prompt to choose the option to make PICOS to boot into L2/L3 or OVS mode.  If not selected, then PICOS boots into L2/L3.

After finishing installation, the device reboots automatically, the system then comes up running the new network operating system.

NOTE

  • After the system restarts, you need to enter the username and password, the initial login username is admin and password is pica8.
  • After the username and password are entered, user will be asked to choose a new password for admin. This is the only post installation step after which the PICOS operating system can be used.

Automatic Installation Process

The automatic installation process uses the DHCP message exchange process to download and install software packages.

Step1         Make sure the switch is connected to DHCP and HTTP servers and the PICOS installation software package is downloaded to the HTTP server.

                   a)  DHCP server configuration: define the path of the installation package and then start DHCP server service:

host pica8-3922 {
hardware ethernet 70:72:cf:12:34:56;
fixed-address 192.168.2.50;
option default-url = "http://192.168.2.42/onie-installer-picos-4.0.0-8b1219e112-x86.bin";
}


                    b)  Check if the .bin installation file is loaded onto the HTTP server:

root@dev:/var/www# ls
index.html onie-installer-powerpc.bin


Step2        
Install PICOS via ONIE. The process is different on the following two types of platforms:

    • ARM Platforms (AS4610 Series Switches)

a)

Verify that the switch is pre-loaded with ONIE, which will be used to load PICOS on the switch. Power on the switch and interrupt the boot sequence by pressing any key when the following line is shown:

Hit any key to stop autoboot:

b)

User will then reach the U-Boot command prompt indicated by ->. Run the printenv command at the U-Boot prompt. If the information displayed contains keywords like onie_initargs and onie_machine, the switch is pre-loaded with ONIE.

LOADER-> printenv
active=image1
autoload=no
baudrate=115200
bootcmd=run check_boot_reason;run PicOS_bootcmd;run onie_bootcmd
bootdelay=10
check_boot_reason=if test -n $onie_boot_reason; then setenv onie_bootargs boot_reason=$onie_boot_reason; run onie_bootcmd; fi;
consoledev=ttyS0
dhcp_user-class=arm-accton_as4610_54-r0_uboot
dhcp_vendor-class-identifier=arm-accton_as4610_54-r0
ethact=eth-0
ethaddr=00:18:23:30:E7:8F
fdtaddr=0xc00000
fpboot=setenv bootargs console=${consoledev},${baudrate} maxcpus=2 mem=1024M root=/dev/ram ${mtdparts} ubi.mtd=4 ethaddr=$ethaddr quiet
gatewayip=192.168.0.1
initrd_high=0x80000000
ipaddr=192.168.0.1
loadaddr=0x70000000
loads_echo=1
mfg=mfg
mfgdiags=run fpboot ; nand read ${loadaddr} diags ; bootm ${loadaddr}
mfgdiags_recovery=nand read ${loadaddr} diags2 ; nand erase.part diags ; nand write ${loadaddr} diags
mtdids=nand0=nand_iproc.0
mtdparts=mtdparts=nand_iproc.0:1m(uboot),2m(shmoo),1m(nenv),12m(onie),3992m(open),12m(onie2),2m(vpd),6m(sys_eeprom),16m(diags),16m(diags2),32m(diags_fs)
netmask=255.255.255.0
nos_bootcmd=true
onie_args=run onie_initargs onie_platformargs
onie_bootcmd=echo Loading Open Network Install Environment ...; echo Platform: $onie_platform ; echo Version : $onie_version ; nand read  $loadaddr $onie_start 0x00c00000 && run onie_args && bootm ${loadaddr}
onie_dropbear_dss_host_key=begin-base64@600@d#AAAAB3NzaC1kc3MAAACBAIN7HOS7UGtQ+RS9R5Rdim9s4iadCBQ9SEFnHJZ2#ulK15hN2p1BOJ1Mf4qb/oHFGIt8hvopq157ejsJcSPuR9scXE2aYQO7r1+Ie#1MKoR3HyEFKgPhNUr0qYNiIaWGw2UUXivLUlhjmaPhjItsttb6AezNB6N1ap#TmIeEUse0NQBAAAAFQDndwbRrSsw6G/W4wd0LJVAjuyq2QAAAIAe/zGPyPNn#UwwV+i+j3l1W9IFhjA/ovXfX7PQtjHB7OJcInSpOA2gXLXHU2kYDkn+ymJQI#8Tn558nLHq64n9hIJzwaQH4ajMipBNwqR0WtpPXEaow9InDzjs+qFY0HAcTv#7DMEY9BGiJAUUSSCSFZ9dEYHIWUdk6WIpDUMX4b2ewAAAIB6bC+fHzr+Qaet#GjzynI0tApbzyydXKuIiIH6EDh2QEaP0E+TSxJ+C4xfyBAp1j0kvj0IYWR2P#H9ur0RaxDaCmKwIQs1gTJh/137Yd+OsqEV3JnrZxlEKk2DmI5c2wrGtl4oUp#XJfc+viahpFeCsGzsqGHHADWNsjlpKt457QCuQAAABUAk5406cTH4nZO0qlj#6irYf4WA65E=#====#
onie_dropbear_rsa_host_key=begin-base64@600@r#AAAAB3NzaC1yc2EAAAADAQABAAAAgQCMTqwNhnJpuSLYAdRA/jjm1lyBaJF1#ovs3Hp0G7XkYnY4+JNPTCYgnmfMQnM83PQncuy89AqehJ2V22LGjpRiqT56K#MRr+hQoSWEbAObRd1azZF45pbxiQaQiQxNzIKbHDDWlGlycXfv8w9ZCElbxj#Ja7bkwmwg9EsBlW0d5u0BQAAAIAFr0FOyfn0OR1FiatvF624Aorcbl9oV/pc#JRghGfl8SxPihizz4bC7xAPCUkwd9ZHi+M2E6AjhIV69xjFKS0vYuQplvl8G#9R8YsnmP5B45TyLE3dW5V2/g+LQERQdFpRaSsPqEPHSlXPq4XHLGLRFItEBt#ohp41Qm+eA6efsAMIQAAAEEA4Y90xi8N1SuwjRk53fqpP8dC+FPnU850XtC1#cKG0rBt6v9qD+BTxxfE6GEpYM+N0fLyECbgBjA2LQF6CG3G15QAAAEEAnz3v#3POrcsMK2LkSNjWzAhzUqOWyOaNlhcvgh+2Xfj2tHyOTpZ09gCm483v1rui9#63uYu4QQurpATrHMcLIjoQ==#====#
onie_initargs=setenv bootargs quiet console=$consoledev,$baudrate
onie_machine=accton_as4610_54
onie_machine_rev=0
onie_platform=arm-accton_as4610_54-r0
onie_platformargs=setenv bootargs $bootargs serial_num=${serial#} ${platformargs} eth_addr=$ethaddr $onie_bootargs $onie_debugargs 
onie_recovery=nand read ${loadaddr} onie2 ; nand erase.part onie ; nand write ${loadaddr} onie
onie_rescue=setenv onie_boot_reason rescue && boot
onie_start=onie
onie_sz.b=0x00c00000
onie_uninstall=setenv onie_boot_reason uninstall && boot
onie_update=setenv onie_boot_reason update && boot
onie_vendor_id=27658
onie_version=master-201603091701-dirty
PicOS_bootcmd=usb start;run platformargs;setenv bootargs root=/dev/sda1 rw noinitrd console=$consoledev,$baudrate rootdelay=10 $mtdparts;ext2load usb 0:1 $loadaddr boot/uImage;bootm $loadaddr
platform=accton_as4610_54
platformargs=mtdparts=nand_iproc.0:1m(uboot),2m(shmoo),1m(nenv),12m(onie),3992m(open),12m(onie2),2m(vpd),6m(sys_eeprom),16m(diags),16m(diags2),32m(diags_fs)  maxcpus=2 mem=1024M
ramdiskaddr=0x3000000
serial#=A626P1DL174300014
serverip=192.168.0.10
stderr=serial
stdin=serial
stdout=serial
ubifscfg=ubi part nand0,4 0x0; ubifsmount fs
ver=U-Boot 2012.10-gcbef171 (Mar 09 2016 - 17:01:14) - ONIE master-201603091701-dirty

Environment size: 3992/65532 bytes

          c) Input command run onie_bootcmd, which will automatically install PICOS on the switch.

LOADER -> run onie_bootcmd
Loading Open Network Install Environment ...
Platform: arm-accton_as4610_54-r0
Version : 2021.09.00.03
WARNING: adjusting available memory to 30000000
## Booting kernel from Legacy Image at 02000000 ...
Image Name: as4610_54x.1.6.1.3
Image Type: ARM Linux Multi-File Image (gzip compressed)
Data Size: 3514311 Bytes = 3.4 MiB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 2762367 Bytes = 2.6 MiB
Image 1: 733576 Bytes = 716.4 KiB
Image 2: 18351 Bytes = 17.9 KiB
Verifying Checksum ... OK
## Loading init Ramdisk from multi component Legacy Image at 02000000 ...
## Flattened Device Tree from multi component Image at 02000000
Booting using the fdt at 0x02355858
Uncompressing Multi-File Image ... OK
Loading Ramdisk to 2ff4c000, end 2ffff188 ... OK
Loading Device Tree to 03ff8000, end 03fff7ae ... OK
Cannot reserve gpages without hugetlb enabled
setup_arch: bootmem
as4610_54x_setup_arch()
arch: exit

pci 0000:00:00.0: ignoring class b20 (doesn't match header type 01)
sd 0:0:0:0: [sda] No Caching mode page present
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] No Caching mode page present
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] No Caching mode page present
sd 0:0:0:0: [sda] Assuming drive cache: write through
ONIE: Using DHCPv4 addr: eth0: 192.168.2.77 / 255.255.255.0
discover: installer mode detected. Running installer.
Please press Enter to activate this console. ONIE: Using DHCPv4 addr: eth0: 192.168.2.77 / 255.255.255.0
ONIE: Starting ONIE Service Discovery
ONIE: Executing installer: http://192.168.2.42/onie-installer-picos-4.0.0-8b1219e112-x86.bin
Verifying image checksum ... OK.
Preparing image archive ... OK.
PicOS installation
..............................................
./var/local/
./var/run
Setup PicOS environment ...
..............................................
XorPlus login: admin
Password: 
You are required to change your password immediately (root enforced)
Changing password for admin.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password:
admin@XorPlus$
    •   x86 Platform

                On x86 platform, it uses GRUB menu to choose install OS via ONIE.                

 a)  Reboot the system, and enter ONIE installation environment from the GRUB menu:

 +----------------------------------------------------------------------------+
 | PicOS                                                                      | 
 |*ONIE                                                                       |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            | 
 +----------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.          
      Press enter to boot the selected OS, `e' to edit the commands       
      before booting or `c' for a command-line. 

 b)  From GRUB prompt, choose ONIE: Rescue to Install OS, boot ONIE in rescue mode.

                          GNU GRUB  version 2.02~beta2+e4a1fe391
 +----------------------------------------------------------------------------+
 |*ONIE: Install OS                                                           | 
 | ONIE: Rescue                                                               |
 | ONIE: Uninstall OS                                                         |
 | ONIE: Update ONIE                                                          |
 | ONIE: Embed ONIE                                                           |
 | DIAG: Accton Diagnostic                                                    |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            | 
 +----------------------------------------------------------------------------+ 

                  The installer runs and will reboot the system after installation is complete.

NOTE

  • After the system restarts, you need to enter the username and password, the initial login username is admin and password is pica8.
  • After the username and password are entered, user will be asked to choose a new password for admin. This is the only post installation step after which the PICOS operating system can be used.

Nos-boot-mode Installation

NOTE

  •   The installation method described in this section applies to installation through both the console port and the management port.
  •   The installation method described in this section only applies to platforms that have pre-installed ONIE.

The installation methods described in Traditional Installation must be performed through the console port. If you want to install the system through a non-console port, you can use the nos-boot-mode command to perform the installation which is described in this section.

Usage of nos-boot-mode command:

admin@Xorplus$sudo nos-boot-mode                            

USAGE

    install or uninstall NOS(es)

SYNOPSIS

    nos-boot-mode [install|uninstall]

DESCRIPTION

    install- Install NOS

uninstall- Remove all NOS(es) including PICOS

When nos-boot-mode install command is executed, PICOS will switch to ONIE install mode, and the user should go on to complete the subsequent installation. The steps for the manual installation process and the automatic installation process using the nos-boot-mode install command are described below.

When nos-boot-mode unsinstall command is executed, the system will remove all NOS(es) including PICOS from the device. Therefore, it is suggested to use the nos-boot-mode unsinstall command with caution.

Manual Installation Process

Step1         Make sure that the installation package of .bin file has been loaded to the server (server could be HTTP, TFTP, or an FTP server or the switch local directory depending on the actual installation environment).

Step2         Execute the nos-boot-mode install command to enter ONIE installation environment.

admin@Xorplus:~$ sudo nos-boot-mode install

Step3         Type “yes” when the below prompt is shown, which will take the system will to ONIE install mode.

Type 'yes' to install NOS!
Type 'no' to exit
[no]/yes:

Step4         Run onie-nos-install command as follows to manually install PICOS.

    • Install via TFTP
ONIE# onie-nos-install tftp://<path to image>/PICOS.bin
    •   Install via FTP

                When installing via FTP, you need to type in the username and password for the FTP server on which the image file is loaded.

ONIE# onie-nos-install ftp://username:password@<path to image>/PICOS.bin
    • Install via HTTP
ONIE# onie-nos-install http://<path to image>/PICOS.bin
    •   Install from Local Directory

    a)   In ONIE rescue mode, copy the image file to the current directory.

ONIE# scp username@<path to image>/PICOS.bin .

    b)   Run onie-nos-install command to start installation.

ONIE# onie-nos-install PICOS.bin

For example,

ONIE:/ # onie-nos-install onie-installer-picos-4.0.0-8b1219e112-x86.bin
discover: Rescue mode detected. No discover stopped.
ONIE: Executing installer: onie-installer-picos-4.0.0-8b1219e112-x86.bin
Verifying image checksum ... OK.
Preparing image archive ... OK.
  [1]  PICOS L2/L3 (default)
  [2]  PICOS Open vSwitch/OpenFlow
Enter your choice (1,2):1
PICOS L2/L3 is selected.
ONIE installation will overwrite the configuration file of existing system.
It is recommended to follow the upgrade procedure to upgrade the system.
Press any key to stop the installation...
10 9 8 7 6 5 4 3 2 1 ...

The installer runs automatically, before start installation, it will prompt to choose the option to make PICOS to boot into L2/L3 or OVS mode.  If not selected, then PICOS boots into L2/L3.

After finishing installation, the device reboots automatically, the system then comes up running the new network operating system.

NOTE

  •   After the system restarts, you need to enter the username and password, the initial login username is admin and password is pica8.
  •   After the username and password are entered, user will be asked to choose a new password for admin. This is the only post installation step after which the PICOS operating system can be used.

Automated Installation Process

The automatic installation process uses the DHCP message exchange process to download and install software packages.

Step1         Make sure the switch is connected to DHCP and HTTP servers, and the PICOS installation software package is downloaded to the HTTP server.

                  a)  DHCP server configuration: define the path of the installation package and then start DHCP server service:

host pica8-3922 {
hardware ethernet 70:72:cf:12:34:56;
fixed-address 192.168.2.50;
option default-url = "http://192.168.2.42/onie-installer-picos-4.0.0-8b1219e112-x86.bin";
}

              b)  Check if the .bin installation file is loaded onto the HTTP server:

root@dev:/var/www# ls
index.html onie-installer-powerpc.bin

Step2         Execute the nos-boot-mode install command to enter ONIE installation environment.

admin@Xorplus$ sudo nos-boot-mode install

Step3         Type “yes” when the below prompt is shown, and the system will automatically complete the installation.

Type 'yes' to install NOS!
Type 'no' to exit
[no]/yes:

              The installer runs automatically and will reboot the system after installation is completed.

NOTE

  •   After the system restarts, you need to enter the username and password, the initial login username is admin and password is pica8.
  •   After the username and password are entered, user will be asked to choose a new password for admin. This is the only post installation step after which the PICOS operating system can be used.


Verifying Version after Installation

After system reboots automatically, the system will come up running the new network operating system.

admin@Xorplus> show version
Copyright (C) 2009-2022 Pica8, Inc.
===================================
Hardware Model                : as7312_54x
Linux System Version/Revision    : 4.0.0/8b1219e112
Linux System Released Date       : 5/18/2021
L2/L3 Version/Revision           : 4.0.0/8b1219e112
L2/L3 Released Date             : 5/18/2021
OVS/OF Version/Revision         : 4.0.0/8b1219e112
OVS/OF Released Date           : 5/18/2021

Appendix: Troubleshooting Installation/Upgrade Failure on AS7326-56X

Installation or upgrade failure (for example, the switches cannot boot up after install) may occur on the old AS7326-56X hardware models (revision is R01F and before). When booting PICOS on AS7326-56X and detect hardware rev R01F, the system will log a warning message to prompt the hardware revision R01F is a pre-production hardware reversion: "This hardware revision R01F is a pre-production hardware rev, PICOS has applied a work around to work with PICOS. Support will be provided on a best effort basis". 

To work around the issue, first we need to check the “Label Revision”. If it is an old hardware model (revision is R01F or before), then, we can perform the following provided solution after installation/upgrade to solve the problem.

Check Label Revision

Under ONIE prompt, run “onie_syseeprom” to get the “Label Revision”.

ONIE:/ # onie-syseeprom
TlvInfo Header:
   Id String:    TlvInfo
   Version:      1
   Total Length: 166
TLV Name             Code Len Value
-------------------- ---- --- -----
Manufacture Date     0x25  19 04/27/2019 02:10:06
Label Revision       0x27   4 R01B
Platform Name        0x28  27 x86_64-accton_as7326_56x-r0
ONIE Version         0x29  13 2018.05.00.05
Manufacturer         0x2B   6 Accton
Diag Version         0x2E   7 0.0.1.0
Base MAC Address     0x24   6 80:A2:35:81:D5:F0
Serial Number        0x23  14 732656X1916012
Country Code         0x2C   2 TW
Part Number          0x22  13 FP4ZZ7656005A
Product Name         0x21  15 7326-56X-O-AC-F
MAC Addresses        0x2A   2 256
Vendor Name          0x2D   6 Accton
CRC-32               0xFE   4 0xC3D3F2DE
Checksum is valid.
ONIE:/ #

Solution

You can follow the steps below after installation/upgrade, to fix the problem of installation and upgrade failure on the old AS7326-56X hardware model (revision R01F or before).

Step1         Power cycle the switch.

Step2         From the GRUB menu, choose “ONIE” to enter ONIE GRUB menu:

 +----------------------------------------------------------------------------+
 | PicOS                                                                      | 
 |*ONIE                                                                       |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            | 
 +----------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.          
      Press enter to boot the selected OS, `e' to edit the commands       
      before booting or `c' for a command-line. 

Step3         From ONIE GRUB menu, choose “ONIE: Rescue” to launch ONIE in Rescue mode.

                          GNU GRUB  version 2.02~beta2+e4a1fe391
 +----------------------------------------------------------------------------+
 | ONIE: Install OS                                                           | 
 |*ONIE: Rescue                                                               |
 | ONIE: Uninstall OS                                                         |
 | ONIE: Update ONIE                                                          |
 | ONIE: Embed ONIE                                                           |
 | DIAG: Accton Diagnostic                                                    |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            | 
 +----------------------------------------------------------------------------+ 

Step4         Press Enter to display the ONIE prompt.

Step5         Mount PicOS partition with label is “PicOS”.

ONIE:/ # blkid 
/dev/sda7: LABEL="User-Data" UUID="be63cef8-4560-4c48-ab5a-8f7ced5a950b"
/dev/sda6: LABEL="PicOS2" UUID="f589e53f-4cd1-44ba-8384-f339f4e2b2ac"
/dev/sda5: LABEL="PicOS" UUID="8ca5f7ed-5a15-4a2a-944c-4d8872647bf5"
/dev/sda4: LABEL="PICOS-GRUB" UUID="782a1372-4b66-4783-b920-dab1df8ec6e4"
/dev/sda3: LABEL="ACCTON-DIAG" UUID="3e4117d0-1926-472a-9d9e-08883df83d40"
/dev/sda2: LABEL="ONIE-BOOT" UUID="1a90abd8-f065-4f7a-90a0-af122b8805fa"
ONIE:/ # 
ONIE:/ # mount /dev/sda5 /mnt

Step6         Execute the following command to modify the I2C access address.

ONIE:/ # sed -I "s/0x57/0x56/" /mnt/etc/rc_hw.sh
ONIE:/ # sync

Step7         Unmount the PicOS partition.

ONIE:/ # unmount /dev/sda5

Step8         Reboot the switch.

ONIE:/ # reboot


Copyright © 2024 Pica8 Inc. All Rights Reserved.