This page covers how to maintain and update a bootable USB stick created to apply firmware and BIOS updates to a Dell Server.
This page is a follow on from my previous post: Making the Dell Deployment Media (Linux) ISO USB bootable.
The problem with the Bootable ISO that Dell Repository Manager creates is that it’s a one-time thing. You export your SUU bundles to an ISO and burn it. The next time you need to update a bunch of servers, you download the latest system bundles, update your local SUU repository, and then export the system bundle packages to Bootable Media and burn a brand new ISO again.
Using the method below, you create a bootable USB stick once, and then simply add/update your SUU bundles as time goes on.
Maintaining and updating the USB stick
- This page assumes that you’ve already setup a Repository in Dell Repository Manager.
- You must have a USB stick that’s been prepared per the instructions in Making the Dell Deployment Media (Linux) ISO USB bootable.
Updating your repository with the latest System Bundles
- Open up Dell Repository Manager (Data Center Version)
- Click on “My Repositories”, then double click on your repository
- Now that your repository is open, click Add
- Follow the Wizard, with the following guidance:
- Choose: Import bundles from an existing repository
- Choose: Source Repository
- Uncheck: any brands or server types that you don’t need
- Choose: Linux
- Choose: Select Models, then control+click on the models you want to get system bundles for
- Choose: ONLY include the most recent and custom bundles.
- Click Finish at the end of the wizard
- Dell Repository Manager will then import the bundles you’ve specified. Click OK to go back to the main repository view.
Exporting the latest System Bundles
Now that your repository has the latest system bundles, we need to export them into a format that’s compatible with the USB stick we currently have.
- Check each System Bundle that you want to export, then click on Export
- Follow the Export Bundles wizard:
- Choose: Export to light weight deployment scripts
- Decide whether you want to force the scripts to apply the firmware/BIOS regardless of the version or date. This is only really desirable if you have a company standard and want to ensure that systems are at this standard regardless of whether the system has a newer firmware installed at present.
- Regarding the Combine option: Do not use this without checking out my notes at the bottom of the page.
- Choose a location to write the export to. Note that it’ll create its own sub-folder so don’t worry about specifying your Desktop.
- Once you’re happy with the summary, click Finish and the System Bundles will be exported. This can take a while, as often the bundles need to be downloaded before they can be exported. You can prevent this happening every time you export by choosing to Save your repository
Copying the new System Bundles to the USB stick
- Navigate to where you exported the System Bundles in the previous section and go inside the folder named LightScripts_*, where * is the date and time of the export.
- Inside this folder you’ll see a list of System Bundles that you exported. For example:
- Next, take a look at your existing USB stick. In my example, I have a USB stick mapped to drive F: and it’s called “SUUUPDATER”.
- Navigate to drm_files, then repository
- Next, copy over the new System Bundle folders from the exported directory onto your USB stick in the drm_files\repository folder.
- Safely eject your USB stick from the OS.
That’s it! You’ve just updated your SUU Updater USB stick. To install the updates, boot from the USB stick and choose the System Bundle you want to apply.
A note on the “Combine” option
The combine bundles option is interesting. One of the big issues I have with Dell Repository Manager and the exports it produces is that it duplicates a lot of components (firmwares, etc). The duplicates happen because although many Dell platforms share common components, they are separate products as far as DRM is concerned.
I’m still experimenting with the Combine option and thinking about its pros and cons. Thoughts are below.
How it probably works:
The apply_bundles.sh script simply jumps to a subfolder and executes all the .sh files in a folder. If it jumps into a normal System Bundle, there’s only one .sh file in there, and it’s only applicable to the platform of the system bundle.
However, when you Combine bundles, you get a single folder with multiple .sh files in (one for each platform). I have a feeling that what will happen is, apply_bundles.sh is invoked, and it then runs through all of the .sh files inside the Combined bundle directory. Normally, the apply_components.sh file works by blindly running all the. bin files in the directory. It doesn’t do an inventory check beforehand, so the application of all the .bin files can be quite lengthy. Due to this process, if we run multiple apply_component.sh files in the same directory, it’ll try to install the updates in the directory every single time. So if you have 6 apply_component.sh files in the same folder, it’ll take 6 times as long to apply.
So using Combine is a compromise of Speed vs Capacity. If you have a tiny USB stick and lots of time to wait while 6 apply_component.sh scripts run, then go ahead. But if you’re short on time (like, in a short Outage Windows) and have the capacity on the USB stick, I wouldn’t use the Combine option.