Showing results for 
Search instead for 
Did you mean: 

Cisco Standalone C-Series Host Update Utility USB Image Utility



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.

- 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 <UCSB Device> <file.iso>

sh /dev/sdb ucs-c240-huu-


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

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






## 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


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

`/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/' -> `/tmp/usb2.4196/./isolinux/'

`/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


Tristan G

Bump to this thread because this is one of the more disappointing things I've seen in tech.


We need to upgrade some servers (actually, Cisco WLCs - 8540s) due to a bug that causes them to lose access to the SD card... ok.

So after finally gaining access to CIMC, I can't use the network because a) Adobe Flash has been deprecated and disabled, and b) Java won't recognise the certificates anymore of the vKVM applet - even when I change the date.

Windows? macOS? Sure.  Linux? Now I have to download an ancient version of CentOS and try rebuilding the USB stick.

What causes this to fail using other methods?  Why does a Rufus copy not work?
Cisco Employee

Adobe Flash deprecation is a documented issue that Cisco has noted in the release notes as well as in a Field Notice that was sent out proactively to customers who are signed up for notifications.


Release notes:


Field Notice:


It is unfortunate that you are impacted by the end of life of Adobe Flash and we understand that many customers with legacy systems will be adversely impacted.


Is the API an option for FW upgrades?

Stefan B.

I agree that we all knew that Flash would be depreciated, however I think we can also agree that Cisco should not hide behind some obscure work arounds. Speaking of "It was known that Flash will be depreciated", it was also known by Cisco since at least v2.0 that there is a problem with creating USB sticks and it's still present in v3.0. We have multiple c220/240 M3 servers which are still in extended support until end of '21. Especially in a time where big companies get hacked, we shouldn't have to jump through hoops for a simple upgrade or configuration change to address security issues.
Cisco Employee
What are the specific issues you are having around creating the HUU USB?
Stefan B.

I'm using Rufus to create a bootable USB stick and receive the error from CSCup62091 when booting the server with it. 

CIMC is on 3.0(4o) and we're trying to upgrade all servers to 4r.

I found a work around using CentOS with a special script to create the USB drive, but that is not really an option for us.


USB error.jpg

Elliot Dierksen

I am not aware of a windows way to do it. Earlier in this thread I posted my modifications to the provided script that allowed it to work on Ubuntu. I have done that a couple times, and it worked correctly. I can't recall if the M4 HUU works directly with Rufus, but I am pretty sure that M5 HUU does. I remote mount HUU most of the time, so it isn't a problem I deal with frequently. I have had issues with KVM mounting HUU failing because of running out of memory. If that occurs, NFS mounting HUU from the CIMC has worked.

Stefan B.
Hi Elliot,

Thanks for your reply - I actually tried your script, but all we have is Debian and I didn't want to install a Ubutu VM just to create a simple USB stick.



i hope you are doing well

can you help me, because i tried to run the script and i got stucked in this part:

i cleaned the usb drive and run the script and this is the last part of the script and when reached it

it got stucked, can you help me? i tried differents .ISO files like 3 and 4 version for de UCS CIMC ISO and i got the same result, could be the USB? because i use it for differents installation and works well


sed: can't read /tmp/usb2.3493/EFI/BOOT/grub.cfg: No such file or directory



Disk /dev/sdb: 15.7 GB, 15664676864 bytes, 30595072 sectors

wipefs --all /dev/sdb
/dev/sdb: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
/dev/sdb: calling ioclt to re-read partition table: Success

./ /dev/sdb ucs-c220m4-huu-3.0.4r.iso



‘/tmp/SCU/VIC_FIRMWARE/cruzboot.bin’ -> ‘/tmp/usb2.3493/./VIC_FIRMWARE/cruzboot.bin’
‘/tmp/SCU/VIC_FIRMWARE/cruzfw.bin’ -> ‘/tmp/usb2.3493/./VIC_FIRMWARE/cruzfw.bin’
‘/tmp/SCU/VIC_FIRMWARE/serenoboot.bin’ -> ‘/tmp/usb2.3493/./VIC_FIRMWARE/serenoboot.bin’
‘/tmp/SCU/VIC_FIRMWARE/serenofw.bin’ -> ‘/tmp/usb2.3493/./VIC_FIRMWARE/serenofw.bin’
sed: can't read /tmp/usb2.3493/EFI/BOOT/grub.cfg: No such file or directory
Cisco Employee

Hi there - can you please try booting the USB? 


sed: can't read /tmp/usb2.3493/EFI/BOOT/grub.cfg: No such file or directory


EFI/BOOT/grub.cfg file does not exist in M3/M4 HUU ISO versions; it was added later to support M5 HUU versions. This error can be ignored for M3/M4. 




error on the scriptserror on the scriptsfirmware update donefirmware update done

i encountered the same issues as above

sed: can't read /tmp/usb2.3493/EFI/BOOT/grub.cfg: No such file or directory

however this was able to boot up and i managed to updated firmware and bios! thanks

for this i installed centos 7 minimal, then

sudo dhclient (it doesnt have any ip once clean installed of centos 7 on another machine)

yum install syslinux

sudo yum -y groups install "GNOME Desktop"
echo "exec gnome-session" >> ~/.xinitrc
sudo startx 

and also install the startx and use the script provided

finally get it done, almost want to buy an external optical drive and burn a dvd just for this easy firmware update

RUFUS will no work, tried million times frim windows 10 pro. Ubuntu also doesnt work on this script! yes i tried it as well

only things work is centos




thanks a lot grewilki for the advice, is odd but when the console hangs in sed, you have to wait until the files are copied i give more ram to the vm and took less time, thanks for your time, best regards




‘/tmp/SCU/VIC_FIRMWARE/serenoboot.bin’ -> ‘/tmp/usb2.2367/./VIC_FIRMWARE/serenoboot.bin’
‘/tmp/SCU/VIC_FIRMWARE/serenofw.bin’ -> ‘/tmp/usb2.2367/./VIC_FIRMWARE/serenofw.bin’
sed: can't read /tmp/usb2.2367/EFI/BOOT/grub.cfg: No such file or directory







when you reach this you are up and running
##### copy_files Done ######

Disk /dev/sdb: 15.7 GB, 15664676864 bytes, 30595072 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: 0xee68b975

Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 2099199 1048576 83 Linux



Hello All


I get an error message when I run the script. Does anyone have an idea about the problem?





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.


Cisco Employee

Do you have any additional details here? What device are you pointing to?

Content for Community-Ad
This widget could not be displayed.