Skip to content

Commit

Permalink
Includes DENT Installation Guide
Browse files Browse the repository at this point in the history
This commit includes the documentation for the DENT installation guide using an ONIE compatible installer
  • Loading branch information
KorelU committed Feb 9, 2024
1 parent f0e6b37 commit 5911f80
Show file tree
Hide file tree
Showing 7 changed files with 442 additions and 27 deletions.
6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

302 changes: 302 additions & 0 deletions .idea/workspace.xml

Large diffs are not rendered by default.

101 changes: 101 additions & 0 deletions Installation/DENT Installation/DENTInstallation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: DENT Installation
parent: Installation
nav_order: 1
layout: default
---

# DENT Installation

## Overview
This section will describe the process of installing DENT on a device.

The DENT NOS build system uses an ONIE-compatible installer.
This section will describe installing the dentOS using a USB drive and connecting
to the device using a serial console.

There are several alternative methods for installing with an ONIE
system using various networking configurations which can also be found here.

Steps:

1. Download or manually compile the installer image and place it on the USB drive
under the name ``onie-installer``
(we assume that the working directory is the top directory in the local copy of the repository):

```
~ $ sudo mount /dev/sda /mnt/usb
~ $ sudo cp RELEASE/stretch/arm64/DENTOS-main_ONL-OS9_2021-10-26.1332-240e9a7_ARM64_INSTALLED_INSTALLER /mnt/usb/onie-installer
~ $ sudo umount /mnt/usb
```

Enter the ONIE environment Power on the device and upon seeing the prompt,
press ``123<ENTER>`` to stop autoboot and enter
the U-Boot environment. The output should be as follows:

```
U-Boot 2018.03-devel-1.2.0 (Jul 17 2020 - 13:58:51 +0800) TN48M/TN48M-P/TN4810M/TN48M2 V05
Model: Marvell Armada 7040 TN48M/TN48M-P/TN4810M/TN48M2
SoC: Armada7040-B0; AP806-B0; CP115-A0
Clock: CPU 1400 [MHz]
DDR 800 [MHz]
FABRIC 800 [MHz]
MSS 200 [MHz]
LLC Enabled (Exclusive Mode)
DRAM: 8 GiB
Comphy chip #0:
Comphy-0: PEX0 5 Gbps
Comphy-1: SATA0 6 Gbps
Comphy-2: SGMII0 3.125 Gbps
Comphy-3: SGMII1 1.25 Gbps
Comphy-4: UNCONNECTED
Comphy-5: SGMII2 1.25 Gbps
UTMI PHY 0 initialized to USB Host0
PCIE-0: Link up (Gen2-x1, Bus0)
NAND: 0 MiB
MMC:
Loading Environment from SPI Flash... Bus spi@700600 CS0 address is not set correct.
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
OK
EEPROM: TlvInfo v1 len=127
Model: Marvell Armada 7040 TN48M/TN48M-P/TN4810M/TN48M2
Net: eth0: mvpp2-0, eth1: mvpp2-1, eth2: mvpp2-2 [PRIME]
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Type 123<ENTER> to STOP autoboot
```

If the device is currently running a non-ONIE OS operating system, we need to trigger
ONIE environment from U-boot. U-Boot has a set of pre-defined environment variables,
out of which the mostimportat one is ``bootcmd`` which is executed during every boot.
ONIE defines several variables, and more details about that can be found here.
We can trigger ONIE from U-Boot by seting the ``onie_boot_reason`` environment variable to
``install`` and run bootcmd afterward.

```
Marvell>> setenv onie_boot_reason install
Marvell>> run bootcmd
Loading Open Network Install Environment ...
Platform: arm64-delta_tn48m-r0
Version : 2019.08
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x400000, size 0xc00000
```

The system should now boot into ONIE with Installer Mode Enabled. Expected console output is as follows:

```
** Installer Mode Enabled **
ONIE:/ #
ONIE:/ # down.
```

3. Plug in the USB into the device USB port and mount it

``ONIE:/ # mount /dev/sdb1 /mnt/usb/``

The system should automatically locate the ``onie-installer`` file on the drive and execute it. After the installer
is executed, the device should boot into the dentOS environment. The default password for the ``root`` user is ``onl``.

In case there is no pre-installed operating system on the device, powering up the switch will automaticallz boot
into the ONIE install environment. ONIE will scan the USB drive for the installer file and install DentOS from it.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Using your local machine
title: GNS3 on a local machine
parent: Installation
nav_order: 1
nav_order: 2
layout: default
---

Expand All @@ -23,35 +23,35 @@ layout: default

### 3. Import Appliance to GNS3

![ImageTwoOfLocalUsage](../Images/ImagesForGNS3/ImageTwoOfLocalUsage.png)
![ImageTwoOfLocalUsage](../../Images/ImagesForGNS3/ImageTwoOfLocalUsage.png)

&nbsp;&nbsp;&nbsp; a. Open GNS3 and go to `File -> Import Appliance`. <br>
&nbsp;&nbsp;&nbsp; b. Select the GNS3 appliance file _(gns3a file)_ you downloaded from the OneDrive link. <br>
&nbsp;&nbsp;&nbsp; c. Choose the server on which to run the appliance.

![ImageThreeOfLocalUsage](../Images/ImagesForGNS3/ImageThreeOfLocalUsage.png)
![ImageThreeOfLocalUsage](../../Images/ImagesForGNS3/ImageThreeOfLocalUsage.png)

### 4. Choose QEMU Binary

&nbsp;&nbsp;&nbsp; a. Choose the QEMU binary that will be used to run the DENT NOS appliance. <br>
&nbsp;&nbsp;&nbsp; b. The recommended option is `/bin/qemu-system-x86_64 (v8.0.4)`.

![ImageFourOfLocalUsage](../Images/ImagesForGNS3/ImageFourOfLocalUsage.png)
![ImageFourOfLocalUsage](../../Images/ImagesForGNS3/ImageFourOfLocalUsage.png)

### 5. Import DENT NOS Image

&nbsp;&nbsp;&nbsp; a. Click on the DENT NOS image file and import it. <br>
&nbsp;&nbsp;&nbsp; b. Wait for the upload to finish; this may take some time.

![ImageFiveOfLocaLUsage](../Images/ImagesForGNS3/ImageFiveOfLocalUsage.png)
![ImageFiveOfLocaLUsage](../../Images/ImagesForGNS3/ImageFiveOfLocalUsage.png)

### 6. Confirm Installation

&nbsp;&nbsp;&nbsp; a. You will be prompted with an installation confirmation. <br>
![ImageSixOfLocaLUsage](../Images/ImagesForGNS3/ImageSixOfLocalUsage.png) <br>
![ImageSixOfLocaLUsage](../../Images/ImagesForGNS3/ImageSixOfLocalUsage.png) <br>
&nbsp;&nbsp;&nbsp; b. Click “Yes” to confirm the installation. <br>

![ImageTenOfLocaLUsage](../Images/ImagesForGNS3/ImageTenOfLocalUsage.png)
![ImageTenOfLocaLUsage](../../Images/ImagesForGNS3/ImageTenOfLocalUsage.png)

&nbsp;&nbsp;&nbsp; **Congratulations!** <br>
&nbsp;&nbsp;&nbsp; You have successfully installed DENT NOS on GNS3.
Expand All @@ -62,14 +62,14 @@ layout: default
&nbsp;&nbsp;&nbsp; b. Create your network topology, adding DENT NOS appliances as needed. <br>
&nbsp;&nbsp;&nbsp; c. Right-click on each appliance and select “Start” to initiate the simulation.

![ImageSevenOfLocaLUsage](../Images/ImagesForGNS3/ImageSevenOfLocalUsage.png)
![ImageSevenOfLocaLUsage](../../Images/ImagesForGNS3/ImageSevenOfLocalUsage.png)

### Default Credentials

&nbsp;&nbsp;&nbsp; DENT login: root <br>
&nbsp;&nbsp;&nbsp; Password: onl <br>

![ImageEightOfLocaLUsage](../Images/ImagesForGNS3/ImageEightOfLocalUsage.png)
![ImageEightOfLocaLUsage](../../Images/ImagesForGNS3/ImageEightOfLocalUsage.png)

<div style="border-top: 1px solid black;"></div>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Using a remote server
title: GNS3 on a remote server
parent: Installation
nav_order: 3
nav_order: 4
layout: default
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Using a virtual machine
title: GNS3 on a virtual machine
parent: Installation
nav_order: 2
nav_order: 3
layout: default
---

Expand All @@ -11,68 +11,68 @@ First, install the DENT GNS3 appliance file as well as the disk
image for the dent Virtual Machine. You can find the required files
here:\*\* [DENT Image and gns3a file](https://1drv.ms/f/s!AkTUp6FU_dW0gt4dlXatZOhyr8boog?e=Ltqpa5.)

![ImageOneOfVmUsage.png](../Images/ImagesForGNS3/ImageOneOfVmUsage.png)
![ImageOneOfVmUsage.png](../../Images/ImagesForGNS3/ImageOneOfVmUsage.png)

Install the appropirate GNS3 VM for your machine

![ImageTwoOfVmUsage.png](../Images/ImagesForGNS3/ImageTwoOfVmUsage.png)
![ImageTwoOfVmUsage.png](../../Images/ImagesForGNS3/ImageTwoOfVmUsage.png)

If you are using VMware Workstation Pro, install the VMWare
Workstation and Fusion GNS3 VM and extract the .zip folder you
downloaded.

![ImageThreeOfVmUsage.png](../Images/ImagesForGNS3/ImageThreeOfVmUsage.png)
![ImageThreeOfVmUsage.png](../../Images/ImagesForGNS3/ImageThreeOfVmUsage.png)

Open VMWare Workstation then click Open a Virtual Machine and
select the extracted GNS3 VMWare Workstation folder.

![ImageFourOfVmUsage.png](../Images/ImagesForGNS3/ImageFourOfVmUsage.png)
![ImageFourOfVmUsage.png](../../Images/ImagesForGNS3/ImageFourOfVmUsage.png)

When ready, run the Virtual Machine. You should see a screen
similar to this below once the Virtual machine is running.

![ImageFiveOfVmUsage.png](../Images/ImagesForGNS3/ImageFiveOfVmUsage.png)
![ImageFiveOfVmUsage.png](../../Images/ImagesForGNS3/ImageFiveOfVmUsage.png)

Now Open GNS3, go to Edit -> Preferences -> GNS3 VM and check
the “Enable the (GNS3) VM” box. Select the appropriate Virtual
Machine you are running GNS3 on as your Virtualization Engine
and click ok

![ImageSixOfVmUsage.png](../Images/ImagesForGNS3/ImageSixOfVmUsage.png)
![ImageSixOfVmUsage.png](../../Images/ImagesForGNS3/ImageSixOfVmUsage.png)

You Should now See an Additional Server Listed under Server Summary

![ImageSevenOfVmUsage.png](../Images/ImagesForGNS3/ImageSevenOfVmUsage.png)
![ImageSevenOfVmUsage.png](../../Images/ImagesForGNS3/ImageSevenOfVmUsage.png)

Go to File -> Import Appliance and select the appliance file.
In this scenario we will select one of the previously downloaded
files “DENT - 3.2”.

![ImageEightOfVmUsage.png](../Images/ImagesForGNS3/ImageEightOfVmUsage.png)
![ImageEightOfVmUsage.png](../../Images/ImagesForGNS3/ImageEightOfVmUsage.png)

The QEMU binary that will be used to run this appliance is
recommended as /bin/qemu-system-x86_64(v4.2.1).

![ImageNineOfVmUsage.png](../Images/ImagesForGNS3/ImageNineOfVmUsage.png)
![ImageNineOfVmUsage.png](../../Images/ImagesForGNS3/ImageNineOfVmUsage.png)

Next, we need to import the DENT image file by selecting again
one of the previously downloaded files “dent-vm.qcow2” and clicking
import.

**Wait for the upload to finish, it may take some time.**

![ImageTenOfVmUsage.png](../Images/ImagesForGNS3/ImageTenOfVmUsage.png)
![ImageTenOfVmUsage.png](../../Images/ImagesForGNS3/ImageTenOfVmUsage.png)

Once the upload is finished, you may click next and yes to
install DENT

![ImageElevenOfVmUsage.png](../Images/ImagesForGNS3/ImageElevenOfVmUsage.png)
![ImageElevenOfVmUsage.png](../../Images/ImagesForGNS3/ImageElevenOfVmUsage.png)

Once Installed you may now use the DENT appliance in GNS3.
The example below demonstrate 3 dent appliances connecting to
each other

![ImageTwelveOfVmUsage.png](../Images/ImagesForGNS3/ImageTwelveOfVmUsage.png)
![ImageTwelveOfVmUsage.png](../../Images/ImagesForGNS3/ImageTwelveOfVmUsage.png)

After Starting the simulation you may right-click on any DENT
appliance and select _console_ to log-in.
Expand All @@ -82,7 +82,7 @@ appliance and select _console_ to log-in.
- **Localhost login: root**
- **Password: onl**

![ImageThirteenOfVmUsage.png](../Images/ImagesForGNS3/ImageThirteenOfVmUsage.png)
![ImageThirteenOfVmUsage.png](../../Images/ImagesForGNS3/ImageThirteenOfVmUsage.png)

### You have now successfully set up DENT in GNS3 with a virtual machine

Expand Down

0 comments on commit 5911f80

Please sign in to comment.