HP Microserver Gen8 / modified bootloader for ODD bay plus possibe move from Raid 5 to 6?

@suman
I was reading some other threats here on the forum, I guess installing Rockstor on SD Cards should be possible (installer issue solved), but I was not able to find any good feedback on how long such SD cards work till they fail?
I understood that Rockstor is trying to minimize its writing behavior in order to get longer life.

Thanks for sharing any thoughts.

@glenngould of course you are right about the constant writing wearing off the SD card. But of course it is the same problem with an SSD.

Actually while thinking about it, I found an even better solution:
Move your ssd/hd for the rockstor system drive to the ODD bay. Then to enable the microserver to start the system from there, install the bootloader on the SD card.
→ no boot problem and no wearing down of the SD card. Problem solved :slight_smile:

@dilli sorry maybe my original post was not so clear, your proposal would have been also mine beside that I intended to go for a USB key with the boot-loader :grinning:
Re-using my Rockstor Installation on SSD would avoid any problems while doing a fresh installation onto a SD card or so…as all works very well for now I don’t want to touch the Rockstor base installation.

Modifying the boot loader will be the challenge, as I’ve never done this :grimacing:

@glenngould ah your original post was clear enough, I just forgot about it :slight_smile:

I also forgot that there is an internal usb port which you can use for exactly for this purpose. So SD card or USB stick would both be fine.

It should be quite easy to install the grub bootloader on an USB key/SD card with a chainloader entry. If booting from it, it will look for the drive in the ODD and call the original bootloader installed there.

I might find some time to implement this on my microserver next weekend. I’ll post my results and the commands used here.

1 Like

@dilli Hi Daniel, based on your previous post, did you had any chance to try to modify the grub bootloader for having the Rockstor drive in the ODD bay? :wink:
Thanks again for sharing any experience or any changed source code!

@glenngould I was not able to do it yet as I realized that my ODD caddy has the wrong height and does not fit in the bay of the Microserver.
I ordered a correct one and waiting for its arrival. Will report back once it arrived and I’ve found some time to do the migration.

I received the new ODD caddy and was able to install the disk in the ODD bay.
I’m not sure yet how to move the rockstor_rockstor pool from the sdcard to the harddrive and have created another post for this:

Once this is solved, I’ll do the bootloader modification.

1 Like

This is about to become very important to me.

@dilli and @paulsmyth I guess you have not heard or made any progress either :neutral_face:

I simply haven’t had time to attempt anything yet.

I didn’t find time either :-/

Why not buy a pci-e msata adapter card and cheap msata ssd for the Rockstor drive. Or similarly a pci-e m.2 adapter card and cheap m.2 ssd for the Rockstor drive. That keeps the ODD bay free for an extra disk. Is what I’ve done, works well.

That’s great but the question here is migrating the rockstor_rockstor share to that drive. I think the answer will be save config, fresh install and import shares. What I was planning to do was use a micro sd card for /boot only and put root on either ODD or a m2 ssd.

@grizzly
Thanks for sharing this. The remaining question for me is (without checking)…can the HP Mircroserver Gen 8 Bios boot from this additional pci-e card where I would connect my exiting SSD with Rockstar on it? Or do I need to have still a modified boot loader on an USB stick to overcome this boot loader BIOS issues? Thx for your reply and experience how it works on your end.

Regards,
Roland

Hello all,
I managed to install the OS (ProxMox) on the ODD disk, and to “write” a working grub bootloader on sd-card

After some trials and errors I found this procedure, which is essentially very simple.
The key steps are:

  • prepare a bootable sdcard
  • boot once from ODD and install grub on the sdcard
    This procedure should work for every Debian-based distro, and also for Centos/Rockstor
    I’m not a grub expert, so I’m not sure this is the best way to do it

Here are the (very) detailed steps,
prerequisite is: OS already installed on the ODD disk

A) Prepare bootable sdcard

  • I used Rufus on Windows to format a sd-card as FreeDos bootable card
    This means, just start Rufus, select the sd-card drive and press “start”

B) Remove additional hard disks from microserver

  • Disconnect microserver power cable
  • Remove all disks from microserver, except the one connected to ODD
  • Insert the formatted sdcard into the microserver slot
  • Reconnect microserver power cable

C) Check sdcard is bootable

  • power on the microserver and let it boot -> should boot from sdcard
  • If you used Rufus+FreeDos, it will show you the FreeDos prompt: C:>

D) Boot from ODD drive

  • use Ctrl+Alt+Canc to reboot the microserver
  • wait until it shows “F11 -> Boot menu”, then press F11
  • wait for “Please Choose one of the Following Default Boot Override Options:” and then press “5” (One Time Boot to HDD)
  • Now the microserver should boot from the ODD drive

E) Install GRUB on the sdcard

  • login as root
  • the sdcard should be listed as /dev/sdb, check it executing: "mount dev/sdb1 /mnt; ls /mnt; umount /dev/sdb1"
    If you used Rufus+FreeDos, the output should be something like:
    AUTOEXEC.BAT autorun.ico autorun.inf COMMAND.COM CONFIG.SYS KERNEL.SYS LOCALE System Volume Information
  • execute the command: "grub-install /dev/sdb"
    the output should be something like:
    Installing for platform i386-pc
    Install completed, no errors reported
  • execute the command: "update-grub2"
    the output should be something like:
    Found linux image XXXX
    Found initrd image YYYY
    Found freeDos on /dev/sdb1

F) Check sdcard boots into ODD drive

  • execute the command: “shutdown -r now” to reboot
  • the microserver should boot from the sdcard and jump to the ODD drive
  • login as root
  • execute the command: “shutdown now” to power off the microserver

G) Reinstall additional hard disks

  • Disconnect microserver power cable
  • reinstall data hard disks
  • Reconnect microserver power cable

H) Check sdcard boots into ODD drive even with additional hard disks

  • power on
  • again, the microserver should boot from the sdcard and jump to the ODD drive

Regards,
Andrea

1 Like

@amattia thanks for your detailed instructions.
One question remains for me…I guess in case there is a kernel update provided through the rockstor update channel,usually there will be a new boot loader entry created (in the boot loader list) -> I guess this would be still done onto the hard drive and not the SD card isn’t?
Therefore it has to be done manually by executing your instructions under section “E”?

Thanks

My Microserver went across a Proxmox kernel update, and the bootloader on sd-card was updated automatically.
I had no problems at all, it just booted from the new kernel and all worked ok.
I guess it will work the same way on Rockstor.
The only strange thing was the freeDos entry disappeared, but I’m not sure why.
I think the first update-grub overwrites the FreeDos data, so FreeDos it’s no longer avaliable and the next update deletes its entry.
Also, I forgot to write that I did a lot of tests:

  • rebooting
  • adding/removing disks in slots 1-4
  • removing the sd-card and then reinserting it

Until now I have found no issues

1 Like

That’s an interesting approach. I’ve managed to get Rockstor to run on my Gen8 by setting up the SSD-drive I dropped in my ODD slot as a one-disk RAID volume in the HP storage manager thingy, which allows me to boot directly from it - no SD cards or USB drives needed.

Hi Andrea,

Thanks for the detail steps. I have done the A-D. all good. But regarding the step E (install GRUB on the sdcard) I am confused. As I have just installed the Exsi on the ODD. In which system environment (Rufus+FreeDos or Esxi) to login as root? The Exsi doesn’t have shell cmdline. Thanks!

Corydon