Junos软件升级方法详解
    JUNOS升级方法有很多种,主要包括U盘升级、FTP升级、TFTP升级、JWEB升级。在升级过程中我们强烈建议每三个版本作为一个过渡版本进行升级。在初次设备进行安装调试时,强烈建议使用TAC推荐的软件版本或特殊行业集团总部要求的软件版本。对于部分设备需要升级Jloader,比如EX系统交换机在JNUNOS10.4R3.0之后要求升级11.X及以上,需要升级Jloader,具体的推荐软件版本,请访问Juniper官方网站:http://www.juniper.net,在技术支持中心会有详细说明。下面就各种升级方法作详细说明。
    一、 通过U盘升级
    通过U盘升级方便灵活,建议U盘容量在2G以内,U盘格式化成【exfat/fat32】格式。
    通过U盘升级分两种情况:在设备开机启动时进入Loader模式升级和设备正常启动以后通过request命令升级。

    A、 设备正常启动后通过U盘升级过程:

    1.通过【star shell user root】命令进入Shell模式
    Password:
    root@EX2200:RE:0%
    root@EX2200:RE:0%

    2.将要升级的软件版本copy到U盘,并将U盘插入设备USB接口,在超级终端上将会提示相应盘符,本例中为da1
    login: rooumass1: Kingston DT 101 G2, rev 2.00/1.00, addr 4
    tda1 at umass-sim1 bus 1 target 0 lun 0
    da1: Removable Direct Access SCSI-0 device
    da1: 40.000MB/s transfers
    da1: 7640MB (15646720 512 byte sectors: 255H 63S/T 973C)
    若未提示,可通过在Shell模式使用【ls /dev/】确定盘符,da0一般为内置存储。
    image.png
    3.挂载U盘,并创建文件目录
    挂载后通过【ls /mnt】确认U盘挂载情况。
    root@EX2200:RE:0% mount_msdosfs /dev/da1 /mnt
    root@EX2200:RE:0% mount_msdosfs /dev/da1s1 /mnt

    root@EX2200:RE:0% mount_msdosfs /dev/da1 /mnt
    root@:RE:0% cd /mnt/
    root@:RE:0% ls
    EX2300 and EX3400 Series-junos-arm-32-18.4R3.3.tgz
    junos-arm-32-18.4R3.3.tgz

    4.从U盘Copy相对应的升级软件版本到指定的文件目录
    root@:RE:0% cd /mnt/
    root@:RE:0% cp jinstall-ex-2200-10.4R8.5-domestic-signed.tgz /var/tmp/
    root@:RE:0% cp junos-arm-32-18.4R3.3.tgz /var/tmp/
    root@:RE:0% ls /var/tmp/
    gres-tp-tomcat stable
    junos-arm-32-18.4R3.3.tgz
    version_ex.xml
    krt_rpf_filter.txt

    5.进入设备用户模式,使用request命令升级软件版本
    建议先验证镜像,在进行镜像的添加安装操作。
    镜像验证
    user@host>request system software validate /var/tmp/junos-install-mx-x86-32-17.3R1.10.tgz
    image.png
    安装映像
    user@host> _request system software add no-validate unlink /var/tmp/_image-name.tgz
    no-validate 不验证你的配置。
    unlink 安装结束后,解压缩的安装包会被清除,节省存储空间。

    重启设备
    root@EX2200>request system reboot

    如果出现配置不兼容,升级前请确认是否备份配置。
    备份配置
    _user@host# _save config20210317 交换机上备份一个
    user@host> file list detail 配置保存在home目录下面,/var/home/Juniper
    恢复配置
    _user@host# _load override 后面跟你保存的文件的名称就可以了

    request system software add /var/tmp/junos-arm-32-20.2R3-S2.5.tgz no-copy no-validate unlink force

    request system storage cleanup
    show system storage
    show system storage member

    1. 运行request system storage cleanup命令。这将删除所有不必要的文件,但保持所有内容/root完好无损:
      root@juniper> request system storage cleanup
      2. 运行request system snapshot delete snap命令。这将删除系统上存储的所有现有恢复快照。
      root@juniper> 请求系统快照删除快照

    root@EX2200:RE:0%cli
    root@EX2200>request system software add /var /tmp/jinstall-ex-4200-10.4R8.5-domestic-signed.tgz
    等待验证
    NOTICE: Validating configuration against EX23-3400_junos-arm-32-18.2R3.4.tgz.
    NOTICE: Use the ‘no-validate’ option to skip this if desired.
    注意:根据EX23-3400_junos-arm-32-18.2R3.4.tgz验证配置。
    注意:如果需要,请使用“ no-validate”选项跳过此选项。
    ……
    ……
    ……



    B、 设备在启动时通过U盘升级过程
    1、插入U盘:
    {master:0}
    lab@EX4200-2>
    {master:0}
    lab@EX4200-2> umass1: Netac OnlyDisk, rev 2.00/1.10, addr 3
    da1 at umass-sim1 bus 1 target 0 lun 0
    da1: Removable Direct Access SCSI-0 device
    da1: 40.000MB/s transfers
    da1: 3822MB (7827456 512 byte sectors: 255H 63S/T 487C)

    {master:0}

    2、重启设备:

    lab@EX4200-2> request system reboot
    Reboot the system ? [yes,no] (no) yes

    FINAL System shutdown message from lab@EX4200-2
    System going down IMMEDIATELY



    Shutdown NOW!
    [pid 1879]
    {master:0}
    lab@EX4200-2>
    WARNING: cli has been replaced by an updated version:
    CLI release 10.2R1.8 built by builder on 2010-05-27 19:46:08 UTC
    Restart cli using the new version ? [yes,no] (yes) JWaiting (max 60 seconds) for system process vnlru' to stop...done<br />Waiting (max 60 seconds) for system processvnlru_mem’ to stop…done
    Waiting (max 60 seconds) for system process bufdaemon' to stop...done<br />Waiting (max 60 seconds) for system processsyncer’ to stop…
    Syncing disks, vnodes remaining…2 2 2 0 1 1 0 0 0 done
    syncing disks… All buffers synced.
    Uptime: 2d1h23m20s
    recorded reboot as normal shutdown
    Rebooting…
    U-Boot 1.1.6 (Feb 6 2008 - 11:27:42)
    Board: EX4200-24T 2.16
    EPLD: Version 6.0 (0x85)
    DRAM: Initializing (1024 MB)
    FLASH: 8 MB
    USB: scanning bus for devices… 3 USB Device(s) found
    scanning bus for storage devices… 2 Storage Device(s) found
    Consoles: U-Boot console
    Found compatible API, ver. 7
    FreeBSD/PowerPC U-Boot bootstrap loader, Revision 2.1
    (marcelm@apg-bbuild01.juniper.net, Wed Feb 6 11:23:55 PST 2008)
    Memory: 1024MB
    Loading /boot/defaults/loader.conf
    /kernel data=0x8511a0+0x8dbd0 syms=[0x4+0x72d50+0x4+0xa1efd]

    3、点击SPACE键盘进入Loader模式:

    Hit [Enter] to boot immediately, or space bar for command prompt.
    Type ‘?’ for a list of commands, ‘help’ for more detailed help.
    loader>
    4、升级软件版本:
    loader> install file:///jinstall-ex-4200-10.1R2.8-domestic-signed.tgz
    Package /jinstall-ex-4200-10.1R2.8-domestic-signed.tgz is signed…
    /kernel data=0x503ffc+0x51dfc syms=[0x4+0x4ea50+0x4+0x71a52]

    Kernel entry at 0xa00000e0 …
    GDB: no debug ports present
    KDB: debugger backends: ddb
    KDB: current backend: ddb
    Copyright (c) 1996-2010, 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 10.1R2.8 #0: 2010-05-11 02:48:00 UTC
    builder@queth.juniper.net:/volume/build/junos/10.1/release/10.1R2.8/obj-powerpc/bsd/sys/compile/INSTALL-EX
    Timecounter “decrementer” frequency 50000000 Hz quality 0
    cpu0: Freescale e500v2 core revision 2.2
    cpu0: HID0 80004080
    real memory = 1043333120 (995 MB)
    avail memory = 1021726720 (974 MB)
    ETHERNET SOCKET BRIDGE initialising
    Initializing EXSERIES platform properties …
    nexus0:
    ocpbus0: on nexus0
    openpic0: iomem 0xfef40000-0xfef600b3 on ocpbus0
    i2c0: iomem 0xfef03000-0xfef03014 irq 59 on ocpbus0
    i2c1: iomem 0xfef03100-0xfef03114 irq 59 on ocpbus0
    uart0: <16550 or compatible> iomem 0xfef04500-0xfef0450f irq 58 on ocpbus0
    uart0: console (9600,n,8,1)
    uart1: <16550 or compatible> iomem 0xfef04600-0xfef0460f irq 58 on ocpbus0
    lbc0: iomem 0xfef05000-0xfef05fff,0xff000000-0xffffffff irq 22 on ocpbus0
    cfi0: iomem 0xff800000-0xffffffff on lbc0
    syspld0 iomem 0xff000000-0xff00ffff on lbc0
    tsec0: iomem 0xfef24000-0xfef24fff irq 45,46,50 on ocpbus0
    tsec0: hardware MAC address 00:23:9c:11:2b:bf
    miibus0: on tsec0
    e1000phy0: on miibus0
    e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
    pcib0: iomem 0xfef08000-0xfef08fff,0xf0000000-0xf3ffffff on ocpbus0
    pci0: on pcib0
    pci0: at device 18.0 (no driver attached)
    ehci0: mem 0xf0001000-0xf00010ff irq 22 at device 18.2 on pci0
    usb0: EHCI version 1.0
    usb0: on ehci0
    usb0: USB revision 2.0
    uhub0: Philips EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
    uhub0: 2 ports with 2 removable, self powered
    umass0: STMicroelectronics ST72682 High Speed Mode, rev 2.00/2.10, addr 2
    umass1: Netac OnlyDisk, rev 2.00/1.10, addr 3
    pcib1: iomem 0xfef0a000-0xfef0afff,0xe0000000-0xe3ffffff,0xec000000-0xec0fffff irq 42 on ocpbus0
    pci1: on pcib1
    pcib2: at device 0.0 on pci1
    pci2: on pcib2
    pci2: at device 0.0 (no driver attached)
    pcib3: iomem 0xfef0b000-0xfef0bfff,0xe8000000-0xebffffff,0xec200000-0xec2fffff irq 43 on ocpbus0
    pci3: on pcib3
    pcib4: at device 0.0 on pci3
    pci4: on pcib4
    pci4: at device 0.0 (no driver attached)
    Timecounters tick every 10.000 msec
    md0: Preloaded image 10668032 bytes at 0xa06162a4
    da1 at umass-sim1 bus 1 target 0 lun 0
    da1: Removable Direct Access SCSI-0 device
    da1: 40.000MB/s transfers
    da1: 3822MB (7827456 512 byte sectors: 255H 63S/T 487C)
    da0 at umass-sim0 bus 0 target 0 lun 0
    da0: Removable Direct Access SCSI-2 device
    da0: 40.000MB/s transfers
    da0: 1000MB (2048000 512 byte sectors: 64H 32S/T 1000C)
    Trying to mount root from cd9660:/dev/md0
    FILE SYSTEM CLEAN; SKIPPING CHECKS
    clean, 160932 free (28 frags, 20113 blocks, 0.0% fragmentation)
    tunefs: soft updates remains unchanged as disabled
    FILE SYSTEM CLEAN; SKIPPING CHECKS
    clean, 28153 free (33 frags, 3515 blocks, 0.1% fragmentation)
    /dev/da0s2a: 187.2MB (383352 sectors) block size 16384, fragment size 2048
    using 4 cylinder groups of 46.80MB, 2995 blks, 6016 inodes.
    with soft updates
    super-block backups (for fsck -b #) at:
    32, 95872, 191712, 287552
    /dev/da0s2f: 124.8MB (255584 sectors) block size 16384, fragment size 2048
    using 4 cylinder groups of 31.20MB, 1997 blks, 4096 inodes.
    with soft updates
    super-block backups (for fsck -b #) at:
    32, 63936, 127840, 191744
    Installing disk1:/jinstall-ex-4200-10.1R2.8-domestic-signed.tgz
    /dev/da0s3d: 319.6MB (654524 sectors) block size 16384, fragment size 2048
    using 4 cylinder groups of 79.91MB, 5114 blks, 10240 inodes.
    super-block backups (for fsck -b #) at:
    32, 163680, 327328, 490976
    date: connect: Can’t assign requested address
    Checking package integrity…
    Verified SHA1 checksum of jbase-ex-10.1R2.8.tgz
    Verified SHA1 checksum of jboot-ex-10.1R2.8.tgz
    Verified SHA1 checksum of jcrypto-ex-10.1R2.8.tgz
    Verified SHA1 checksum of jdocs-ex-10.1R2.8.tgz
    Verified SHA1 checksum of jkernel-ex-10.1R2.8.tgz
    Verified SHA1 checksum of jpfe-ex42x-10.1R2.8.tgz
    Verified SHA1 checksum of jroute-ex-10.1R2.8.tgz
    Verified SHA1 checksum of jswitch-ex-10.1R2.8.tgz
    Verified SHA1 checksum of jweb-ex-10.1R2.8.tgz
    Running requirements check first for jbundle-ex-4200-10.1R2.8-domestic…
    Running pre-install for jbundle-ex-4200-10.1R2.8-domestic…
    Installing jbundle-ex-4200-10.1R2.8-domestic in /tmp/pa2379.25/jbundle-ex-4200-10.1R2.8-domestic.x2379…
    Running post-install for jbundle-ex-4200-10.1R2.8-domestic…
    Adding jkernel-ex…
    Adding jcrypto-ex…
    Adding jdocs-ex…
    Adding jswitch-ex…
    Adding jpfe-ex42x…
    Adding jroute-ex…
    Adding jweb-ex…
    Saving home directories
    Rebooting to complete the installation. Please wait…
    Waiting (max 60 seconds) for system process vnlru_mem' to stop...done<br />Waiting (max 60 seconds) for system processvnlru’ to stop…done
    Waiting (max 60 seconds) for system process bufdaemon' to stop...done<br />Waiting (max 60 seconds) for system processsyncer’ to stop…
    Syncing disks, vnodes remaining…0 0 0 0 0 0 0 0 done

    syncing disks… All buffers synced.
    Uptime: 3m22s
    Rebooting…


    U-Boot 1.1.6 (Feb 6 2008 - 11:27:42)

    Board: EX4200-24T 2.16
    EPLD: Version 6.0 (0x85)
    DRAM: Initializing (1024 MB)
    FLASH: 8 MB
    USB: scanning bus for devices… 3 USB Device(s) found
    scanning bus for storage devices… 2 Storage Device(s) found

    Consoles: U-Boot console
    Found compatible API, ver. 7

    FreeBSD/PowerPC U-Boot bootstrap loader, Revision 2.1
    (marcelm@apg-bbuild01.juniper.net, Wed Feb 6 11:23:55 PST 2008)
    Memory: 1024MB
    Loading /boot/defaults/loader.conf
    /kernel text=0x7dfb3c data=0x41414+0x88134 syms=[0x4+0x703a0+0x4+0x9dbdc]


    Hit [Enter] to boot immediately, or space bar for command prompt.
    Booting [/kernel]…
    Kernel entry at 0xa00000e0 …
    GDB: no debug ports present
    KDB: debugger backends: ddb
    KDB: current backend: ddb
    Copyright (c) 1996-2010, 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 10.1R2.8 #0: 2010-05-11 04:08:08 UTC
    builder@queth.juniper.net:/volume/build/junos/10.1/release/10.1R2.8/obj-powerpc/bsd/sys/compile/JUNIPER-EX
    Timecounter “decrementer” frequency 50000000 Hz quality 0
    cpu0: Freescale e500v2 core revision 2.2
    cpu0: HID0 80004080
    real memory = 1050673152 (1002 MB)
    avail memory = 1029046272 (981 MB)
    ETHERNET SOCKET BRIDGE initialising
    Initializing EXSERIES platform properties …
    nexus0:
    ocpbus0: on nexus0
    openpic0: iomem 0xfef40000-0xfef600b3 on ocpbus0
    i2c0: iomem 0xfef03000-0xfef03014 irq 59 on ocpbus0
    i2c1: iomem 0xfef03100-0xfef03114 irq 59 on ocpbus0
    uart0: <16550 or compatible> iomem 0xfef04500-0xfef0450f irq 58 on ocpbus0
    uart0: console (9600,n,8,1)
    uart1: <16550 or compatible> iomem 0xfef04600-0xfef0460f irq 58 on ocpbus0
    lbc0: iomem 0xfef05000-0xfef05fff,0xff000000-0xffffffff irq 22 on ocpbus0
    cfi0: iomem 0xff800000-0xffffffff on lbc0
    syspld0 iomem 0xff000000-0xff00ffff on lbc0
    tsec0: iomem 0xfef24000-0xfef24fff irq 45,46,50 on ocpbus0
    tsec0: hardware MAC address 00:23:9c:11:2b:bf
    miibus0: on tsec0
    e1000phy0: on miibus0
    e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
    pcib0: iomem 0xfef08000-0xfef08fff,0xf0000000-0xf3ffffff on ocpbus0
    pci0: on pcib0
    pci0: at device 18.0 (no driver attached)
    ehci0: mem 0xf0001000-0xf00010ff irq 22 at device 18.2 on pci0
    usb0: EHCI version 1.0
    usb0: on ehci0
    usb0: USB revision 2.0
    uhub0: Philips EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
    uhub0: 2 ports with 2 removable, self powered
    umass0: STMicroelectronics ST72682 High Speed Mode, rev 2.00/2.10, addr 2
    umass1: Netac OnlyDisk, rev 2.00/1.10, addr 3
    pcib1: iomem 0xfef0a000-0xfef0afff,0xe0000000-0xe3ffffff,0xec000000-0xec0fffff irq 42 on ocpbus0
    pci1: on pcib1
    pcib2: at device 0.0 on pci1
    pci2: on pcib2
    mpfe0: mem 0xa4000000-0xa40fffff,0xa0000000-0xa3ffffff irq 19 at device 0.0 on pci2
    pcib3: iomem 0xfef0b000-0xfef0bfff,0xe8000000-0xebffffff,0xec200000-0xec2fffff irq 43 on ocpbus0
    pci3: on pcib3
    pcib4: at device 0.0 on pci3
    pci4: on pcib4
    mpfe1: mem 0xb4000000-0xb40fffff,0xb0000000-0xb3ffffff irq 18 at device 0.0 on pci4
    idma0: iomem 0xfef21000-0xfef21300 irq 36 on ocpbus0
    Initializing product: 41 ..
    bme0:Virtual BME driver initializing
    Timecounters tick every 1.000 msec
    Loading the NETPFE picpeer module
    IPsec: Initialized Security Association Processing.
    da1 at umass-sim1 bus 1 target 0 lun 0
    da1: Removable Direct Access SCSI-0 device
    da1: 40.000MB/s transfers
    da1: 3822MB (7827456 512 byte sectors: 255H 63S/T 487C)
    da0 at umass-sim0 bus 0 target 0 lun 0
    da0: Removable Direct Access SCSI-2 device
    da0: 40.000MB/s transfers
    da0: 1000MB (2048000 512 byte sectors: 64H 32S/T 1000C)
    if_pfe_open: listener socket opened, listening on …
    Trying to mount root from ufs:/dev/da0s2a
    Attaching /packages/jbase via /dev/mdctl…
    Mounted jbase package on /dev/md0…
    Mounted jcrypto-ex package on /dev/md1…
    Mounted jdocs-ex package on /dev/md2…
    Mounted jkernel-ex package on /dev/md3…
    Mounted jpfe-ex42x package on /dev/md4…
    Mounted jroute-ex package on /dev/md5…
    Mounted jswitch-ex package on /dev/md6…
    Mounted jweb-ex package on /dev/md7…
    Executing /packages/mnt/jweb-ex-10.1R2.8/mount.post..
    Automatic reboot in progress…
    FILE SYSTEM CLEAN; SKIPPING CHECKS
    clean, 37854 free (30 frags, 4728 blocks, 0.0% fragmentation)
    FILE SYSTEM CLEAN; SKIPPING CHECKS
    clean, 28153 free (33 frags, 3515 blocks, 0.1% fragmentation)
    FILE SYSTEM CLEAN; SKIPPING CHECKS
    clean, 62738 free (26 frags, 7839 blocks, 0.0% fragmentation)
    FILE SYSTEM CLEAN; SKIPPING CHECKS
    clean, 160986 free (26 frags, 20120 blocks, 0.0% fragmentation)
    FILE SYSTEM CLEAN; SKIPPING CHECKS
    clean, 160986 free (26 frags, 20120 blocks, 0.0% fragmentation)
    Creating initial configuration…mgd: commit complete
    Setting initial options: debugger_on_panic=NO debugger_on_break=NO.
    Starting optional daemons: OK: extracted home directories.
    .
    Doing initial network setup:.
    Initial interface configuration:
    additional daemons:.
    Additional routing options:kern.module_path: /boLoading the NETPFE ethernet module
    ot//kernel;/boot/modules -> /booLoading common multilink module.
    t//kernel;/boot/Loading the EX-series platform NETPFE module
    modules;/modules
    grat_arp_on_ifup=YES: net.link.ether.inet.grat_arp_on_ifup: 1 -> 1
    kld netpfe drv: ifpfed_eth ifpfed_ml_cmnkld platform: ex_ifpfe if_vcpkern.module_path: /boot//kernel;/boot/modules;/modules -> /boot//kernel;/boot/modules;/modules;/modules/peertype
    kld peertype: peertype_hcm peertype_pfem peertype_sfi peertype_slavere ipsec kld.
    Doing additional network setup:.
    Starting final network daemons:.
    setting ldconfig path: /usr/lib /opt/lib
    starting standard daemons: cron.
    Local package initialization:.
    starting local daemons:.
    Tue May 11 06:02:43 UTC 2010

    EX4200-2 (ttyu0)
    二、 通过ftp升级
    file copy ftp://lab:lab123@10.8.18.41/jinstall-ex-3200-12.3R3.4-domestic-signed.tgz /var/tmp/jinstall-ex-3200-12.3R3.4-domestic-signed.tgz从PC上传到防火墙

    file copy ftp://lab:lab123@10.8.18.41/jloader-ex-3242-11.3I20110326_0802_hmerge-signed.tgz /var/tmp/jloader-ex-3242-11.3I20110326_0802_hmerge-signed.tgz


    file copy /var/tmp/jinstall-ex-2200-10.3R2.11-domestic-signed.tgz ftp://user:user123@192.168.0.100/jinstall-ex-2200-10.3R2.11-domestic-signed.tgz 从防火墙下载到PC

    三、 通过TFTP升级
    说明:192.168.100.2交换机IP
    192.168.100.1PC的IP
    一、按下面set开始的输进去,IP可以自已定义
    loader> set ipaddr=192.168.100.2
    loader> set netmask=255.255.255.0
    loader> set serverip=192.168.100.1
    二、打开TFTP软件

    loader> install tftp://192.168.100.1/jinstall-ex-2200-10.3R2.11-domestic-signed.tgz

    TFTP:
    1.Connect a terminal to the EX switch console port and power on the switch.
    2.When you see the “loading /boot/defaults/loader.conf” display, hit ENTER. You will be prompted with:
    Hit [Enter] to boot immediately, or space bar for command prompt.
    3.Press the space bar to enter the manual loader. The loader> prompt displays.
    4.Set the EX Switch management IP address and netmask:
    loader> set ipaddr=192.168.100.2
    loader> set netmask=255.255.255.0
    loader> set serverip=192.168.100.1
    5.Issue the install command with the format option to install the Junos image via TFTP:
    loader> install —format tftp:///

    For example:
    loader> install —format tftp://192.168.100.1/jinstall-ex-4200-10.4R2.6-domestic-signed.tgz

    USB:
    1.To perform this recovery installation, the USB Drive should be formatted to FAT-32 & should be empty.
    2.Copy the Junos package to USB flash drive.
    3.Power off the EX switch
    4.Put the USB flash drive in the EX switch.
    5.Power on the EX switch.
    6.After the ‘Loading getting /boot/default/loader.conf’ displays, hit space bar for the loader> prompt.
    7.Issue the install command with the format option:
    loader> install —format file:///
    For example:
    loader> install —format file:///jinstall-ex-4200-10.4R2.6-domestic-signed.tgz