Skip to content

Commit f88dffe

Browse files
ashishb-juniperAshish Kumar Bhensdadia
and
Ashish Kumar Bhensdadia
authored
[platform]: Added QFX5210 readme for build and install (#4211)
Signed-off-by: Ciju Rajan K <[email protected]> Signed-off-by: Ashish Bhensdadia <[email protected]> Co-authored-by: Ashish Kumar Bhensdadia <[email protected]>
1 parent e05cd11 commit f88dffe

File tree

1 file changed

+276
-1
lines changed
  • platform/broadcom/sonic-platform-modules-juniper

1 file changed

+276
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -1 +1,276 @@
1-
platform drivers for Juniper QFX5210 for the SONiC project
1+
Juniper Networks Platform Support for SONiC Readme
2+
==================================================
3+
4+
This readme provides information on how to install and upgrade ONIE and SONiC images on the Juniper Networks QFX5210-64C-S switch.
5+
6+
Note: The QFX5210-64C-S switch ships with ONIE and SONiC images preinstalled.
7+
8+
## Purpose
9+
10+
This package contains kernel drivers, a python library, and a python script to provide platform support for Juniper Networks QFX5210-64C-S switch.
11+
12+
## Supported platforms
13+
14+
The following Juniper Networks platform is supported for the SONiC operating system:
15+
16+
- QFX5210-64C-S
17+
18+
19+
## Installing ONIE on QFX5210-64C-S Switch
20+
21+
The following information describes how to install ONIE on the Juniper Networks QFX5210-64C-S switch.
22+
23+
To install ONIE on Juniper Networks QFX5210-64C-S switch, you need to:
24+
25+
1. Cross compile ONIE
26+
27+
To compile ONIE, you need to change the directories to "build-config" and then type "make MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all".
28+
29+
For example:
30+
31+
```
32+
$ cd build-config
33+
$ make -j4 MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all
34+
```
35+
36+
ONIE binaries are located at the directory /build/images. The following command shows how to navigate the directory to view the ONIE binaries:
37+
38+
```
39+
stack@controller:~/ONIE_J/onie/build/images$ ls -rlt
40+
41+
total 40740
42+
43+
-rw-rw-r-- 1 stack stack 3710240 Aug 3 12:32 juniper_x86-r0.vmlinuz -- ONIE kernel image
44+
-rw-rw-r-- 1 stack stack 6038416 Aug 3 12:32 juniper_x86-r0.initrd -- ONIE initramfs (filesystem)
45+
-rw-rw-r-- 1 stack stack 9811831 Aug 3 12:32 onie-updater-x86_64-juniper_x86-r0 -- ONIE self-update image for installing ONIE.
46+
-rw-rw-r-- 1 stack stack 22151168 Aug 3 12:33 onie-recovery-x86_64-juniper_x86-r0.iso -- Recovery ISO image to create a bootable USB memory device for installing/recovery ONIE.
47+
-rw-rw-r-- 1 stack stack 31465984 Aug 3 12:33 onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe -- Recovery PXE image used for installing ONIE using PXE Network install.
48+
```
49+
50+
51+
Note: Use the following command to build a demo target:
52+
53+
```
54+
$ make -j4 MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all demo
55+
```
56+
57+
In addition to the above list of binary files, the following two binary files are also created:
58+
59+
```
60+
-rw-rw---- 1 build build 12576008 Aug 19 16:30 demo-installer-x86_64-juniper_qfx5210-r0.bin
61+
-rw-rw---- 1 build build 12576008 Aug 19 16:30 demo-diag-installer-x86_64-juniper_qfx5210-r0.bin
62+
```
63+
64+
You can install these binary files by using the 'onie-nos-install' command to test the install / boot workflow.
65+
66+
Use the following command for make clean:
67+
68+
```
69+
$ make machine-clean MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210
70+
```
71+
72+
73+
## Installing ONIE on a New QFX5210-64C-S Switch
74+
75+
The following information describes on how to install ONIE on the Juniper Networks QFX5210-64C-S switch. You can do a fresh install of ONIE image on the QFX5210-64C-S switch, or recover an existing ONIE image from the QFX5210-64C-S switch that has been corrupted.
76+
77+
To install ONIE on a new QFX5210-64C-S switch, you can use one of the following ONIE recovery images:
78+
79+
1) .<machine>.iso -- Hybrid ISO image.
80+
2) .<machine>.efi64.pxe -- PXE image for UEFI64 machines.
81+
82+
83+
## Creating an ISO Recovery Image
84+
85+
You can use the recovery ISO (.iso) image to create a bootable USB memory device.
86+
87+
To create a bootable USB memory device, use the "dd" command on a Linux workstation as follows:
88+
89+
```
90+
$ dd if=<machine>.iso of=/dev/sdX bs=10M
91+
```
92+
93+
For example:
94+
95+
```
96+
$ dd if=onie-recovery-x86_64-juniper_qfx5210-r0.iso of=/dev/sdb bs=10M
97+
```
98+
99+
You can find the correct "/dev/sdX" by validating the "dmesg" output after inserting an USB device into the Linux workstation.
100+
101+
102+
1) Booting from a USB Memory Device
103+
104+
To boot from an external USB memory device connected to the QFX5210-64C-S switch, you need to:
105+
106+
a. Insert the USB memory device to the USB port of the QFX5210-64C-S switch.
107+
108+
b. Power on the QFX5210-64C-S switch and enter the BIOS configuration by pressing the Esc key, as displayed in the console screen.
109+
110+
c. Set the hard drive boot order as follows:
111+
112+
When you see the "Boot Option #1" displayed on the console screen, select the USB memory device:
113+
114+
Boot-->Boot Option Priorities-->Boot Option #1
115+
116+
If the USB memory device name is not listed in "Boot Option #1", check the priorities in the hard drive boot order:
117+
118+
Boot-->Hard Drive BBS Priorities-->Boot Option #1
119+
120+
121+
For example, consider "JetFlashTranscend 8GB 8.07" as the USB memory device, the boot order will display as follows:
122+
123+
```
124+
Boot Option Priorities
125+
126+
Boot Option #1 [JetFlashTranscend 8...]
127+
128+
Boot Option #2 [ATP ATP IG eUSB 1100]
129+
130+
Boot Option #3 [IBA GE Slot 00A0 v1543]
131+
132+
Boot Option #4 [UEFI: Built-in EFI ...]
133+
```
134+
135+
d. Go to "Save & Exit" in the BIOS screen and from the Boot Override option select the USB memory device (For example, JetFlashTranscend 8GB 8.07).
136+
137+
e. After a few seconds, the QFX5210-64C-S switch would restart and boot from the USB memory device and then you will see the following on the console screen:
138+
139+
```
140+
GNU GRUB version 2.02~beta2+e4a1fe391
141+
142+
+----------------------------------------------------------------------------+
143+
|*ONIE: Rescue |
144+
| ONIE: Embed ONIE |
145+
| |
146+
| |
147+
| |
148+
| |
149+
| |
150+
| |
151+
| |
152+
| |
153+
| |
154+
| |
155+
+----------------------------------------------------------------------------+
156+
157+
Use the ^ and v keys to select which entry is highlighted.
158+
Press enter to boot the selected OS, `e' to edit the commands before booting or `c' for a command-line.
159+
```
160+
161+
f. Select "ONIE: Embed ONIE" to create a fresh partition to install ONIE automatically.
162+
163+
Warning: All the data on the hard disk drive will be erased.
164+
165+
g. Select "ONIE: Rescue" to enter the ONIE recovery command-line shell (Optional).
166+
167+
168+
169+
2) Recovering ONIE using PXE-UEFI64 Recovery Image
170+
171+
You can use the onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe image to recover the ONIE image through UEFI PXE.
172+
173+
The onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe is made for the QFX5210-64C-S switch that has a PXE client which is based on UEFI64.
174+
The onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe is a combination of grub-efi-64 and the .iso recovery image, that looks like an UEFI application. The UEFI PXE client on the QFX5210-64C-S can then boot it.
175+
176+
For more information on UEFI PXE Netboot, see https://wiki.ubuntu.com/UEFI/PXE-netboot-install.
177+
178+
Note: To install the PXE-UEFI64 recovery image over the network, you need to configure your DHCP server so that DHCP clients receives the onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe image as the bootfile.
179+
180+
To enable IPv4 PXE boot on the QFX5210-64C-S switch:
181+
182+
1) Enter the BIOS configuration.
183+
2) Click "Save & Exit" menu on the "Boot Override" option.
184+
3) Select "UEFI: IP4 Broadcom NetXtreme Gigabit Ethernet"
185+
186+
## Related Documentation for ONIE:
187+
188+
The following links provide more information about ONIE:
189+
190+
1. ONIE documentation: https://opencomputeproject.github.io/onie/.
191+
2. How to build and install ONIE on QFX5210-64C-S switch, see https://github.com/opencomputeproject/onie/blob/master/machine/juniper/juniper_qfx5210/INSTALL.
192+
193+
## SONiC Build Process:
194+
195+
The instruction on how to build an ONIE compatible network operating system (NOS) installer image for Juniper Networks QFX5210-64C-S switch, and how to build docker images running inside the NOS is available at https://github.com/Azure/sonic-buildimage#usage.
196+
197+
198+
## Install SONiC on the Juniper Networks QFX5210-64C-S switch:
199+
200+
You need to copy the SONiC image sonic-broadcom.bin to the Juniper Networks QFX5210-64C-S switch. You can copy the sonic-broadcom.bin to an USB memory device and insert it to the USB port of the QFX5210-64C-S switch. You can also use the 'scp' command to copy the sonic-broadcom.bin image to the QFX5210-64C-S switch over the network.
201+
202+
Note: Unmount the USB memory device after copying the sonic-broadcom.bin. For example, umount /dev/sdX, where X is the name of the drive of the USB memory device.
203+
204+
Run the following command to install SONIC:
205+
206+
```
207+
For example,
208+
ONIE:/var/tmp # onie-nos-install /var/tmp/sonic-broadcom.bin
209+
```
210+
211+
## Booting SONiC
212+
213+
The QFX5210-64C-S switch restarts automatically after the SONiC image has been successfully installed.
214+
215+
1) Select SONiC from the GRUB boot manager.
216+
217+
```
218+
GNU GRUB version 2.02
219+
220+
+----------------------------------------------------------------------------+
221+
|*SONiC-OS-master.0-dirty-20190913.060138 |
222+
| ONIE |
223+
| |
224+
| |
225+
| |
226+
| |
227+
| |
228+
| |
229+
| |
230+
| |
231+
| |
232+
| |
233+
+----------------------------------------------------------------------------+
234+
235+
Use the ^ and v keys to select which entry is highlighted.
236+
Press enter to boot the selected OS, `e' to edit the commands
237+
before booting or `c' for a command-line.
238+
```
239+
240+
2. At the SONiC login prompt, enter the username as admin and password as YourPaSsWoRd.
241+
242+
You can now start configuring the Juniper Networks QFX5210-64C-S switch running SONiC as its operating system.
243+
244+
245+
## Upgrading SONiC image
246+
247+
To upgrade the SONiC operating system to a latest version, you need to:
248+
249+
1. Copy the latest image of the SONiC image to the QFX5210-64C-S switch.
250+
2. Run the following command from the directory where the latest SONiC image has been copied.
251+
252+
```
253+
$ sudo ./sonic-braodcom.bin
254+
```
255+
256+
257+
## Uninstalling SONiC image
258+
259+
To unintall SONiC operating system from QFX5210-64C-S switch, you need to:
260+
261+
1. Reboot the QFX5210-64C-S switch.
262+
2. Go to the ONIE GRUB menu and then select ONIE: Uninstall OS option to uninstall SONiC.
263+
264+
For more details on drivers and platform scripts see https://github.com/Azure/sonic-buildimage/blob/master/platform/broadcom/sonic-platform-modules-juniper/qfx5210/utils/README
265+
266+
## Related Documentation for SONiC:
267+
268+
The following links provide more information about SONiC:
269+
1. SONiC documentation: https://github.com/azure/sonic/wiki.
270+
2. Learn about QFX5210-64C-S SONiC platform: https://github.com/Azure/sonic-buildimage/blob/master/platform/broadcom/sonic-platform-modules-juniper/qfx5210/utils/README
271+
272+
## Viewing the Device Revision of the FRU Model from IDEEPROM
273+
274+
You can view the device revisions of the FRU model from IDEEPROM by using the show platform syseeprom CLI command.
275+
276+
Note: The Device version shown is the HEX ASCII equivalent of the FRU model. For example, if the device version shows 41, then the HEX ASCII equivalent is character A.

0 commit comments

Comments
 (0)