03 Aug 2022
How to boot FreeNas / TrueNAS on HP Proliant using SSD in ODD / Bay 5
Bit of a niche article, I know, but given how frustrating this process is and how easy the ultimate solution is, I figured I’d write it down.
HP, in their infinite wisdom, don’t provide an option in the BIOS to book from Drive 5. It simply tries to boot from the first drive in the hot-swap bays (which in most cases is a RAID member) and then instantly fails. Why they don’t just let you pick the drive to boot from is mind-boggling.
Anyway, the solution is as follows:
TLDR for Pros
If you already know your way around Linux and Grub you just need a grub.cfg that loads drive 5. If you don’t know how to do that then follow the steps below.
set root='(hd5)'
chainloader +1
Full Details for mortals
- Get two USB flash drives – 32GB is fine
- One is going to be the Ubuntu Boot Drive
- One is going to be the Grub drive (which will also have ubuntu ,but we are only using it to configure grub)
- Download Ubuntu ISO and use Rufus / balenaEtcher or similar to burn the ISO to the flash drive
- Assuming your Proliant is a NAS, and you care about what’s on the four drives probably a good idea to remove them for a bit just to avoid the chance your cat jumps on your keyboard and erases one of them in the next steps
- Set the Proliant BIOS to boot from USB (else this won’t work)
- Put the Grub drive in the internal USB slot and the Ubuntu boot drive in the front USB slot (when i did this, I had it the other way around, and once I was done, I swapped them – if it’s not booting from the ubuntu drive swap them and then when you are don’t configuring the grub drive swap them back)
- Boot from the Ubuntu drive and install ubuntu (minimal) on the Grub drive
- Boot from the Grub drive (which should now have a full version of Ubuntu on it)
- Open the terminal and enter the following
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
- Run the grub-customizer (it’s an app, just open the app browser and search for it)
- Click on the + like icon to add a new boot option. Select “other” and add the script below
set root='(hd5)'
chainloader +1 - You can call it “FreeNAS” and save it
- Make sure it’s at the top of the list as Grub is configured by default to load the first option
- You can play around with the other settings and reduce the timeout if you like
- Once you are done, save the settings on the main page, and this will write the new grub config file
- Reboot
- The Proliant should boot, then load the USB, which will load Grub, which will then load Drive 5, which will boot FreeNAS / TrueNAS