Dell Deployment Toolkit failing to run properly?

Do you have a Dell PowerEdge server that needs some updates?

Are you attempting to update using the Dell Deployment Toolkit ISO?

The script isn’t working due to an error message stating that is invalid?

This post is definitely for you, so read on!

The problem lies with that particular shell script of Dell’s. It’s meant to be burnt to CD/DVD so the script makes a huge assumption. Traditionally, CD/DVD mountpoints have been located at /dev/cdrom, so what happens when the bundle is on a USB stick? Boom.

You get this error message:

booting from cdrom with share_script as drm_files/
mount /dev/cdrom /opt/dell/toolkit/systems
COULD NOT MOUNT /dev/cdrom

mount /dev/disk/by-id/<id>
COULD NOT MOUNT /dev/disk/by-id/<id>

mount /dev/disk/by-uuid/<uuid>
COULD NOT MOUNT /dev/disk/by-uuid/<uuid>

/opt/dell/toolkit/systems/drm_files/ is invalid ....
Press Enter to reboot ...

The script breaks because the mountpoint has changed to something like /dev/sda1, and the script assumes it’s at /dev/cdrom. Thankfully the fix is quite simple. No rebooting required!

The fix

  1. While the above error message is displayed, access a new console interface via Alt + F2
  2. Use lsblk/fdisk to find the correct device mountpoint. For me, it was /dev/sda1
  3. Mount it so the script works properly. mount /dev/sda1 /opt/dell/toolkit/systems
  4. Change directory to the script directory. cd /opt/dell/toolkit/systems/drm_files
  5. Execute Order 66 the script! ./
  6. Press 1, the script will not default to that, even though it says it does …
  7. Go and consume about 100 coffees. No, seriously! The updates will take a while!

Some notes

The last time I checked, there was around 108 updates to apply. The script will execute each of them in turn. On my server, it looped through them all, twice. Some updates require other updates as pre-requisites, so it’s probably simpler to reboot once it’s done, then go through the entire process again!

The following error messages are safe to ignore:

  • Inventory collection failed
  • This Update Package is not compatible with your system configuration
  • /lib/ bad ELF interpreter