Scope

This page covers how to make a USB-bootable memory/flash stick from the Deployment Media (Linux) ISO created by Dell Repository Manager. You can then use this USB stick to quickly add new System Bundles for offline patching in the future, rather than needing to burn DVDs each time.

dell firmware usb boot menu screenshot- medium

There are two steps to this process:

  1. Create the bootable USB stick (This page)
  2. Maintaining the USB stick with the latest Dell Firmware and BIOS updates

Why would you want this?

Having a USB-bootable version of the offline Dell firmware updater is incredibly useful. Here’s why I made it:

  • I don’t need to burn DVDs anymore.
    • If I need to put the latest Firmware or BIOS updates on to a Dell server, I simply drag and drop the exported system bundle from Dell Repository Manager onto the USB stick and plug it into the target server.
  • USB is universally available on most Dell Servers.
    • Many of our old systems have CD-ROMs rather than DVD-ROMs, so burning a 2.6GB DVD is a no-go.
    • Many of our newer systems have no Disc-based device at all, so USB is the only option.

Background

The Dell Deployment Media (Linux) ISO is a bit of a blunt tool, but it gets the job done in a situation where you cannot install Dell SUU updates from an existing OS. An example is installing Dell firmware and BIOS updates onto a server running VMware ESXi. The Deployment Media boot disc/USB stick will run and try to install everything in the SUU bundle repository. It doesn’t inventory the system for installed devices and then only install relevant/applicable BIN files. This means that often you’ll see error messages that the package isn’t applicable or compatible, due to the specific device targeted by the BIN file not being present in the system. This is nothing to worry about.

Prerequisites

  1. You’ll need to have used Dell Repository Manager to create a Deployment Media ISO from repository system bundles.
  2. As at 2014-05-15, some DTK versions (710 – 730) of the Dell DTK break USB boot functionality (see comments). To work around this, you’ll need to do the following:
    • Use the latest DTK_740.cab, which Dell have confirmed now works (see comments). You can get that by simply using DRM, no need to download directly, but I’ve linked to it anyway.
    • Alternatively, download either of the older DTK 651.cab or DTK_700.cab (both confirmed in the comments as working)
    • Put the .cab file in: %USERPROFILE%\AppData\Local\RepositoryManager\Payloads\
    • Delete any other DTK*.cab files in that directory (as newer ones will be used automatically by Dell Repository Manager)
  3. Alternatively, you can download a generic ISO I prepared from here: Download Generic LinuxIso.iso (226MB). It contains updates for PESC1435, but that can be deleted once on USB.
  4. You’ll need a USB stick with sufficient capacity. For example, if your Deployment Media ISO is 2.8GB (as some are), you’ll need a 4GB USB stick.

Steps

Obtain Unetbootin

  1. Obtain Unetbootin for Windows
  2. Insert the USB stick. Be aware that it’ll be wiped!
  3. Run the Unetbootin exe you just downloaded

Prepare the USB stick

From the Unetbootin interface:

09-04-2013 15-34-10

  1. Click on the DiskImage radio button
  2. Click on … and locate the linuxISO.iso file (or whatever your Deployment Media ISO is called)
  3. Choose your target USB stick. In this example, it’s F:\
  4. Hit OK.

Unetbootin will then prepare the USB stick:

09-04-2013 15-35-17

Once complete, choose Exit. Do not reboot:

09-04-2013 15-49-42

Running the firmware/BIOS updates

  1. Once complete, safely remove the USB stick from your system and insert it into your target system
  2. Power on your Dell server and press F11 to bring up the BIOS Boot Manager menu.
  3. Choose Hard Disk, and when the popup menu appears, choose the option relevant to your Flash/Memory/USB stick

WP_20130409_007

  1. At the boot prompt, scroll down and choose the item labelled “1”. It looks like if you leave it as Default, it’ll just cycle round in circles saying it’ll auto boot in 10 seconds. To fix that, see “Extra credit” at the bottom of the page.

WP_20130409_009

  1. If you only have one Update Bundle, the script will run straight away. If you have multiple bundles, it will prompt you which one to run

WP_20130409_013

  1. Note that it can take a long time for the updates to run, and all you’ll see during that time is a bunch of “dots” running across the screen.
  1. Once complete, you’ll be prompted to reboot:

WP_20130409_004

  1. Reboot the system and remove the USB stick
  2. That’s it – you’re done! It can take a while to reboot, as BIOS upgrades occur after you’ve rebooted.

Extra credit – Auto-booting the correct boot option

If you wish to make the USB stick boot by default to the “1” option:

  1. Open up syslinux.cfg in Notepad from the root of the USB drive.
  2. Add  the line: “menu DEFAULT” beneath the line “label ubnentry0”
  3. Save the file.

Or, for super extra credit, simply replace the syslinux.cfg file with the one in this zip file:

zip containing the syslinux.cfg file

File contents:

# modified by Phil Wiffen
# http://about.me/philwiffen

default menu.c32
prompt 0
menu title Custom Dell USB Bootable Firmware Updater
timeout 100

label bootdfu
menu DEFAULT
menu label Boot Dell Firmware Updater
kernel /isolinux/SA.1
append initrd=/isolinux/SA.2 ramdisk_size=229441 root=/dev/ram0 rw DEBUG=0 share_type=cdrom quiet loglevel=1 BUILD=668 vmalloc=256M init=/init mem=15G selinux=0 share_script=drm_files/apply_bundles.sh

Next steps

Now you have a working USB-bootable offline firmware updater for Dell, you may want to check out my guide on how to keep it up to date with new Firmware/System Bundles: Maintaining a bootable USB stick with the latest Dell Firmware and BIOS updates

Written by Phil Wiffen

Phil is an IT Professional working in Cambridge, England. He generally blogs about useful solutions that he comes across in his work/play.

38 Comments

Aki

Do you have any idea why my deployment media gives me the following error:

/opt/dell/toolkit/systems/drm_files/apply_bundles.sh is invalid

Thanks

Aki

Hi.

Haven’t tried with a DVD, maybe I should try it. I tried with two USB sticks and they both gave me the same error. It’s a five year old PE2950 server. But I’ll burn a DVD disc today and see how it goes.

Aki

Hi.

I tried with the DVD and it worked. So no worries. Thanks.

Phil Wiffen

Hi Aki, that’s interesting. Were you using an ISO you created yourself, or the one I made available on here?

Aki

Hi.

I used Dell Repository Manager and downloaded the latest bundle for PE2950 (System Bundle (Linux) PE2950 v470). What’s even more interesting is that the same DVD did not work on a another PE2950 server. Again it gave me the same error…

Mel

Hi,

I also used Dell Repo Manager and downloaded the latest bundle for PE1950. Made a bootable USB with Uneetbootin and also with ‘universal usb installer’ wich are different when booting from. But both give the error ‘/opt/dell/toolkit/systems/drm_files/apply_bundles.sh is invalid’

It looks like the server have problems mounting since it generates allot of errors: COULD NOT MOUNT /dev/disk/by-id/usb-Dell_Virtual_Floppy_1028_123456-0:0 and similar before the “bundles.sh is invalid error”

And when i use a CD it all works just fine..

Phil Wiffen

Hi Mel,

That’s really weird. I wonder if it’s exclusive to the PE1950 parts? I’ll try to investigate over the next few weeks and see what I can conclude.

Phil Wiffen

OK, I think I see the problem. Somewhere, over the last few months, the apply_bundles.sh file has changed in the later versions.

Mel, Pascal: please could you swap the apply_bundles.sh on your USB drive with the one in this zip file: apply_bundles.zip and let me know what happens?

Phil Wiffen

Ack, no that doesn’t work either (I just tested it).

I think the DTK has changed quite a bit, so that Unetbootin no longer works. I’ll need to investigate further.

Ben Hopper

Hey I think i may have worked this out… its because the “drm_files” directory does not exist. When the system boots it tries to mount the usb root file system to the directory but this fails. So to work around this you can boot the system up but choose the Dell Deployment Toolkit (its near the bottom of the list). From there you get a Linux Console. I then did the following:
1. Mounted the usb (/dev/sdb1) to /opt/dell/toolkit/systems/
# mount /dev/sdb1 /opt/dell/toolkit/systems/
2. Changed into the system folder
# cd /opt/dell/toolkit/systems/
3. Launch the apply_bundles.sh manually
# sh drm_files/apply_bundles.sh

My system appears to be updateing, although i did recieve an error about the bundles folder not being able to be made. Well see how I go and then perhaps try to refine the process.

Good luck!!!

Phil Wiffen

Thanks Ben! Appreciate you sharing this 🙂 I’m convinced the Dell have changed something in the toolkit between DTK_651.cab and DTK_730.cab, which breaks the way Unetbootin used to work. I’m going to take a look at this over lunch, as it’s affecting my lab at work 🙂

Ben Hopper

Hi Phil
No problems!

So I think I have found where the problem exists. As I though the USB drive is not being mounted,
This is the file that should do that but it would appear that Dell have updated it 🙂
/bin/start-stage3.sh, i havent tried yet but I think we could change the for loop to try mounting /dev/sd*
so something like this:
for i in /dev/cdrom* /dev/sd*; do

chris johnson

Thank you for providing a fix i’ve managed to update 5 of the r610’s using your method.

Vivek

Getting error COULD NOT MOUNT /dev/disk/…. & apply_bundle.sh invalid

Trying to perform on R510 using 8GB USB

Chris

Had the same problems with a T310, T420, and R710. Will be experimenting with other solutions later.

Chris

Chris

The errors also happen if you have burned a DVD, but are using a USB optical drive.

Phil Wiffen

That’s an interesting data point. Thanks for the info Chris! I still need to look at this properly when I get some time at work. I found a more up to date version of a working DRM cab file, but need to test it fully before proclaiming it as a fix/workaround 🙂

Stefan

Had the same issue on a PowerEdge 1950 Server. Upgrading didn’t work via DVD either so what I ended up doing was:
– Downloaded the DTK_651 Plugin from ftp://ftp.dell.com/sysman/DTK_651.cab
– Replaced the current DTK_730 under C:Users<>AppDataLocalRepositoryManagerPayloads with the older DTK_651 file.
– Created the ISO
– Profit!

I didn’t try it with an USB drive but I think it should run as well.

Thanks for your help guys, you saved me lots of trouble.

Scott

I can confirm that the DTK_651 plugin works with a USB drive, too. The DTK_730 plugin worked fine for an image burned to a DVD, but it gave me the same USB mounting issues described above. I replaced DTK_730 with DTK_651, made sure to disable automatic plugin updates, recreated my ISO image, and created a bootable USB drive using that image and UNetBootin. My 2950 now mounts the USB drive just fine and can run apply_bundles.sh.

Has anyone else got any news to report?

Phil Wiffen

I have updated the post with the DTK_651 fix. Thank you for adding this to the comments Stefan!

I must admit I’d discovered this fix a while ago, but never got around to updating the post 🙁 I’ve also been meaning to experiment with DTK_700.cab but haven’t been able to fully test. If you get a chance, please let me know if it works or not.

I can confirm that using DTK_730.cab and DTK_720.cab both seem to break when booted from USB.

A

Using DTK_730.cab Im hitting the same problem, tho I cant find the start-stage3.sh and/or “for i in /dev/cdrom” in any file, someone know where to change this now?

Phil Wiffen

Hi “A”, I’d recommend using DTK_700.cab as mentioned in the Prerequisites section as that’s known to work.

Phil Wiffen

Wonderful, thank you for confirming Sascha and Max! I just tested DTK_740 too in the lab, and it works 🙂

JOSE

Hola porque este error:

cp: linux/redhat: omitting directory (lo dejo pasar…)

y salen muchos puntos y no como la pantalla del paso o mejor dicho como se hace desde un DVD. eso es normal o esta corriendo igual l as actualizaciones?

Jaime

Hi Phil,

I’m trying to create a bootable ISO for 11G and 12G Blades, that allows me the option to choose a bundle to use, but am not getting any prompts to choose a bundle like you show in image #5. Perhaps I’m missing something? Should I be using the generic ISO you’ve linked?

Any help is appreciated.

~~Jaime

antron solutions

Thanks it worked for me but the the app didnt make the usb properly so i used usb live installer and choose the other linux option worked like a charm and no boot loop

Andrew

Hi Guys

Thanks for the post, helped me out a treat… the only thing that caught me out is that the file system on the USB drive needs to be FAT. I had my USB stick formatted with NTFS and it just wouldn’t boot.

Hope that helps someone…

Alex

You sir are amazing! Thank you for this. I’ve been trying to get this ISO copied to a USB drive on a Mac, and luckily UNetbootin is available on Mac. Kudos to you!

Leave a Reply

Your email address will not be published. Required fields are marked *