cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
64824
Views
23
Helpful
68
Comments
Jeffrey Foster
Cisco Employee
Cisco Employee

****UPDATE July 2021

 

The HUU images launched with our C-Series M6 Rack Servers are now compatible with the following USB creator toolsets:

 

Tool name

Tool link

 Supported on Windows

Supported on Linux

Supported on Mac

 UEFI mode

UEFI secure mode

Legacy

Rufus

https://rufus.ie/en_US/

Yes

No

No

 Yes

Yes

Yes

Balena Etcher

https://www.balena.io/etcher/

Yes

Yes

Yes

 Yes

Yes

No

  

*Keep in mind that is for M6 only and SW release 4.2(1) or later. 

 

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
Cedric Metzger
Level 1
Level 1

I just did the CIMC upgrade on a AireOS 5520 Wireless LAN Controller (based on UCS C220 M4) using the above script. Thank you very much for it, it worked like a charm.

You can read my step by step guide on my blog: https://www.show-run.ch/uncategorized/5520-aireos-cimc-update/

 

David Ritter
Level 4
Level 4

OK, this takes care of M6's  what about C240 M4's  Orphan'd with flash based cimc?

Greg Wilkinson
Cisco Employee
Cisco Employee

The v3 script can be used for creating a bootable HUU USB to use when upgrading an M4 server. The reference to M6 servers above is that beginning with M6, users can use more traditional tools to create the bootable HUU USB.

David Ritter
Level 4
Level 4

Ah, so..  good to know.  I just burned the iso's to DVD  so I will try the 'normal' method next

Thank you.

Matt Virus ("veer-iss")
Cisco Employee
Cisco Employee

I used CentOS minimal and the script in the first post to create a bootable USB drive for a C220M4.  Tested, and it worked.

I used linux to take a bitwise/ DD image of the drive to an image file.

I sent that image file to a customer with no linux experience, and he used Etcher (simple, GUI windows imaging tool) and a spare USB drive he had --- he was able to write the image file to his USB drive and get his M4 booted and upgraded to current firmware.

 

 

Katisha Burns
Level 1
Level 1

@Paul Chapmanthe rufus fixed worked for me. Thank you.

John Blazek
Level 1
Level 1

@Cedric Metzger 
Holy crap!  I just read your blog post... I'm headed for my Scotch cabinet!
It's like Cisco went out of their way to make firmware updates overly complicated!
Why make every single customer create their own bootable ISO image?
Why not simply create one and publish it as an ISO firmware release?

I have an M4 that needs updated as well.
Call me silly but why wouldn't Cisco simply build a bootable ISO that can be burned to CDROM and plugged into a portable USB CDRW that can be used as a boot device.. and have that do the firmware updates???

It seems I've been fortunate to have never used Cisco servers in the past 40+ years of my IT career.

All I wanted to do was update the firmware before putting this C220M4 into service... who would have thought I needed a separate degree in Cisco firmware updates and iso building to do it.

Greg Wilkinson
Cisco Employee
Cisco Employee

The upgrade process for UCS is very easy - the bootable USB is really only designed for scenarios where IMC connectivity cannot be established or is corrupted in some way. Servers are typically upgraded using vMedia, the APT / Redfish or other Cisco provided integrations. It sounded like your server had issues with IMC connectivity. 

John Blazek
Level 1
Level 1

@Greg Wilkinson  My server does have CIMC issues.
It lets me log in and then shows a white screen (in firefox and MS Edge) and then displays a small warning popup box that "the server is not responding".

Updating via a bootable ISO is not complicated.
Having to build the ISO manually using outdated Centos or Ubunto builds is, imho, overly complex and complicated.
Why should I have to find an empty server .. so i can install Centos 6 .. or Ubuntu 10.3 .. just to build a bootable iso?
I don't want to start cross posting regarding my particular issue, but in general, you already publish something that 'appears to be' an ISO with all of the firmware...  why wouldn't Cisco just publish that as a bootable ISO that runs the update software on boot?

As I've send in the other thread, I'm new to Cisco... but so are others that i've seen in these threads and they also seem to feel it is overly complicated.

I've been in IT for 40+ years.. there isn't much I can't do or can't figure out.... but why build it complicated when KISS is a much better option for all concerned.

Imagine how many fewer questions you'd have about 'how do i update firmware' .. if you pointed them to a downloadable ISO.. that had a simple sentence of instructions:  download this iso - burn it to a bootable cd and boot it.

Yes, you'd still have questions from some who say 'how do i burn a cd' or 'what is a cd'... but i suspect there would be far less of those than you've been dealing with.

Anyway, i'm an outsider looking in. I see things with a simple (fresh?) eye.

*now, i'm back to the other thread to see the updates*

Thanks .. -john

Cedric Metzger
Level 1
Level 1

@john thank you very much for your reply. It's so nice to have somebody feeling the same pain. As a recent graduate of "Cisco firmware updates and iso building" let me tell you - just don't try it and grab a different server. Fun fact, Cisco delivers your RMA WLC or FMC with the same old CIMC versions 

@Greg Wilkinson That's absolutely what I thought before trying to upgrade a 2.0 CIMC version from a UCS C220 M4. You can read the whole story here: https://www.show-run.ch/uncategorized/5520-aireos-cimc-update/

John Blazek
Level 1
Level 1

@Greg Wilkinsonconsider that i've been trying to figure out 'how' to update firmware for 2 days now...
The process will probably only take about 3 minutes once I figure out how.
It shouldn't take 2+ days to figure out how to run an automated process that takes 3 minutes to run!

It's not like I'm investing 2 days to save 1 hour per day for the rest of my life.
The odds are that I'll never need to update this firmware again in my life time.

-just sayin.

John Blazek
Level 1
Level 1

@Cedric Metzger 
I just obtained this C220M4 from an off-lease user.
It was/is loaded with firmware 3.0(3f) ... and given the age of that firmware the previous user clearly didn't see any need to update the firmware (or couldn't figure out how).
I figured that it would make sense to rev it up to the latest firmware before deploying it in my basement with vmware to run my NS, surveillance system, samba server and vpn router systems.

Given that this is 2023, even considering that the model C220 is circa 2014, I figured there would be a simple downloadable ISO image that would be all ready to 'burn and boot'... silly me I guess.

And yes, I sympathize with your pain.
Cisco has gone to a lot of trouble to keep updating firmware... it seems odd that they'd make it so difficult that users would prefer to not upgrade than endure the pain.

Personally I disagree with the concept of integrating the firmware upgrade into the CIMC for exactly the reason I'm having problems... if the CIMC isn't functional and needs to be updated... you're screwed.

Building a one-size fits all - bootable ISO that has the install software/scripts and "just runs" seems a far simpler solution for both the developer and the user.  But again, that's just me.. i like KISS.

If we aren't updating firmware every day.. then why spend all the R&D money and effort to build functionality into a CIMC that updates firmware when you still have to provide an alternate method if the CIMC isn't working.

Heck, they could even just offer the script and program to run the updates.. and tell you to boot a centos emergency shell and then execute the update program.
*shrug*

Matt Virus ("veer-iss")
Cisco Employee
Cisco Employee

The CentOS script works, but it is a bit of a pain.

FYI - i use one of these:

https://a.co/d/f16hhah

It handles the UCS M4 C-series image update ISO files properly - just drop the ISO on the storage device, pick the iso from the menu, and it boots.  I've done lots of M4 servers using this method (and M3, M5 as well)

Paul Chapman
Level 4
Level 4

I posted 2 alternate solutions in this thread; one for Windows and one for Debian/Ubuntu.

https://community.cisco.com/t5/unified-computing-system-knowledge-base/cisco-standalone-c-series-host-update-utility-usb-image-utility/tac-p/4450170/highlight/true#M1196

I posted the Ubuntu solution to git so that you can just clone it.

https://github.com/pschapman/Cisco-HUU-USB-Create

John Blazek
Level 1
Level 1

@Paul Chapman 
Thanks.
I downloaded RUFUS and used it to create a bootable linux thumb drive using the ISO i downloaded:

ucs-c220m4-huu-4.1.2g.iso

It appeared to load.. it booted linux.. and then crashed unable to find files.

I'm going to assume that your first step:
1. Create bootable USB with Rufus (leave drive in system when complete)
is not as simple as - use rufus to burn the huu.iso to a thumb drive.

Which still leaves us beginners to sort through 4 pages of posts to determine which steps were mistakes and which were necessary to "create a bootable usb"


**EDIT**
Ok, this final error was on my end. I changed the ID string but forgot to change CDLABEL to UUID.
Oddly, that mistake behaves differently between 2f and 2g.

However, with that typo resolved, it appears to be updating firmware on 4.1.2g

NOTE: I still think this was far more complicated than it needed to be. Clearly, from the comments, I'm not the only one who was confused and knocked down by the requirements.  Yes, once you know how - it is easy. Once you know what rufus is.. rather than just clicking on the ISO and allowing windows to 'burn the cd' only to find out it isn't bootable...  Once you know that you have to edit the identifier for UUID=XXXX .. it's simple.

But getting to where it was SIMPLE was (unnecessarily) PAINFUL.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: