...and the wheel turns. I recently bought a Microserver Gen8 to use as a TrueNAS box for my parents, intending to install TrueNAS to, and boot from, a USB SSD. Little did I realize at the time how picky it would be about its boot devices. After posting a
new thread on the question, I was sent back here, and this has worked for me.
I ended up installing Grub on a micro SD card, since the Gen8 has an internal socket for such. I installed it there under Ubuntu, generally following the instructions at
https://github.com/ndeineko/grub2-bios-uefi-usb, using the grub.cfg
@Bytesplit posted four years ago (updating it to say TrueNAS CORE 12), and adding to it the following two lines:
Code:
set default="0"
set timeout=5
Now it will auto-boot into TrueNAS after a five-second delay, to allow some time to interrupt and make changes if needed (and if I can figure out how).
Edit: But, like others up-thread, I'm wondering about how to make Grub recognize the right drive, even if I add drives to the system (right now I only have two spinners in there). The discussion up-thread indicates that there isn't really a way to tell it something like, "use the highest of hd{1..5}" (which would, I think, be the simplest way to do the job), but the Grub docs suggest I should be able to do something like
search --no-floppy --set=root --fs-uuid 83bd6b9d-7f41-11dc-be0b-001560b84f0f
(though all the examples I see use Linux UUIDs, which are only eight characters long) or
search --no-floppy --set=root --label truenas-boot
, but neither of these is working for me--Grub can't find the device. In the first case, I'm using the GPTID of partition 1 of the boot SSD; in the second case I've tried giving that partition a label using both gpart and glabel. Grub isn't seeing it with any of these. Somewhat disappointing.