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

Cisco Standalone C-Series Host Update Utility USB Image Utility

32281
Views
18
Helpful
41
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
Beginner

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:

https://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/release/notes/b_UCS_C-Series_Release_Notes_3_0_4.html

 

Field Notice:

https://www.cisco.com/c/en/us/support/docs/field-notices/720/fn72014.html

 

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?

Beginner

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?
Beginner

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

Enthusiast

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.

Beginner
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.




Beginner

Hi

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

./create_util_usb_huu_v3.sh /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. 

 

 

Beginner

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

Beginner

Hi

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

 

upgradecimc.jpg

 

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

 

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