Juniper Olive

Olive refers to a regular PC that's running Juniper Networks' JUNOS software. Juniper developed Olive early on so they could perform testing of JUNOS during development.

On this blog, I go over some of things I did to get JUNOS software running on a PC.

Juniper's official position on this deployment is that it is not supported. But, having said that, this is a great way to learn about the JUNOS software and ultimately, get Juniper certified or get a job as a Juniper engineer.

Olive requires a valid copy of a JUNOS jinstall file. This file can be found on a Juniper router and/or obtained from Juniper Networks under a support contract. If you don't have that, please do not contact me as I will not provide that.

Requirements


  • FreeBSD 4.x ISO image
  • A valid jinstall package for JUNOS that is version 7.4 or earlier
  • Intel network cards that use the fxp or em driver
  • Serial cable/null-modem cable

Overview

1. Install FreeBSD
2. Make a few file system changes
3. Add the jinstall package
4. Upgrade your JUNOS as you desire

If you've done any research at all about Juniper Olive, you probably realize that JUNOS is based on FreeBSD 4.x. A copy of FreeBSD will be used bootstrap into JUNOS software. The jinstall package is literally a FreeBSD software package that contains the JUNOS. To do the initial install you'll need JUNOS 7.4 or earlier.

The right network cards are crucial to having Olive do anything useful. As other sites have documented, Intel-based cards are the only ones supported, specifically cards supported by the FreeBSD 4.x fxp and em drivers.

To initially connect to an Olive system (after the install), you are going to have to connect via the serial port. You'll need a serial cable or null-modem cable to manage the box and do initial configuration.

Installation

1. Install the base OS. For this install, we need FreeBSD version 4.4. (Here is an ISO for you) to download. A very generic installation is all that is required. Much of it gets blown away when you installl the JUNOS package anyway.
2. Boot from CDRom.
3. [Enter] to boot immediately.
4. Skip kernel configuration and continue with installation.
5. At the "/stand/sysinstall Main Menu", choose Standard.
6. At the "FDISK partition Editor", I used "A" for Use Entire Slice.
7. Choose "S" for Set Bootable.
8. Choose "Q" for Finish.
9. For the boot manager, go with "Standard" for a standard MBR.
10. At Disklabel Editor, I created the following slices:
ad0s1a / 500MB
ad0s1b swap 500MB
ad0s1c /config 100MB
ad0s1f /var (the rest)
11. At "choose distributions", go with "minimal"
12. Choose installation media: 1 CD/DVD
13. after the system reboots, make some mods to the system:

# rm /dev/wd0c && ln -s /dev/ad0c /dev/wd0c
# mkdir /var/etc
# touch /var/etc/master.passwd
# touch /var/etc/group
# touch /var/etc/inetd.conf
14. Add the jinstall package:

# pkg_add jinstall-xxx.tgz (you can't use "request system reboot" for the first reboot)

15. After the package completes, then

# reboot

Here you will need a console connection to your system as the PC is now functioning as a "router" and it won't have a GUI. Your PC screen will probably say something like this after the reboot:
"Loading /boot/loader"
"BTX loader 1.00 BTX version is 1.01"

With your console connection, you see the jinstall package doing its thing and then the router reboots again.

During the first reboot after the JUNOS package is installed, the install script will repartition the disk appropriately if it doesn't like what it finds.

Whenever you upgrade JUNOS it always checks to make sure your PICs are properly supported by the version you're upgrading to. To that end, there is a binary within the package called checkpic. The checkpic binary in newer JUNOS packages causes the ELF error. Installing an older version of JUNOS and then upgrading to something newer seems to work just fine.

I found that even though I had supported NICs, I still could not pass any traffic. I had enable "PCI Bus Mastering" in the BIOS to get things to work.

The system will reboot and run the bootstrap installer. It will repartition the disk (if necessary), install more packages (jbase, jkernel, jpfe, etc) and then it'll reboot again. Once it comes back up you can login.


root@olive% cli
root@olive> show version
Hostname: olive
Model: olive
JUNOS Base OS boot [7.1R1.3]
JUNOS Base OS Software Suite [7.1R1.3]
JUNOS Kernel Software Suite [7.1R1.3]
JUNOS Packet Forwarding Engine Support (M20/M40) [7.1R1.3]
JUNOS Routing Software Suite [7.1R1.3]
JUNOS Online Documentation [7.1R1.3]
JUNOS Crypto Software Suite [7.1R1.3]



Hardware Support

The following NICs have been tested and known to work with Olive:
Intel EtherExpress Pro 10/100B (82557, 82559 chipset)
Intel PRO/1000MT, PRO/1000GT

15 comments:

Anonymous said...

Hi I could not remember olive password, what is the default root password.

Anonymous said...

its stuck on

"BTX loader 1.00 BTX version is 1.01"

please help me

Win Htut said...

Hi,
You should mention properly for the step to connecting from Hyperterminal. The rest are OK.

Thanks for the post

Anonymous said...

u can also see those website they will help u allot in your issues..

http://routerjockey.com/2009/10/03/running-junos-under-vmware/

&

http://joost.blogsite.org/wordpress/?p=15

they will surely help u.

Anonymous said...

anyone know where i can download olive from?

Anonymous said...

The comments here are hilarious.

Silvi said...

THNX for the description! :)
Worked well for me..., there should be an addition in description text.
After the install of the "jinstall-xxx" package and a reboot step the VM is stuck in "BTX loader 1.00 BTX version is 1.01"! Solution is to change the VMware configuration file from scsi0.present = "TRUE" to scsi0.present = "FALSE"
After this step VM is working... :))
Cheers

Solarius said...

Currently, I'd like to configure VPN and MPLS with Juniper Olive but I cannot find these options anywhere. Could you pls help me?

Optim Servers said...

Great information you shared here i am so inspired here keep continue sharing.
Thanks



Juniper Networks SA700

Unknown said...

You can also use this online Juniper router
http://www.sharontools.com/online-lab/
Keren

Unknown said...

plz helpe me ,I want the command to change the password of a router juniper.tks

Unknown said...

plz I want the command to change the password of a router juniper.helpe me plz

Unknown said...

i have a problem that i get db> all the time, when i contact with the VMWare, i d like to know how to get to the root. Thanks a lot in advance

Unknown said...

hello, i have a problem when i contact to the VMware that it shows db> all the time when i want to get to the Root. Could you help me, please?!
thanks in advance

Anonymous said...

I have been trying to install junos in gns3 . I'm using qemu. I have already installed freebsd in qemu. Can anyone help me with this?
Jith (jiththomas@live.com)