Reset Search
 

 

Article

TFTP/NFS netinstall on 6740/6940/8770

« Go Back

Information

 
TitleTFTP/NFS netinstall on 6740/6940/8770
Question
Method to do a netinstall with TFTP and NFS without the need for a USB drive.
Environment
  • NOS
  • 6740/6940/8770
Needed:
  • TFTP server with boot images (6740/6940 or 8770)
  • NFS server with NOS install
Answer
The method to do this include the following steps.
  • Interrupt boot and set IP/mask/GW and bootserver IP
  • Boot uboot image from the TFTP server
  • Configure management interface with IP and mount the NOS image from an NFS server
  • Run the installer to install the image
  1. Reboot the switch and press the ESC to interrupt the boot.
  2. Use option 3 to enter command shell
  3. Configure IP address/mask/gateway and TFTP server IP
    • Check if the correct is set using printenv and set as below
    • setenv ipaddr  <IP address>
    • setenv netmask <subnet mask>
    • setenv gatewayip <Default Gateway IP>
    • setenv serverip <TFTP server>
    • make sure you can ping the TFTP server
  4. Boot the uboot image from the TFTP server using one of the below commands corresponding to the switch.
    • 6740/6940-36S: => makesinrec 0x1000000;tftpboot 2000000 castorXX/uImage;tftpboot 4000000 castorXX/silkworm_bd131.dtb;tftpboot 3000000 castorXX/ramdisk.image;bootm 2000000 3000000 4000000 
    • ​For the 6940-144S: => makesinrec 0x1000000;tftpboot 2000000 rigelMor/uImage.new;tftpboot 4000000 rigelMor/silkworm_bd154.dtb;tftpboot 3000000 rigelMor/ramdisk.mercury.Aug;bootm 2000000 3000000 4000000
    • For the 8770 => makesinrec 1000000;tftp 2000000 MM34/uImage.smp;tftp 3000000 MM34/ramdisk.mercury.Aug;tftp 4000000 MM34/silkworm_bd1000.dtb;bootm 2000000 3000000 400000
  5. After the uboot the switch comes up with basic linux. Configure the management with an IP address using the normal linux commands
    • ifconfig eth0 <IP address> netmask <netmask> UP
    • route add default gw <Gateway IP>
  6. Mount the NOS image from the NFS server with mount command.
    • mount -o tcp,nolock <NFS server IP>:/<NOS directory> /load
  7. Install NOS on the switch
    • cd /load
    • ./install release
    • sync
    • reboot
For an example see below.
 
Additional notes


Reload switch and escape boot


scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Hit ESC to stop autoboot: 0

) Start system.
2) Recover password.
3) Enter command shell.

Option? 3

Boot PROM password has not been set.
=> printenv
AutoLoad=yes
LoadIdentifiers=Fabric Operating System;Fabric Operating System
OSLoadOptions=quiet
OSRootPartition=sda2;sda1
SkipWatchdog=yes
bootargs=root=/dev/sda$prt rootfstype=ext4 quiet
bootcmd=execute_internal_bootcmd
bootdelay=5
devinit=usb reset 0
devname=sda
eth3addr=50:EB:1A:AF:2B:60
eth4addr=50:EB:1A:AF:2B:61
ethact=FM1@DTSEC4
ethaddr=50:EB:1A:AF:2B:60
fastboot=true
gatewayip=10.17.72.1
gosaddr=0x78000000
goscmd=ext2load usb 0:$prt $gosaddr boot/zImage.tree.initrd
hv_bootargs=config-addr=0x3000000
hvcmd=makesinrec 0x79fff000;ext2load usb 0:$prt 0x4000000 boot/silkworm.dtb;ext2load usb 0:$prt 0x2000000 boot/hv.uImage;ext2load usb 0:$prt 0x3000000 boot/silkworm_hct.dtb;bootm 0x2000000 - 0x4000000
hvcmd_fast=makesinrec 0x79fff000;ext2load usb 0:$prt 1000 /boot/fastloading.mdt;usb fastload 1000 ;bootm 0x2000000 - 0x4000000
ipaddr=10.17.72.112
linux_bootcmd=makesinrec 0x01000000;ext2load usb 0:$prt 0x4000000 boot/silkworm.dtb;ext2load usb 0:$prt boot/zImage.tree.initrd;bootm 0x2000000 - 0x4000000
netmask=255.255.255.0
prt=1
recovery_bootcmd=tftp 0x5000000 HiBootWdCntRecover_mm.scr;source 0x5000000
serverip=

Environment size: 1131/2000 bytes at 0x7fe1f818
loaded from persistent bootenv for GOS 0 at 0xed000800
=> setenv serverip 10.17.65.220
=> saveenv
Saving Environment to NVRAM...
=> printenv
AutoLoad=yes
LoadIdentifiers=Fabric Operating System;Fabric Operating System
OSLoadOptions=quiet
OSRootPartition=sda2;sda1
SkipWatchdog=yes
bootargs=root=/dev/sda$prt rootfstype=ext4 quiet
bootcmd=execute_internal_bootcmd
bootdelay=5
devinit=usb reset 0
devname=sda
eth3addr=50:EB:1A:AF:2B:60
eth4addr=50:EB:1A:AF:2B:61
ethact=FM1@DTSEC4
ethaddr=50:EB:1A:AF:2B:60
fastboot=true
gatewayip=10.17.72.1
gosaddr=0x78000000
goscmd=ext2load usb 0:$prt $gosaddr boot/zImage.tree.initrd
hv_bootargs=config-addr=0x3000000
hvcmd=makesinrec 0x79fff000;ext2load usb 0:$prt 0x4000000 boot/silkworm.dtb;ext2load usb 0:$prt 0x2000000 boot/hv.uImage;ext2load usb 0:$prt 0x3000000 boot/silkworm_hct.dtb;bootm 0x2000000 - 0x4000000
hvcmd_fast=makesinrec 0x79fff000;ext2load usb 0:$prt 1000 /boot/fastloading.mdt;usb fastload 1000 ;bootm 0x2000000 - 0x4000000
ipaddr=10.17.72.112
linux_bootcmd=makesinrec 0x01000000;ext2load usb 0:$prt 0x4000000 boot/silkworm.dtb;ext2load usb 0:$prt boot/zImage.tree.initrd;bootm 0x2000000 - 0x4000000
netmask=255.255.255.0
prt=1
recovery_bootcmd=tftp 0x5000000 HiBootWdCntRecover_mm.scr;source 0x5000000
serverip=10.17.65.220

Environment size: 1143/2000 bytes at 0x7fe1f818
loaded from persistent bootenv for GOS 0 at 0xed000800

=> makesinrec 0x1000000
=> tftpboot 2000000 castorXX/uImage
Using FM1@DTSEC4 device
TFTP from server 10.17.65.220; our IP address is 10.17.72.112; sending through gateway 10.17.72.1
Filename 'castorXX/uImage'.
Load address: 0x2000000
Loading: #################################################################
#################################################################
######################################################T ###########
###############################################
done
Bytes transferred = 3545060 (3617e4 hex)
=> tftpboot 4000000 castorXX/silkworm_bd131.dtb
Using FM1@DTSEC4 device
TFTP from server 10.17.65.220; our IP address is 10.17.72.112; sending through gateway 10.17.72.1
Filename 'castorXX/silkworm_bd131.dtb'.
Load address: 0x4000000
Loading: ##
done
Bytes transferred = 20944 (51d0 hex)
=> tftpboot 3000000 castorXX/ramdisk.image
Using FM1@DTSEC4 device
TFTP from server 10.17.65.220; our IP address is 10.17.72.112; sending through gateway 10.17.72.1
Filename 'castorXX/ramdisk.image'.
Load address: 0x3000000
Loading: T #################################################################
###########################################T ##T ####################
#################################################################
###########################T ######################################
#############################################################T ####
#################################################################
#################################################################
#
done
Bytes transferred = 6686011 (66053b hex)
=> bootm 2000000 3000000 4000000
WARNING: adjusting available memory to 30000000
## Booting kernel from Legacy Image at 02000000 ...
Image Name: Linux-2.6.34.6
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 3544996 Bytes = 3.4 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 03000000 ...
Image Name: ramdisk.v0
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 6685947 Bytes = 6.4 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 04000000
Booting using the fdt blob at 0x4000000
Uncompressing Kernel Image ... OK
Loading Ramdisk to 2f99f000, end 2ffff4fb ... OK
Loading Device Tree to 00ff7000, end 00fff1cf ... OK
this is quiet!

end of DRAM 8589930496 memstart_addr0 total_lowmem 8589930496
setup_arch: bootmem
mpc85xx_pb_setup_arch()
arch: exit
network namespace NR (VRF) started

mmod_sysctl_inited: 1

Fman microcode 51 45 46

FMAN microcode UC size 0x1b64
default MII is 0xc1524000 for tsec0
default MII is 0xc1528000 for tsec0
Uboot wdt counter value: 0
EXT4-fs error (device ram0): ext4_mb_generate_buddy: EXT4-fs: group 0: 588 blocks in bitmap, 746 in gd
EXT4-fs error (device ram0): ext4_mb_generate_buddy: EXT4-fs: group 1: 869 blocks in bitmap, 311 in gd


Welcome to the Cobra platform NetBoot

Special Netboot image for Cobra platforms
bash-2.04#
bash-2.04#
bash-2.04# bootenv
AutoLoad=yes
LoadIdentifiers=Fabric Operating System;Fabric Operating System
OSLoadOptions=quiet
OSRootPartition=sda2;sda1
SkipWatchdog=yes
bootargs=root=/dev/sda$prt rootfstype=ext4 quiet
bootcmd=execute_internal_bootcmd
bootdelay=5
devinit=usb reset 0
devname=sda
eth3addr=50:EB:1A:AF:2B:60
eth4addr=50:EB:1A:AF:2B:61
ethact=FM1@DTSEC4
ethaddr=50:EB:1A:AF:2B:60
fastboot=true
gatewayip=10.17.72.1
gosaddr=0x78000000
goscmd=ext2load usb 0:$prt $gosaddr boot/zImage.tree.initrd
hv_bootargs=config-addr=0x3000000
hvcmd=makesinrec 0x79fff000;ext2load usb 0:$prt 0x4000000 boot/silkworm.dtb;ext2load usb 0:$prt 0x2000000 boot/hv.uImage;ext2load usb 0:$prt 0x3000000 boot/silkworm_hct.dtb;bootm 0x2000000 - 0x4000000
hvcmd_fast=makesinrec 0x79fff000;ext2load usb 0:$prt 1000 /boot/fastloading.mdt;usb fastload 1000 ;bootm 0x2000000 - 0x4000000
ipaddr=10.17.72.112
linux_bootcmd=makesinrec 0x01000000;ext2load usb 0:$prt 0x4000000 boot/silkworm.dtb;ext2load usb 0:$prt boot/zImage.tree.initrd;bootm 0x2000000 - 0x4000000
netmask=255.255.255.0
prt=1
recovery_bootcmd=tftp 0x5000000 HiBootWdCntRecover_mm.scr;source 0x5000000
serverip=10.17.65.220
bash-2.04#
bash-2.04# ifconfig
bash-2.04#
bash-2.04# ifconfig eth0 10.17.72.112 netmask 255.255.255.0 up
bash-2.04# route add default gw 10.17.72.1
bash-2.04#
bash-2.04#
bash-2.04# mount -o nolock 10.17.65.220:/mnt/vol0 /load
bash-2.04#
bash-2.04# cd /load
bash-2.04# ./install release
INSTALL26: Installing Linux 2.6 ...
Firmware Install on /dev/sda
INSTALL26: INSTALL26ING for platform: SWBD131 revision: 2 package release
INSTALL26: Partitioning sda drive...
sysfs on /sysfs type sysfs (rw,relatime)
INSTALL26: Drive Size: BLOCKS=16076592 HALFMB=3924 ENDMB=7848
INSTALL26: Drive Size: BLOCKS=16076592 PART1END=1962 PART2END=3924 PART3START =3925 PART3END=5887
INSTALL26: Partition setup for /dev/sda ...
INSTALL26: Partition 1: 0 - 3924
INSTALL26: Partition 2: 3924 - 7848
Warning: The resulting partition is not properly aligned for best performance.
Model: Generic Flash HS-CF (scsi)
Disk /dev/sda: 8231MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 512B 1962MB 1962MB primary
2 1963MB 3924MB 1961MB primary ext4
3 3925MB 5887MB 1962MB primary ext4
4 5887MB 7848MB 1961MB primary ext4

INSTALL26: Creating ext4 file system on /dev/sda...
mke2fs 1.41.4 (27-Jan-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
119760 inodes, 479003 blocks
23950 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=490733568
15 block groups
32768 blocks per group, 32768 fragments per group
7984 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
tune2fs 1.41.4 (27-Jan-2009)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
mke2fs 1.41.4 (27-Jan-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
119760 inodes, 478720 blocks
23936 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=490733568
15 block groups
32768 blocks per group, 32768 fragments per group
7984 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
tune2fs 1.41.4 (27-Jan-2009)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
mke2fs 1.41.4 (27-Jan-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
119760 inodes, 478976 blocks
23948 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=490733568
15 block groups
32768 blocks per group, 32768 fragments per group
7984 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
tune2fs 1.41.4 (27-Jan-2009)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
mke2fs 1.41.4 (27-Jan-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
119760 inodes, 478720 blocks
23936 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=490733568
15 block groups
32768 blocks per group, 32768 fragments per group
7984 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
tune2fs 1.41.4 (27-Jan-2009)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
INSTALL26: Skipping the memory tests
INSTALL26: Mounting Primary FileSystem(/dev/sda1) on /mnt...
INSTALL26: Installing RPMs from SWBD131/release.plist rooted at /mnt...
INSTALL26: Installing RPMs using rpm --root /mnt ...
INSTALL26: Initializing RPM database...
Preparing packages for installation...
package install.
.........

reboot -f
 

Feedback

 

Was this article helpful?


   

Feedback

Please tell us how we can make this article more useful.

Characters Remaining: 255