Patrick R. Connor

patrickc.net


IT Any-Tool

Always have the right tool on hand.

Patrick R. Connor

Published on:

You all meet in a tavern...

I'm a sucker for Tabletop Role-Playing Games (TTRPGs). Ever since dipping my feet in, I've been enchanted by the different settings, characters, magic, and tools that you can create in your story. Particularly I've been deep into the setting of Pathfinder, which is a spiritual successor to Dungeons and Dragons 3.5 Edition.

While we obviously don't live in such magical as Golarion, we can still take some inspiration from some of their more interesting tools like the "Traveler's Any-Tool":

This implement at first seems to be nothing but a 12-inch iron bar lined with small plates and spikes. It can be folded, twisted, hinged, and bent, to form almost any known tool. Hammers, shovels, even a block and tackle (without rope) are possible. It can duplicate any tool the wielder can clearly visualize that contains only limited moving parts, such as a pair of scissors, but not a handloom. It cannot be used to replace missing or broken parts of machines or vehicles unless a mundane tool would have done the job just as well.

Obviously, having such a tool in your bag gives you a wide degree of flexibility without having the need to carry around a large amount of equipment. A traveler's dream.

But how can we, as IT professionals, imitate this in our toolkits? In my case, we're going to build a flash drive that contains pretty much any piece of software that you might need for work in the field.

Your journey begins...

Getting started with a project like this, we want to make sure to have a plan before jumping into action. My goals for building this tool included:

Thankfully, it wasn't too hard to find something that fits the bill. I settled on a SanDisk 512GB Ultra Dual Drive Luxe. I figured that if I use half the drive for chunky 8GB ISO images for operating systems, I can get 32 images onto a single boot partition and then have the other 200ish GB available for any other tools that I might want to use.

The Brains

Before we get started on this, we'll want to make a couple small considerations before starting to install any kind of software on the drive. Namely, we have to think about partitioning.

Because we need to have this drive work on a wide range of operating systems, we'll need to make sure that the drive uses a file system that is widely compatible. FAT32 is the easiest to ensure compatibility, however it does have the distinct weakness of being unable to store files larger than 4GB. Many ISO images jump past this limit pretty quickly, so we won't be able to use FAT32 exclusively. In my implementation I'm going to be keeping a single FAT32 partition just in case I run into the odd system that can't use our other choice system...

exFAT is the next-generation equivalent of FAT32, which helps with dealing with the weaknesses of FAT32. Our maximum single file size increases to a massive 16EB (or 16,000,000,000GB), which is much larger than any modern use needs. It's also compatible with modern Windows, macOS, and Linux systems, so we're in good shape there. Many proprietary and embedded systems can't touch exFAT though, so we can't 100% rely on it.

Since we have a 512GB flash drive, I've split it up into 3 partitions:

With this plan in mind, we should what we need to get started with implementation.

The Utility

Easy2Boot is the big player in our software tool kit. This gives us a multiboot environment that most people familiar with GRUB will feel mostly at home with. It gets even easier with being able to drop ISOs into labeled directories and being able to boot from them by selecting them from a menu. We can boot Linux systems from this easily, along with Windows installation ISOs. A quick rundown of some of the better toolkit ISOs that I've chosen:

Of course, sometimes you'll need to work on a system that's also already running. You don't necessarily want to have to install applications each time you're on a new system either, so I take heavy advantage of programs found in the PortableApps project. I'll be marking them with a [PA] down below.

There's plenty of other tools out there that I'm sure that I've missed or neglected to mention that you might find useful; your use case will be different than mine. With these, however, I'm sure you can find a good foundation for many of the common (and some of the uncommon) tasks that you might have to do within IT.