Sunday, August 30, 2009

The 1U Olive

I posted this on Techexams, but I thought I'd add it here.

NOTE: Of course, you can build a VMWare Olive, but I don’t want to use my current machine for that. If that suits your needs, check it out: Building a Juniper 'Olive' running latest JUNOS in VMWare.

Getting back into Juniper has been great so far, most especially because of the Fast Track materials. That stated, I still need to get a little more hands-on with JUNOS. I recently built one Olive already, with a plan to add a couple more eventually. My first Olive is contained in a 4U server rackmount case. That’s a space eater. A good friend of mine with a firewall background (who also is using Fast Track) thought it might be possible to use a 1U Nokia IP330. His company had several they were about to toss, so what the hey right?

Here are the specs:

1U-sized PC appliance
1x AMD K6-2 CPU @400 MHz (i586)
256 MB PC-100 SDRAM
1x 20GB IDE hard drive
3x Intel 82558 Pro/100 Ethernet (fxp(4))
2x RS-232 serial interfaces (DB-9 male) with BIOS-level serial console

You can find similar ones here:
nokia IP330, great deals on Computers Networking on eBay!

1. I had to connect the Hard Drive from the IP330 to my first Olive (in place of the current working HD). The IDE port on the IP330 motherboard has an extra pin which prevented me from connecting a standard IDE cable with master and slave connectors for dual use of the HD and CD ROM.

2. I installed FreeBSD mini 4.4 per Sid Smokes.
Juniper Olive Install: Juniper Olive has more granular instructions for basic *nix folks like myself. These sites also contain the instructions for loading JUNOS. Note: For my initial installation I used jinstall-7.4R1.7-export-signed.tgz and I upgraded to jinstall-8.3R2.8-export-signed. I don’t have enough RAM to upgrade to jinstall-9.x …yet.

3. When the install of FreeBSD completed (and rebooted), I logged in as root to complete the file system changes. I then mounted the cdrom and copied the jninstall to the /var/temp (as per the above instructions).

4. I then ran the pkg_add command. Once that completes a "reboot" will need to be issued. (This is normal so far). After I issued the "reboot" the machine began to reboot (of course). When it powered down, and before it powered up, I manually turned off the power to that machine.

5. I removed the drive, and re-installed it in the IP330. I connected the power cable, then a null-modem cable to the console port and booted the IP330 up. Null modem cables can be found here: RS-232 Null Modem, great deals on Computers Networking, Electronics on eBay!

6. It took about 15 minutes, more or less, for the IP330 to boot all the way up to the login prompt. I did see the following error (you may see several, but I was concerned only about this one):

fxp: Could not derive MAC address from EEPROM
fxp0: Ethernet address 02:00:02:00:00:04
fxp: Could not derive MAC address from EEPROM
fxp1: Ethernet address 02:00:03:00:00:04
fxp: Could not derive MAC address from EEPROM
fxp2: Ethernet address 02:00:04:00:00:04

While probably not an issue for only one IP330 Olive, all of my IP330 Olives assigned a dummy MAC address (of 02:00:0X:00:00:04) to the respective fxp ports on each Olive. You can manually change the MAC address to avoid duplicates:

jnpr@OLIVE1# set interfaces fxp0 mac ?
Possible completions:
Hardware MAC address

I was able to easily assign an IP, configure telnet/hostname/1 superuser, and telnet
from my machine.

Here's what fxp0 looks like:

jnpr@OLIVE2# run show interfaces fxp0
Physical interface: fxp0, Enabled, Physical link is Up
Interface index: 1, SNMP ifIndex: 1
Type: Ethernet, Link-level type: Ethernet, MTU: 1514, Speed: 100mbps
Device flags : Present Running
Interface flags: SNMP-Traps
Link type : Full-Duplex
Link flags : 4
Current address: 02:00:02:00:00:04, Hardware address: 02:00:02:00:00:04
Last flapped : Never
Input packets : 10
Output packets: 1

Logical interface fxp0.0 (Index 65) (SNMP ifIndex 13)
Flags: SNMP-Traps Encapsulation: ENET2
Protocol inet, MTU: 1500
Flags: Is-Primary
Addresses, Flags: Is-Default Is-Preferred Is-Primary
Destination: 192.168.5/24, Local:,

And show version:

jnpr@OLIVE2> show version
Hostname: OLIVE2
Model: olive
JUNOS Base OS boot [8.3R2.8]
JUNOS Base OS Software Suite [8.3R2.8]
JUNOS Kernel Software Suite [8.3R2.8]
JUNOS Packet Forwarding Engine Support (M/T Common) [8.3R2.8]
JUNOS Packet Forwarding Engine Support (M20/M40) [8.3R2.8]
JUNOS Online Documentation [8.3R2.8]
JUNOS Routing Software Suite [8.3R2.8]


Special shout to 8o8 for the IP330s.


  1. Seraphus, I actually posted this on the techexam forum, but no response there unfortunately.

    I created 2 IP330 Olives, but I can't upgrade them to 8.X like you can. In fact when I boot mine up after upgrading, it says it can't determine the class of CPU. The CPU on these boards are K6-2's just like yours.

    Any ideas?

  2. Hi Darren,

    I stopped visiting Techexams to focus more on certs. Thanks for posting here. I found that upgrading to 8.x had to be done incrementally, moving from 7.5 to 8.1 to 8.3, etc. I take you post to mean that you have a lower version of Junos installed, it that correct?

  3. Hi Seraphus.

    I've currently for 7.1 R2.2 installed. (check here Heck I should change that link to come directly here instead.

    I could try to install 8.1 first and then 8.3 and see what happens. I think I went straight to 8.4 or 8.5?

    One more thing. I bought a lot of 5 IP330's off ebay. 2 of them are the white and blue coloured ones and 3 are pure white. The pure white seem like later models. However only the 2 blue and white ones work for me. I initially thought the white models just wouldn't work, but I see in your lab you have a number of white models working just fine.

    I've even tried taking the hard drive out of the working blue and white into a white and it still refuses to do anything. You basically see 'AT' and then nothing. I've left it for ovger and hour and no change :(

  4. Happy NY!
    Let me know how the upgrades go.

    I have no problems with the either models, once I got the first one working. A note though: I could never get JUNOS to install on an IBM hard drive, only on the Western Digitals so I had to replace some of the drives. I have even installed JUNOS on IP440s which is a little easier as it is similar to a PC Olive, though compatible network cards have to be installed.

  5. Hi Seraphus.

    Happy 2011!

    I've upgraded the 2 blue and white ones to 8.1 - I don't have anything else lower than 8.5 - Even when I upgraded slowly to 8.1 and then 8.5, 8.5 still refused to load thanks to the unknown-class CPU.

    I need to try with the white boxes again. Btw, one of my blue and white boxes is a VPN220, but this is identical internally to a IP330.

    What's the latest JUNOS you have been able to run? tbh, I'm happy to run with 8.1 as long as it's relevant to the JNCIP-M (now SP) Is there anything new and specific that only runs in 9 and 10?

    Thanks again

  6. I have to check and see exactly what I'm running on my IP330s. I've stopped all progress on Juniper to prepare for the CCIE. The old JNCIP (JNCIP-M) was supposed to be doable using Olives, but I'm not sure how much you can prepare for the new JNCIP (JNCIP-SP) using Olives.

    VPN220? Sounds sweet!

    I'll follow up on the JUNOS version though.

  7. The JUNOS version I installed was:

    This version runs on all my IP330s.

    This was the highest version under 8.5 that I could successfully install. I read an old email chain describing the installing process of 8.5 to a friend. The result are below:

    Heads up man, I tried installing that 8.5 package and it blew up. fyi

    -> Waiting (max 60 seconds) for system process `vnlru' to stop...done
    Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
    Waiting (max 60 seconds) for system process `syncer' to stop...
    Syncing disks, vnodes remaining...0 done

    syncing disks... All buffers synced.
    Uptime: 5m37s
    Normal shutdown (no dump device defined)
    /kernel text=0x8d49c4 data=0x4ec28+0x7349c syms=[0x4+0x8fb00+0x4+0x927f2]

    Hit [Enter] to boot immediately, or space bar for command prompt.
    Booting [/kernel]...
    Olive CPU
    GDB: debug ports: sio
    GDB: current port: sio
    KDB: debugger backends: ddb gdb
    KDB: current backend: ddb
    Copyright (c) 1996-2008, Juniper Networks, Inc.
    All rights reserved.
    Copyright (c) 1992-2006 The FreeBSD Project.

    Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
    JUNOS 8.5R4.3 #0: 2008-08-12 23:16:55 UTC
    Timecounter "i8254" frequency 1193182 Hz quality 0
    CPU: AMD-K6(tm) 3D processor (Unknown-class CPU)
    Origin = "AuthenticAMD" Id = 0x58c Stepping = 12
    AMD Features=0x80000800
    panic: CPU class not configured
    db_log_stack_trace_cmd(c0d2bc00) at 0
    panic(c0ccff56,c1021d74,c092b7eb,c0cd26c4,c0d12a90) at 0
    panicifcpuunsupported(c0cd26c4,c0d12a90,c1021d88,c051fcba,0) at 0
    cpu_startup(0,101ec00,101e000,0,c04748e5) at 0
    mi_startup() at 0
    begin() at 0
    KDB: enter: panic
    [thread pid 0 tid 0 ]
    Stopped at kdb_enter+0x37: pushl $-0x1

  8. Hi Seraphus

    I've managed to get the plain white boxes running now. Essentially that means I've got 2X white IP330's, 1 white & blue IP330 and 1 white and blue VPN220 all working with 8.2 currently (I want to get them up to 8.4 at least)

    I was able to get them working with a mixture of Seagate and Western Digital drives. Drives have to be less than 20GB (I think less than 32GB in fact, but not tested)

    I've actually managed to install JUNOS 10 on my M10 I have in the lab, so at least I have 1 real Juniper (

  9. you can try building an olive with 8.5R14 and then doing a request system software add with the next is a juniper olive step by step that worked for me..