Skip to main content

Posts

Showing posts from May, 2011

Updating Dell iDRAC6 firmware on linux

Here are two ways to update the firmware on Dell iDRAC6 remote access cards. Both methods require downloading the BIOS from Dell and extracting it from the bundle. For example, this is the 1.70.21 firmware: mkdir /tmp/dell cd /tmp/dell wget http://ftp.dell.com/esm/IDRAC6_FRMW_LX_R299265.BIN Grab this and extract like this: cd /tmp/dell sh IDRAC6_FRMW_LX_R299265.BIN --extract ./idrac6-1.70.21 The firmware image is now in /tmp/dell/idrac6-1.70.21/payload/firmimg.d6 If you are just updating one machine, then the simplest way to perform the update is to use the Dell bmcfwul tool locally. This is supplied in the dell_ie_nitrogen package, and is installed to  /usr/libexec/dell_dup/dell_ie_nitrogen/bmcfwul .  Install the new firmware like this: /usr/libexec/dell_dup/dell_ie_nitrogen/bmcfwul -input=/tmp/dell/idrac6-1.70.21/payload/firmimg.d6 If you have several machines to update, the most convenient way to perform the update is with tftp. First, copy the firmware image to the tf...

perl: slice of a hash vs hash slice

perl hash slices   are a way to access several elements of a hash simultaneously using a list of subscripts. It's more convenient than writing out the individual elements as a list of separate scalar values. I recently needed to create a slice of a hash rather than a hash slice, ie. I wanted to create a hash with a subset of the key/value pairs from another hash. Here's how I did it: my %orginal = (foo => 'something', bar => 42, baz => 'king'); my %subset = map {$_ => $original{$_}} qw(foo bar)); # %subset is now: ( foo => 'something',  bar => 42 )