cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Cisco Standalone C-Series Host Update Utility USB Image Utility

22201
Views
18
Helpful
29
Comments

****UPDATE DECEMBER 2017

A new version of the script is posted below (v3). This version adds additional support for UEFI boot on UCS Rack Servers.


About the Cisco Standalone C-Series Host Update Utility USB Image Utility:

This utility is designed to assist users who want to update firmware on their standalone C-Series server from a USB drive. Specific, this utility will write the HUU ISO image to a bootable USB stick. This USB stick can be used to update firmware on a standalone C-Series server either by changing the boot order or manually selecting the USB device in the <F6> boot menu.

Requirements: 
- HUU USB Image Utility
- Linux Server (Tested with RHEL 6.4 and CENTOS 6.4)
- The following package must be installed: syslinux-4.02-8.el6.x86_64 (or later)
- Standalone C-Series HUU Image (to be written)

Note: You may need to unmount the drive to properly execute the script. (umount <dev>)

Tool usage:

sh create_util_usb_v2.sh <UCSB Device> <file.iso>

OR
sh create_util_usb_v2.sh /dev/sdb ucs-c240-huu-2.0.3.16.iso

------------------------------------------------------------------------------------

Expected Output: (Note: This is expected output form the tool)

# ./create_util_usb_v2.sh /dev/sdb ucs-c240-huu-2.0.3d-1.iso

syslinux-nonlinux-4.04-3.el6.noarch

syslinux-4.04-3.el6.x86_64

/dev/loop0

ucs-c240-huu-2.0.3d-1.iso

/dev/loop0

## Creating partitions... Please wait (Will take a few minutes)

10+0 records in

10+0 records out

40960 bytes (41 kB) copied, 0.00440779 s, 9.3 MB/s

Zeroing of USB done.....

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0x4e25a2d2.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') and change display units to

         sectors (command 'u').

Command (m for help): Command action

   e   extended

   p   primary partition (1-4)

Partition number (1-4): First cylinder (1-15272, default 1): Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-15272, default 15272):

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') and change display units to

         sectors (command 'u').

Command (m for help): Partition number (1-4):

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

## Formating the partitions

mkdosfs 3.0.9 (31 Jan 2010)

0+1 records in

0+1 records out

440 bytes (440 B) copied, 0.00460309 s, 95.6 kB/s

/dev/loop0

`/tmp/HUU/C240M3-2.0.3d.zip' -> `/tmp/usb2.4196/./C240M3-2.0.3d.zip'

`/tmp/HUU/EFI' -> `/tmp/usb2.4196/./EFI'

`/tmp/HUU/EFI/BOOT' -> `/tmp/usb2.4196/./EFI/BOOT'

`/tmp/HUU/EFI/BOOT/BOOTX64.conf' -> `/tmp/usb2.4196/./EFI/BOOT/BOOTX64.conf'

`/tmp/HUU/EFI/BOOT/BOOTX64.efi' -> `/tmp/usb2.4196/./EFI/BOOT/BOOTX64.efi'

`/tmp/HUU/EFI/BOOT/grub.conf' -> `/tmp/usb2.4196/./EFI/BOOT/grub.conf'

`/tmp/HUU/EFI/BOOT/initrd0.img' -> `/tmp/usb2.4196/./EFI/BOOT/initrd0.img'

`/tmp/HUU/EFI/BOOT/isolinux.bin' -> `/tmp/usb2.4196/./EFI/BOOT/isolinux.bin'

`/tmp/HUU/EFI/BOOT/isolinux.cfg' -> `/tmp/usb2.4196/./EFI/BOOT/isolinux.cfg'

`/tmp/HUU/EFI/BOOT/splash.jpg' -> `/tmp/usb2.4196/./EFI/BOOT/splash.jpg'

`/tmp/HUU/EFI/BOOT/splash.xpm.gz' -> `/tmp/usb2.4196/./EFI/BOOT/splash.xpm.gz'

`/tmp/HUU/EFI/BOOT/vesamenu.c32' -> `/tmp/usb2.4196/./EFI/BOOT/vesamenu.c32'

`/tmp/HUU/EFI/BOOT/vmlinuz0' -> `/tmp/usb2.4196/./EFI/BOOT/vmlinuz0'

`/tmp/HUU/firmware.squashfs' -> `/tmp/usb2.4196/./firmware.squashfs'

`/tmp/HUU/isolinux' -> `/tmp/usb2.4196/./isolinux'

`/tmp/HUU/isolinux/boot.cat' -> `/tmp/usb2.4196/./isolinux/boot.cat'

`/tmp/HUU/isolinux/efiboot.img' -> `/tmp/usb2.4196/./isolinux/efiboot.img'

`/tmp/HUU/isolinux/initrd0.img' -> `/tmp/usb2.4196/./isolinux/initrd0.img'

`/tmp/HUU/isolinux/isolinux.bin' -> `/tmp/usb2.4196/./isolinux/isolinux.bin'

`/tmp/HUU/isolinux/isolinux.cfg' -> `/tmp/usb2.4196/./isolinux/isolinux.cfg'

`/tmp/HUU/isolinux/splash.jpg' -> `/tmp/usb2.4196/./isolinux/splash.jpg'

`/tmp/HUU/isolinux/vesamenu.c32' -> `/tmp/usb2.4196/./isolinux/vesamenu.c32'

`/tmp/HUU/isolinux/vmlinuz0' -> `/tmp/usb2.4196/./isolinux/vmlinuz0'

`/tmp/HUU/LiveOS' -> `/tmp/usb2.4196/./LiveOS'

`/tmp/HUU/LiveOS/osmin.img' -> `/tmp/usb2.4196/./LiveOS/osmin.img'

`/tmp/HUU/LiveOS/squashfs.img' -> `/tmp/usb2.4196/./LiveOS/squashfs.img'

`/tmp/HUU/Release-Notes-SL2.txt' -> `/tmp/usb2.4196/./Release-Notes-SL2.txt'

`/tmp/HUU/squashfs_img.md5' -> `/tmp/usb2.4196/./squashfs_img.md5'

`/tmp/HUU/TOC_SANLUIS2.xml' -> `/tmp/usb2.4196/./TOC_SANLUIS2.xml'

`/tmp/HUU/tools.squashfs' -> `/tmp/usb2.4196/./tools.squashfs'

`/tmp/HUU/VIC_FIRMWARE' -> `/tmp/usb2.4196/./VIC_FIRMWARE'

`/tmp/HUU/VIC_FIRMWARE/cruzboot.bin' -> `/tmp/usb2.4196/./VIC_FIRMWARE/cruzboot.bin'

`/tmp/HUU/VIC_FIRMWARE/cruzfw.bin' -> `/tmp/usb2.4196/./VIC_FIRMWARE/cruzfw.bin'

`/tmp/HUU/VIC_FIRMWARE/paloboot.bin' -> `/tmp/usb2.4196/./VIC_FIRMWARE/paloboot.bin'

`/tmp/HUU/VIC_FIRMWARE/palofw.bin' -> `/tmp/usb2.4196/./VIC_FIRMWARE/palofw.bin'

`/tmp/HUU/VIC_FIRMWARE/serenoboot.bin' -> `/tmp/usb2.4196/./VIC_FIRMWARE/serenoboot.bin'

`/tmp/HUU/VIC_FIRMWARE/serenofw.bin' -> `/tmp/usb2.4196/./VIC_FIRMWARE/serenofw.bin'

Disk /dev/sdb: 16.0 GB, 16013852672 bytes

64 heads, 32 sectors/track, 15272 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x4e25a2d2

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *           1        1025     1049584   83  Linux

#


Comments
Community Member

Works great!  I used centos 7 minimal install.  Had to install install two packages to get it working.

yum -y install syslinux

yum -y install dosfstools

Thanks!

Beginner

I don't want to be a party pooper but what about all those out there who aren't whizzes with Linux?

A lot of people who are reporting this problem tried creating their bootable USB keys using tools in Windows or OSX and won't necessarily have the skills or the energy to try this workaround via linux?

Can't there be a workaround that works for windows and OSX users as well because this is basically useless.

Beginner

Also running it with CENTOS 7 minimal using the extra tools suggested above and its saying:

## Creating partitions... Please wait (Will take a few minutes)

umount: /dev/sdb21: mountpoint not found

10+0 records in

10+0 records out

40960 bytes (41 kB) copied, 0.0077842 s, 5.3 MB/s

Zeroing of USB done.....

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x1e92d4d4.

Command (m for help): No partition is defined yet!

Command (m for help): Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): Partition number (1-4, default 1): First sector (2048-15220735, default 2048): Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-15220735, default 15220735): Partition 1 of type Linux and of size 1 GiB is set

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

Error: Partition creation failed.

Beginner

Problem appears to be when you launch it it just uses /dev/loop0 and ignores /dev/sdb1. When you unmount /dev/sdb1 the directory vanishes completely and its unusable.

Cisco Employee

Hi Peter,

Apologies for the troubles you are facing here. Regarding your first query, this tool will not be supported with Windows or Mac OSX. The recommended procedure for FW upgrades is our interactive HUU or NI-HUU - more details can be found here: Cisco Standalone C-Series Host Update Utility USB Image Utility

The tool is really meant as an alternate means and not as the primary method for upgrading servers. With that said, I have not experienced the issues you are facing. Let me dig into this a bit more and see if I can recreate your issue first. Will provide an update once I have more data.

Thanks,

Greg

Cisco Employee

I have the same problem.  I do not have  linux , but window .  How do I create a bootable USB with Windows?  What tool work with window?

Cisco Employee

Hi Grace,

At this time, we do not have plans for a windows version. Is there a specific reason you need to use this tool vs the primary upgrade procedures recommended via NI-HUU / interactive HUU?

Greg

Cisco Employee

Hi Peter,

I dug into this further and it looks like you pointed to the spliced partition on the USB (sdb2) and not the root volume (sdb). What does "fdisk -l" show for the raw USB? I did test this on a CentOS7 server today and had no issues. I was able to recreate the problem you are facing by pointing to a partition on the USB rather than the actual volume.

Greg

Beginner

I'm updating the firmware on roughly 90+ C240-M3s all of which are running 1.5f and aren't compatible with the usual way we roll out firmware updates. The only way we can do it is via the HUU via USB.

Beginner

Its giving me:

[root@localhost Desktop]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x000b2c6e

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     2099199     1048576   83  Linux

/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

Disk /dev/mapper/cl-root: 18.2 GB, 18249416704 bytes, 35643392 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/cl-swap: 2147 MB, 2147483648 bytes, 4194304 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdb: 2002 MB, 2002780160 bytes, 3911680 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x37e76d18

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *          62     3909347     1954643    b  W95 FAT32

Beginner

Using what its given me as the destination of the USB key I did this:

[root@localhost Desktop]# sh create_util_usb_huu_v2.sh /dev/sdb1 /home/prestwick/ucs-c240-huu-3.0.1c.iso

syslinux-4.05-13.el7.x86_64

/dev/loop1

ucs-c240-huu-3.0.1c.iso

/dev/loop1

mount: /dev/loop1 is write-protected, mounting read-only

## Creating partitions... Please wait (Will take a few minutes)

umount: /dev/sdb11: mountpoint not found

10+0 records in

10+0 records out

40960 bytes (41 kB) copied, 0.000187097 s, 219 MB/s

Zeroing of USB done.....

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0xe639c650.

Command (m for help): No partition is defined yet!

Command (m for help): Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): Partition number (1-4, default 1): First sector (2048-3909285, default 2048): Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-3909285, default 3909285): Partition 1 of type Linux and of size 1 GiB is set

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

Error: Partition creation failed.

[root@localhost Desktop]#

-----

I highlighted "sdb11" so it appears that it keeps adding a digit for some reason?

Beginner

I then tried this:

[root@localhost Desktop]# sh create_util_usb_huu_v2.sh /dev/sdb /home/prestwick/ucs-c240-huu-3.0.1c.iso

syslinux-4.05-13.el7.x86_64

/dev/loop1

ucs-c240-huu-3.0.1c.iso

/dev/loop1

mount: /dev/loop1 is write-protected, mounting read-only

## Creating partitions... Please wait (Will take a few minutes)

10+0 records in

10+0 records out

40960 bytes (41 kB) copied, 0.00715368 s, 5.7 MB/s

Zeroing of USB done.....

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x17979fec.

Command (m for help): No partition is defined yet!

Command (m for help): Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): Partition number (1-4, default 1): First sector (2048-3911679, default 2048): Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-3911679, default 3911679): Partition 1 of type Linux and of size 1 GiB is set

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Command (m for help): Selected partition 1

Command (m for help): 1: unknown command

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   g   create a new empty GPT partition table

   G   create an IRIX (SGI) partition table

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

####### creating partition Done ######

###### Formating the partitions ######

mkfs.fat 3.0.20 (12 Jun 2013)

##### Formating partition Done ######

##### add_syslinux #####

0+1 records in

0+1 records out

440 bytes (440 B) copied, 0.000208417 s, 2.1 MB/s

##### add_syslinux DONE  ######

##### copy_files  ######

/dev/loop1

mount: /home/prestwick/ucs-c240-huu-3.0.1c.iso is already mounted

Error: Mounting of SCU ISO [ /home/prestwick/ucs-c240-huu-3.0.1c.iso ] on Dir [ /tmp/SCU ] Failed

rm: cannot remove ‘/tmp/SCU/EFI/BOOT/BOOTX64.conf’: Read-only file system

rm: cannot remove ‘/tmp/SCU/EFI/BOOT/BOOTX64.efi’: Read-only file system

rm: cannot remove ‘/tmp/SCU/EFI/BOOT/grub.conf’: Read-only file system

rm: cannot remove ‘/tmp/SCU/EFI/BOOT/initrd0.img’: Read-only file system

rm: cannot remove ‘/tmp/SCU/EFI/BOOT/splash.xpm.gz’: Read-only file system

rm: cannot remove ‘/tmp/SCU/EFI/BOOT/vmlinuz0’: Read-only file system

rm: cannot remove ‘/tmp/SCU/firmware.squashfs’: Read-only file system

rm: cannot remove ‘/tmp/SCU/GETFW/getfw’: Read-only file system

rm: cannot remove ‘/tmp/SCU/GETFW/readme.txt’: Read-only file system

rm: cannot remove ‘/tmp/SCU/huu-release.xml’: Read-only file system

rm: cannot remove ‘/tmp/SCU/isolinux/boot.cat’: Read-only file system

rm: cannot remove ‘/tmp/SCU/isolinux/efiboot.img’: Read-only file system

rm: cannot remove ‘/tmp/SCU/isolinux/initrd0.img’: Read-only file system

rm: cannot remove ‘/tmp/SCU/isolinux/isolinux.bin’: Read-only file system

rm: cannot remove ‘/tmp/SCU/isolinux/isolinux.cfg’: Read-only file system

rm: cannot remove ‘/tmp/SCU/isolinux/splash.jpg’: Read-only file system

rm: cannot remove ‘/tmp/SCU/isolinux/vesamenu.c32’: Read-only file system

rm: cannot remove ‘/tmp/SCU/isolinux/vmlinuz0’: Read-only file system

rm: cannot remove ‘/tmp/SCU/LiveOS/osmin.img’: Read-only file system

rm: cannot remove ‘/tmp/SCU/LiveOS/squashfs.img’: Read-only file system

rm: cannot remove ‘/tmp/SCU/Release-Notes-SL2.txt’: Read-only file system

rm: cannot remove ‘/tmp/SCU/squashfs_img.md5’: Read-only file system

rm: cannot remove ‘/tmp/SCU/TOC_SANLUIS2.xml’: Read-only file system

rm: cannot remove ‘/tmp/SCU/tools.squashfs’: Read-only file system

rm: cannot remove ‘/tmp/SCU/VIC_FIRMWARE/cruzboot.bin’: Read-only file system

rm: cannot remove ‘/tmp/SCU/VIC_FIRMWARE/cruzfw.bin’: Read-only file system

rm: cannot remove ‘/tmp/SCU/VIC_FIRMWARE/serenoboot.bin’: Read-only file system

rm: cannot remove ‘/tmp/SCU/VIC_FIRMWARE/serenofw.bin’: Read-only file system

[root@localhost Desktop]#

Cisco Employee

Peter, this appears to be working as expected when using the root filesystem on the USB. Please let us know if you have further issues.

Community Member

I'm running Centos 7 Everything and keep running into the following error.

[root@nd_ibmlen3_stl CiscoFirm]# sudo ./create_util_usb_huu_v2.sh /dev/sdb1 usc-220-huu-1.5.4-3.iso

syslinux-4.05-13.el7.x86_64

/dev/loop0

usc-220-huu-1.5.4-3.iso

/dev/loop0

mount: usc-220-huu-1.5.4-3.iso: failed to setup loop device: No such file or directory

Error: Unable to mount SCU iso for validation

Cisco Employee

Hi, please try using the root file system on the USB, which in your case looks like it may be /dev/sdb. Please paste results if you still encounter errors.

Also, is there a reason you are using 1.5(4) FW to begin with? This is extremely old, and we have both 2.x and 3.x releases for our C220M3 platform. I would first recommend upgrading to a more recent version. 

CreatePlease to create content
Content for Community-Ad
August's Community Spotlight Awards