1

Is there a way, with the default BIOS interface on current Supermicro servers, to automatically install a network-provided OS (FreeBSD, CentOS, etc.) image, coupled with a specific config file that provides machine-name, nework info (static IP, router IP, etc.), and the sort? It would be advantageous to have the machine self-configure upon hookup to the LAN. Basically a blank box introduction and setup to the level I wish.

I'm new to this, so please be gentle. I'm looking at ways for automation without having to jump into learning curves of separate software packages. I'm thinking this is is something that BIOS should/could currently handle.

Any insight appreciated. Cheers

Rich_F
  • 125
  • 8

2 Answers2

2

The bios it self can't install the OS automatically, without something else in the infrastructure to guide it.

To automate installation of let's says Centos (Redhat, Fedora), you need to provide a kickstart file with all the options/settings required. The easiest way to create a kickstart files is to manually install a server, and then re-use the kickstart file created in /root/anaconda-ks.cfg

In order to automate the installation at boot over the network, you would need a PXE boot environment, and set the Supermicro BIOS to allow Network Boot. The PXE boot envonment is then prepared with a Centos install media and the kickstart file.

To create a PXE boot environment, you would need a DHCP server with prepared setttings for the PXE boot. The DHCP client (the server to be installed) must be able to find the PXE boot server, the protocol used to load the install image(like ftp, tftp or http)

So you see there is no simple "out-of-the-box" solution build in to the BIOS of ANY server, other than a setting to allow network boot.

There are guidelines available on how to set up a PXE boot environment with all the details, but to long to describe here in this answer.

Ingvar J
  • 511
  • 2
  • 7
  • OK that's basically what I was looking for: The quickest/most minimal way for a blank box to get things moving, through USB or netboot, etc. This opens up a whole new way to integrate hardware. Well...new for me. Thx. – Rich_F Nov 16 '18 at 11:54
  • The "easiest" way to implement a custom installation with all the correct settings is to use the kickstart file described above, and prepare a boot USB image with the kickstart attached- Havn't done it myself, but it is doable. Then you would boot from the USB and get all the settings. The only thing left is to set hostname and IP address to make it a unique instance, But that can be achieved by using DHCP reservations. Add the mac address of the host, bind it to an IP address and set the hostname, to be delivered to the host when it boots up and receives the settings via DHCP. – Ingvar J Nov 16 '18 at 12:33
  • OK, but that means for 30 boxes, 30 kickstarts. But also good to know a full box can be implemented, complete with kickstart. I like the "boot me up, oh a kickstart, here I go taking care of everything" type of approach. – Rich_F Nov 16 '18 at 12:37
  • We use a single boot image/kickstart for all our Centos installations, tailored with all our needs, setiing up disk partitions, adding users, configuring cron/backup/and base services etc. The server will receive the IP address via DHCP, and will send an e-mail to admin "new server installed, here's the IP". The admin will login with SSH and set the hostname. Done! Next we will install the needed add-on applications. – Ingvar J Nov 16 '18 at 12:44
  • OK, is that a proper OS installation or an image burn with generic aspects that you update post-installation? The latter sounds much more stable. – Rich_F Nov 16 '18 at 12:45
1

Out of the box, your typical x86 server has out of band management with BMC capability, but no idea how to configure itself. You can attach an iso as a DVD and drive an installer manually. Network boot requires some kind of controller to assign an IP address and serve the install media.

RHEL network installation chapter shows a minimal configuration of DCHP, TFTP, and file shares to make it go.

Ubuntu MAAS can scale, and network boot many racks.

A trendy term that may help guide your search is Zero Touch Provisioning. It is more common on network gear, often with some kind of cloud based controller service from the vendor. Think branch office with no network engineer, ship a WAN device direct and plug it in.

John Mahowald
  • 32,050
  • 2
  • 19
  • 34
  • It sounds logical, given the structure is secure and quick enough. And, you trust the vendor. But for my application, quick local OS access means SSD installation, so full-time net boot is not really an option. More like DigitalOcean Droplets. – Rich_F Nov 16 '18 at 11:59
  • Both the RHEL how to serve install media guide and Ubuntu MAAS default to install to disk scenarios. – John Mahowald Nov 17 '18 at 12:19