Wednesday, 20 February 2013

Juniper JNCIA-Junos - Operating System Fundamentals

This part is mainly theory and reading chapter 1 of Juniper’s PDF (part 1). It is only what you need for the exam; however, it is interesting to have an overview of how JunOS actually boots up.
First, make your lab in GNS3 by connecting 2 routers back to back using their em0 interface. Keep this lab for all your exercises for chapters of part 1.
Start your Juniper routers in GNS3 and console to them. As you learned in Juniper’s PDF, JunOS is based on FreeBSD, an open source UNIX Operating System. This OS is very reliable and you also get extra tools that you cannot find on Cisco IOS for instance.
The first thing you should see after starting JunOS, are the kernel modules being loaded. The kernel is the core component of the operating system.
/boot/modules/if_bge.ko text=0xa98c data=0x364+0xc syms=[0x4+0xd50+0x4+0xd18]
...
/boot/modules/mac_runasnonroot.ko text=0x7b4 data=0x4d0 syms=[0x4+0x310+0x4+0x39d]
Then, you have a chance to give parameters to the kernel in order to change the default booting process. This can be useful to recover the root password for example, but that’s not the only use. Root is the name given to the super administrator on UNIX.



Here you can just wait a few seconds or hit enter to boot immediately; the kernel is then being loaded. There is a lot of information, most of it is really not relevant, but some might be interesting, like how much memory has been detected or other CPU information.
Hit [Enter] to boot immediately, or space bar for command prompt.
Booting [/kernel]...
platform_early_bootinit: M/T Series Early Boot Initialization
Olive CPU
...
Copyright (c) 1996-2010, Juniper Networks, Inc. All rights reserved.
Copyright (c) 1992-2006 The FreeBSD Project.
...
JUNOS 10.1R1.8 #0: 2010-02-12 17:15:05 UTC
    builder@queth.juniper.net:/volume/build/junos/10.1/release/10.1R1.8/obj-i386/bsd/sys/compile/JUNIPER
...
real memory  = 268369920 (255 MB)
avail memory = 248840192 (237 MB)
...
Now, it’s time for the drivers to be loaded, these are what the OS needs to interface with hardware components.  Here you can see that our 6 network interface cards (em0 to em5) have been detected and have correct Ethernet MAC addresses, which is good! What is a router useful for if you don’t have network interfaces?
Setting up M/T interface operations and attributes
platform_mastership_init: Unknown product_type 0x00000001
em5: bus=0, device=8, func=0, Ethernet address 00:ab:ae:99:e3:05
em4: bus=0, device=7, func=0, Ethernet address 00:ab:ae:99:e3:04
em3: bus=0, device=6, func=0, Ethernet address 00:ab:ae:99:e3:03
em2: bus=0, device=5, func=0, Ethernet address 00:ab:ae:99:e3:02
em1: bus=0, device=4, func=0, Ethernet address 00:ab:ae:99:e3:01
em0: bus=0, device=3, func=0, Ethernet address 00:aa:00:ca:a4:00
...
Next is JunOS itself, bundled in different packages, to be loaded into memory via virtual disks (md0, md1 etc.). These packages begin with the letter j and we can guess their function, like jkernel, jroute or jpfe (PFE) which – if you remember chapter one – stands for Packet Forwarding Engine and is an important part of JunOS.
Mounted jbase package on /dev/md0...
Verified manifest signed by PackageProduction_10_1_0
Verified jboot signed by PackageProduction_10_1_0
Verified jbase-10.1R1.8 signed by PackageProduction_10_1_0
Mounted jkernel package on /dev/md1...
Verified manifest signed by PackageProduction_10_1_0
Verified jkernel-10.1R1.8 signed by PackageProduction_10_1_0
Mounted jpfe package on /dev/md2...
Mounted jdocs package on /dev/md3...
Verified manifest signed by PackageProduction_10_1_0
Verified jdocs-10.1R1.8 signed by PackageProduction_10_1_0
Mounted jroute package on /dev/md4...
Verified manifest signed by PackageProduction_10_1_0
Verified jroute-10.1R1.8 signed by PackageProduction_10_1_0
Mounted jcrypto package on /dev/md5...
Verified manifest signed by PackageProduction_10_1_0
Verified jcrypto-10.1R1.8 signed by PackageProduction_10_1_0
Mounted jpfe-common package on /dev/md6
...
Now that JunOS is in memory, it is executed and its modules/drivers loaded as well.
...
ifpfed_ds1e1Loading E1/T1/J1 driver
ifpfed_ds3e3Loading the NETPFE DS3 module
ifpfed_eia530 ifpfed_ethLoading the NETPFE ethernet module
...
Loading Multilink Services PICs module.
Loading the M&T Platform NETPFE module
...
Your FreeBSD/JunOS is ready. If everything went fine, you should see a login prompt.
See you on User Interface Options & Initial Configuration to start playing with your new lab.

No comments:

Post a Comment