照这篇文档安装的junos可以做到:
*
不需要真正的pc,完全可以在vmware上安装
*
可以认出vmware的网卡,以便可以在vmware上做实验
*
使用telnet代替串口线连接junos
Restrictions
在vmware上不是什么问题都没有,现阶段还不支持组播功能
Prerequisites
*
Vmware 5.5
*
4.11-RELEASE-i386-disc1-gnome.iso
*
jinstall-7.4R1.7-export-signed.tgz
*
jinstall-8.0R1.9-export-signed.tgz
*
4G硬盘空间
*
安装vmware的主机有512内存足以
*
Named Pipe TCP Proxy 1.0001
Need to be Noticed
不要试图直接安装junos7.5版本,否则会报错的。8.0需要用7.4升级上去。
Do It
建立vmware虚拟机

如上图所示建立一个虚拟机
QUOTE:
硬盘 2G此时先不要急着启动vmware。先关闭vmware,找到vmware生成的虚拟机配置文件(.vmx文件),打开编辑,找到
内存 256M
网卡 1块
cpu 1个
cd-rom 使用4.11-RELEASE-i386-disc1-gnome.iso作为镜像
CODE:
ethernet0.present = "TRUE"在下面添上一行CODE:
ethernet0.virtualDev = "e1000"为什么要这么做?因为从junos 7.5开始,已经可以认intel e1000的千兆网卡了。添加这一行就是让vmware模拟e1000网卡。下面启动vmware,开始安装freebsd 4.11
安装freebsd 4.11
分区,如下图所示

采用Minimal安装方式,不要安装任何package,设置好ip地址,再给root设置个password就全部ok。
能认出em0就表明上一步修改网卡类型为e1000已经成功了。

安装junos7.4前的必要准备工作
CODE:
rm /dev/wd0c
ln -s /dev/ad0c /dev/wd0c
mkdir /var/etc
touch /var/etc/master.passwd /var/etc/inetd.conf /var/etc/group安装的前期准备工作全部完毕开始安装junos7.4
使用ftp或者http方式把jinstall-7.4R1.7-export-signed.tgz下载到/var/tmp
如果用ftp下载别忘了把mode改成bin
开始安装
CODE:
pkg_add jinstall-7.4R1.7-export-signed.tgz出现如下画面,表示安装成功
输入reboot或者shutdown -r now重启
CODE:
shutdown -r now将serial重定向至named pipe这时你会发现启动到这步就不动了

这是因为junos会把输入输出重定向到com口,也就是serial上。现在该Named Pipe TCP Proxy出场了。
打开Named Pipe TCP Proxy,选择Edit→New,然后设置好named pipe名称和端口号

开一个cmd窗口,输入telnet 127.0.0.1 2001,如果提示
CODE:
attaching console,wait ...就表示ok了,这个窗口不要关。现在把vmware虚拟的那个freebsd关机(因为现在屏幕没有回显,需要盲打了!!!)
CODE:
root
shutdown -p now这步做不好,有可能导致升级到8.0时mount不上junos的分区。等待约2,3分钟,然后点power off按钮把虚拟机关掉。
编辑虚拟机,添加一个Serial Port,选择Output to named pipe,然活输入管道名称,跟Named Pipe TCP Proxy里设置的对应上就ok了,然后选择高级,把Yield CPU on poll勾上就可以了。如下图所示

启动虚拟机里的freebsd,观察刚才开的cmd窗口,现在是不是有反映了,就是freebsd的开机提示。
CODE:
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 638kB/260032kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8
(builder@ryowo.juniper.net, Fri Oct 21 00:52:35 GMT 2005)
Loading /boot/defaults/loader.conf
/kernel text=0x4084a1 data=0x3530c+0x5608c syms=[0x4+0x4a670+0x4+0x5a6d2]
Hit [Enter] to boot immediately, or space bar for command prompt.
Booting [kernel]...
Copyright (c) 1996-2001, Juniper Networks, Inc.
All rights reserved.
Copyright (c) 1992-2004 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 7.4R1.7 #0: 2005-10-21 01:29:55 UTC
builder@ryowo.juniper.net:/build/ryowo-c/7.4R1.7/obj-i386/sys/compile/JUNIPE
R
Timecounter "i8254" frequency 1193182 Hz
Timecounter "TSC" frequency 1992884832 Hz
CPU: Intel(R) Pentium(R) 4 CPU 2.00GHz (1992.88-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf28 Stepping = 8
Features=0xfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CM
OV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS>
real memory = 268435456 (262144K bytes)
sio0: gdb debugging port
avail memory = 254390272 (248428K bytes)
Olive CPU
Preloaded elf kernel "kernel" at 0xc063b000.
Warning: Pentium 4 CPU: PSE disabled
DEVFS: ready for devices
md0: Malloc disk
Using $PIR table, 9 entries at 0xc00fdf30
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0x1050-0x105f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
smb0: <Intel 82371AB SMB controller> port 0x1040-0x104f at device 7.3 on pci0
smb0: controller initialization failed
pci cmd reg = 0x0001, SMB host conf = 0x00
pci0: <VGA-compatible display device> at 15.0
pci0: <unknown card> (vendor=0x1000, dev=0x0030) at 16.0 irq 9
pci0: <unknown card> (vendor=0x8086, dev=0x100f) at 17.0 irq 11
orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xdc000-0xdffff,0xe
0000-0xe3fff on isa0
fdc0: <Intel 82077 or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ata2 at port 0x170-0x177,0x376 irq 15 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
psm0: failed to get data.
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x90 on isa0
sio0: type 16550A, console
sio1: configured irq 5 not in bitmap of probed irqs 0
sio2 at port 0x2f8-0x2ff irq 3 on isa0
sio2: type 16550A
sio3: configured irq 7 not in bitmap of probed irqs 0
DEVFS: ready to run
ad0: 2047MB <VMware Virtual IDE Hard Drive> [4161/16/63] at ata0-master UDMA33
ata2-master: <VMware Virtual IDE CDROM Drive/00000001> CDROM device - NO DRIVER!
Mounting root from ufs:/dev/ad0s1a
WARNING: / was not properly dismounted
if_pfe_open: listener socket opened, listening...
Mounted jbase package on /dev/vn0...
Mounted jkernel package on /dev/vn1...
Mounted jpfe package on /dev/vn2...
Mounted jdocs package on /dev/vn3...
Mounted jroute package on /dev/vn4...
swapon: adding /dev/ad0s1b as swap device
Automatic reboot in progress...
/dev/ad0s1a: 1177 files, 19012 used, 36524 free /dev/ad0s1e: 2 files, 2 used, 61
40 free (12 frags, 4564 blocks, 0.0% fragmentation)
(20 frags, 765 blocks, 0.3% fragmentation)
(12 frags, 4564 blocks, 0.0% fragmentation)
/dev/ad0s1f: 269 files, 70826 used, 641606 free (62 frags, 80193 blocks, 0.0% fr
agmentation)
tunefs: soft updates set
WARNING: hw.product.model='unknown' using jpfe-M40
Creating initial configuration...mgd: commit complete
Setting initial options: debugger_on_panic=NO debugger_on_break=NO.
Doing initial network setup:
.
Initial interface configuration:
pid 2500 (dcd), uid 0: exited on signal 6 (core dumped)
Abort trap (core dumped)
additional daemons:.
checking for core dump...
Additional routing options:.
Doing additional network setup:.
Starting final network daemons:.
setting ldconfig path: /usr/lib
starting standard daemons: cron.
Initial rc.i386 initialization: microcode kld.
Local package initialization:.
starting local daemons:.
Mon Dec 4 19:33:25 UTC 2006
Amnesiac (ttyd0)
login:输入root登陆,然后输入cli进入junos配置界面CODE:
root> show interfaces terse
Interface Admin Link Proto Local Remote
dsc up up
gre up up
ipip up up
lo0 up up
lo0.16385 up up inet
inet6
lsi up up
mtun up up
pimd up up
pime up up
tap down up怎么?没有em0网卡么?忘了吧,junos7.4是不支持e1000网卡的,把junos升级到7.5以上就可以认出来了。升级7.4至8.0
开始升级junos至8.0。由于安完的junos认不出网卡,往junos里考8.0的安装包就成了问题。不怕,找台freebsd的及其把junos的分区mount上,然后cp进去不就ok了。
现在junos配置界面里输入
CODE:
request system halt把junos关机在vmware中再新建个虚拟机,然后再安装个freebsd,安装过程中硬盘分区用默认就可以了。
如果在第一次安完freebsd时建立一个snapshot,那么现在只需要从snapshot建立一个clone就ok了,可以省区再次安装freebsd的时间
安装完毕后,shutdown这个新的freebsd虚拟机,然后编辑其配置,添加一块存在的硬盘,就是刚才那个junos的硬盘,然后启动。
CODE:
mount /dev/ad1s1f /mnt
cd /mnt/tmp现在通过ftp或者http的方式把jinstall-8.0R1.9-export-signed.tgz复制到/mnt/tmp下,然后CODE:
cd /
umount /mnt
shutdown -p now现在junos 8.0就已经被复制到junos 7.4那个虚拟机里了。关闭新安装freebsd虚拟机,打开junos7.4那个虚拟机,输入cli进入junos配置界面CODE:
request system software add /var/tmp/jinstall-8.0R1.9-export-signed.tgz
NOTICE: Validating configuration against jinstall-8.0R1.9-export-signed.tgz.
NOTICE: Use the 'best-effort-load' option to match the checks done at boot time.
NOTICE: Use the 'no-validate' option to skip this if desired.
Checking compatibility with configuration
Initializing...
Using jbase-7.4R1.7
Using /var/tmp/jinstall-8.0R1.9-export-signed.tgz
Verified jinstall-8.0R1.9-export.tgz signed by PackageProduction_8_0_0
Using /var/validate/tmp/jinstall-signed/jinstall-8.0R1.9-export.tgz
Using /var/validate/tmp/jinstall/jbundle-8.0R1.9-export.tgz
Checking jbundle requirements on /
Using /var/validate/tmp/jbundle/jbase-8.0R1.9.tgz
Using /var/validate/tmp/jbundle/jkernel-8.0R1.9.tgz
Using /var/validate/tmp/jbundle/jpfe-8.0R1.9.tgz
WARNING: hw.product.model='unknown' using jpfe-M40
sing /var/validate/tmp/jbundle/jdocs-8.0R1.9.tgz
Using /var/validate/tmp/jbundle/jroute-8.0R1.9.tgz
Validating against /config/juniper.conf.gz
mgd: commit complete
Validation succeeded
Installing package '/var/tmp/jinstall-8.0R1.9-export-signed.tgz' ...
Verified jinstall-8.0R1.9-export.tgz signed by PackageProduction_8_0_0
Adding jinstall...
WARNING: This package will load JUNOS 8.0R1.9 software.
WARNING: It will save JUNOS configuration files, and SSH keys
WARNING: (if configured), but erase all other files and information
WARNING: stored on this machine. It will attempt to preserve dumps
WARNING: and log files, but this can not be guaranteed. This is the
WARNING: pre-installation stage and all the software is loaded when
WARNING: you reboot the system.
Saving the config files ...
Installing the bootstrap installer ...
WARNING: A REBOOT IS REQUIRED TO LOAD THIS SOFTWARE CORRECTLY. Use the
WARNING: 'request system reboot' command when software installation is
WARNING: complete. To abort the installation, do not reboot your system,
WARNING: instead use the 'request system software delete jinstall'
WARNING: command as soon as this operation completes.
Saving package file in /var/sw/pkg/jinstall-8.0R1.9-export-signed.tgz ...
aving state for rollback ...
root> request system reboot
Reboot the system ? [yes,no] (no) yes
这是junos会重启2次,最后就变成junos 8.0啦。大功告成!!!
root> show version
Model: olive
JUNOS Base OS boot [8.0R1.9]
JUNOS Base OS Software Suite [8.0R1.9]
JUNOS Kernel Software Suite [8.0R1.9]
JUNOS Packet Forwarding Engine Support (M20/M40) [8.0R1.9]
JUNOS Routing Software Suite [8.0R1.9]
JUNOS Online Documentation [8.0R1.9]
root> show interfaces terse
Interface Admin Link Proto Local Remote
dsc up up
em0 up up //这就是那个e1000网卡
gre up up
ipip up up
lo0 up up
lo0.16385 up up inet
inet6
lsi up up
mtun up up
pimd up up
pime up up
tap down up吼吼,在虚拟机里多加几块e1000网卡也没问题。

junos8_on_vmware5_1.gif

junos8_on_vmware5_2.gif

junos8_on_vmware5_3.gif

junos8_on_vmware5_4.gif

junos8_on_vmware5_5.gif

junos8_on_vmware5_6.gif

junos8_on_vmware5_7.gif
最新回复