Skip to content

Latest commit

 

History

History
177 lines (144 loc) · 7.65 KB

GettingStarted.md

File metadata and controls

177 lines (144 loc) · 7.65 KB

Getting Started

To install and run ONL you need is an ONL Compatible switch (see http://opennetlinux.org/hcl) and the ONL installer binary. Every ONL compatible switch ships with the ONIE installer environment installed which gives you a multitude of ways of getting ONL installed on your switch.

We document the easiest ways here (manual install via console and NFS) but the http://onie.org website contains a variety of installation methods including via USB, over the network, and even via ssh.

The resulting installation has a default account ("root") with a default password ("onl"). The network interface is disabled by default so that you can change the root password before the system comes up.

ONL Manual Install

  1. Attach a serial terminal to the switch
  2. Boot switch and hit return to go to ONIE''s interactive mode 2a) You must wait until after uboot has finished loading; if you accidentally interupt uboot first, just run boot to continue booting into ONIE
  3. Download the ONL installer from http://opennetlinux.org and run it by hand

Expected Serial Console Output (from an QuantaMesh LB9, other switches ouput will vary):

    U-Boot 2010.12 (Oct 08 2013 - 17:11:37)

    CPU:   8541, Version: 1.1, (0x80720011)
    Core:  Unknown, Version: 2.0, (0x80200020)
    Clock Configuration:
           CPU0:825  MHz, 
           CCB:330  MHz,
           DDR:165  MHz (330 MT/s data rate), LBC:41.250 MHz
    CPM:   330 MHz
    L1:    D-cache 32 kB enabled
           I-cache 32 kB enabled
    I2C:   ready
    DRAM:  Detected UDIMM TS128MSD64V3A
    Detected UDIMM(s)
    DDR: 1 GiB (DDR1, 64-bit, CL=2.5, ECC off)
    FLASH: 64 MiB
    L2:    256 KB enabled

    LB9 U-Boot
      Product Name          : LB9
      Model Name            : QUANTA LB9
      Serial Number         : QTFCA63280001
      Part Number           : 1LB9BZZ0STQ
      Label Revision Number : 1
      Hardware Version      : 1.0
      Platform Version      : 0xb901 
      Release Date          : 2013/7/5
      MAC Address           : 08:9e:01:ce:bd:2d
    Set ethaddr MAC address = 08:9e:01:ce:bd:2d
    In:    serial
    Out:   serial
    Err:   serial
    Net:   TSEC0: PHY is Broadcom BCM5461S (2060c1)
    TSEC0
    IDE:   Bus 0: OK 
      Device 0: Model: 4GB CompactFlash Card Firm: Ver6.04J Ser#: CDE207331D0100001484
                Type: Hard Disk
                Capacity: 3811.9 MB = 3.7 GB (7806960 x 512)
    Hit any key to stop autoboot:  0 
    ## Error: "nos_bootcmd" not defined
    Loading Open Network Install Environment ...
    Platform: powerpc-quanta_lb9-r0
    Version : 1.5.2-20131008154633
    WARNING: adjusting available memory to 30000000
    ## Booting kernel from Legacy Image at 04000000 ...
       Image Name:   quanta_lb9-r0
       Image Type:   PowerPC Linux Multi-File Image (gzip compressed)
       Data Size:    3479390 Bytes = 3.3 MiB
       Load Address: 00000000
       Entry Point:  00000000
       Contents:
          Image 0: 2762740 Bytes = 2.6 MiB
          Image 1: 707380 Bytes = 690.8 KiB
          Image 2: 9254 Bytes = 9 KiB
       Verifying Checksum ... OK
    ## Loading init Ramdisk from multi component Legacy Image at 04000000 ...
    ## Flattened Device Tree from multi component Image at 04000000
       Booting using the fdt at 0x434f378
       Uncompressing Multi-File Image ... OK
       Loading Ramdisk to 2ff53000, end 2ffffb34 ... OK
       Loading Device Tree to 03ffa000, end 03fff425 ... OK
    Cannot reserve gpages without hugetlb enabled
    setup_arch: bootmem
    quanta_lb9_setup_arch()
    arch: exit
                 
    ONIE: Using DHCPv4 addr: eth0: 10.7.1.10 / 255.254.0.0
    discover: installer mode detected.  Running installer.

    Please press Enter to activate this console. ONIE: Using DHCPv4 addr: eth0: 10.7.1.10 / 255.254.0.0
    ONIE: Starting ONIE Service Discovery

    To check the install status inspect /var/log/onie.log.
    Try this:  tail -f /var/log/onie.log

Now press RETURN here to jump into ONIE''s manual installer mode. You should see:

    ** Installer Mode Enabled **

    ONIE:/ # 

Then simply download the latest ONL installer from the website and run it.

    ONIE:/ # wget http://opennetlinux.org/binaries/latest.installer
    Connecting to opennetlinux.org (107.170.237.53:80)
    latest.installer     100% |*******************************|   164M  0:00:00 ETA
    ONIE:/ # sh latest.installer 
    Open Network Installer running under ONIE.
    Installer Version: Open Network Linux e148b7a (powerpc.all,2014.05.21.18.57,e148b7a90131c07eb8d49f74316baf8f2aae92c6)
    Detected platform: powerpc-quanta-lb9-r0
    Installing in standalone mode.
    Unpacking Open Network Linux installer files...
    onl.powerpc-as4600-54t.loader
    onl.powerpc-as5600-52x.loader
    ...

ONL NFS Root Directory

Given that the default installation of ONL does not persist files across reboots (this is intentional -- flash disks should not be written to as often as spinning disks), it is sometimes useful to have a normally writable, larger disk available for the switch. Enter the NFS root directory which enables a switch to boot ONL from a remote NFS partition. While it is possible to simply fetch the SWI file from an NFS server (keeping the same non-persisted behavior), the much more useful feature is to have the root file system NFS hosted.

To enable NFS mounted root partition:

  1. Run the ONL installer normally (e.g., via the manual mode per above) so that the ONL loader is installed.

  2. Edit /mnt/flash/boot-config, enable DHCP, and change the SWI variable to point to a URL of the form "nfs://$ip[:port]/path/to/directory/". For example, on my machine, this looks like:

    cat /mnt/flash/boot-config

    SWI=nfs://10.6.0.4/home/robs/export/ly2-1/ # trailing '/' is critical NETAUTO=dhcp # optional, but likely what you want NETDEV=ma1 # leave untouched

  3. On server $ip, in /path/to/directory, unzip a target .SWI file, e.g.,

    unzip latest.swi

  4. unsquash the compressed root file system as directory 'rootfs-$arch':

    unsquashfs -d rootfs-$arch rootfs-$arch.sqsh # e.g., $arch = 'powerpc'h

Now reboot your switch and it should boot automatically into the NFS root file system. Note that the SWI structure is still maintained:

 robs@sbs3:~/export/ly2-1$ ls -l
 total 109048
 -rw-r--r--  1 robs __USERS__   3382017 Nov  4 22:28 initrd-powerpc
 -rwxr-xr-x  1 robs __USERS__   6942960 Nov  4 22:28 kernel-85xx*
 -rw-r--r--  1 robs __USERS__ 101322752 Nov  4 22:28 rootfs-powerpc.sqsh
 drwxrwxr-x 22 robs __USERS__      4096 Jan  2 18:21 rootfs-powerpc/
 -rw-r--r--  1 robs __USERS__       100 Nov  4 22:29 version

That is:

  • 'kernel-85xx' is the kernel image
  • 'initrd-powerpc' is the initial RAM disk image
  • 'rootfs-powerpc' is the base of the root filesystem
  • 'version' is a string that identifies this SWI

Note: If NFS root squash is set on the server, you might get a permission error while booting. To fix this, you can set 'no_disable_squash' in /etc/exports. However, be aware of the security implications as root on a client machine will now have the same access privilege on the files as root on the NFS server.