# Motherboards for FreeBSD with acceptable default BIOS settings



## Anonymous (Nov 10, 2013)

I am planning to set up a new headless FreeBSD server. I prepared already a bootstrap CD with FreeBSD 9.2, with DHCP enabled on the default interface, and starting a sshd for remote login. With that, theoretically I should be able to remotely bootstrap any bare machine which can boot by a CD --  SSH as root, format the internal drive, copy the system onto it, adjust the network settings, reboot it, and continue with setting it up remotely by the way of SSH. I checked that part already, with my present hardware.

My concern is now, the BIOS (perhaps UEFI?). I want to avoid to buy a PC monitor and a PC keyboard, only to tune the BIOS to acceptable settings. I got only MacBooks in my house. I would like to hear some indications, for high quality motherboards of medium performance (2-4 cores) having AHCI enabled and Secure Boot disabled by default.

Many thanks in advance, for any hints.


----------



## mav@ (Nov 10, 2013)

May be it is better to choose board based on factors really important in production and for initial setup just go to some friend who has a monitor?

In my development I like Supermicro server boards that can provide BIOS access via serial console (I think it is disabled by default). But I am rebooting the system dozen times a day, so my case is quite special.


----------



## Anonymous (Nov 10, 2013)

My main concern is Secure Boot, and I simply don't want to come in contact with this technology.

I want to build a new low-energy home server, how about this motherboard.

http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/desktop-board-d2500cc.html

It comes with 2 on-board ethernet interfaces, which is great. The performance should be sufficient for my purposes.


----------



## wblock@ (Nov 11, 2013)

More and more systems are showing up with UEFI.  I have two motherboards that arrived with a standard BIOS, but the only upgrade BIOS version is UEFI.  So even if you find a BIOS-based system now, later versions may come with UEFI anyway.


----------



## Anonymous (Nov 11, 2013)

Is Secure Boot enabled or disabled by default on UEFI boards that come without MS Windows 8.x. And what about the BIOS updates? Do these break booting of systems without correct certificates?


----------



## wblock@ (Nov 11, 2013)

On the few I've used, Secure Boot is enabled with Windows 8.  Also, when disabled, Windows 8 no longer boots.  Or at least it didn't on the last one, just sat there with a blinking console cursor.  I don't know if it can be made to boot with Secure Boot off without a reinstall.


----------



## Savagedlight (Nov 12, 2013)

IIRC, my desktop's mainboard defaults to doing UEFI, then legacy boot. (Gigabyte GA-Z77X-UP5 TH (rev 1.0))


----------



## Anonymous (Nov 12, 2013)

Savagedlight said:
			
		

> IIRC, my desktop's mainboard defaults to doing UEFI, then legacy boot. (Gigabyte GA-Z77X-UP5 TH (rev 1.0)



Many thanks for your response.

Automatic fallback from UEFI to legacy boot would be OK for me, the intended setup is for FreeBSD only. I tried to understand the specification of the Gigabyte board, but even after 3 times reading, the text stayed ambiguous to me in this respect. I guess, I need to run the risk, buy a board, try it, and if it doesn't work I would need to borrow a PC monitor for adjusting the BIOS.


----------



## drhowarddrfine (Nov 12, 2013)

I have that same board in the system I built just a few months ago. The only issue you'll have is one of the network ports won't work with FreeBSD 9.2.


----------



## Savagedlight (Nov 13, 2013)

Supermicro X9SRL-F
I specified the USB installation media as boot device in the boot menu. Removed it after the install, rebooted, and the server iterated through available boot options until it found something which would boot.


----------



## Anonymous (Nov 13, 2013)

Let's imagine:

there is the new machine which is completely bare, i.e. non-formtted internal boot drive, default UEFI/BIOS settings.
there is no monitor and no keyboard around, i.e. no chance to do something in any boot menu.
there is an ethernet cable, which can be used to connect the new box into a network running somewhere a DHCP server (perhaps for installation only).
there is a customized FreeBSD Boot CD, derived from a genuine FreeBSD Installation ISO as shown below, which enables root access to the new machine via ssh.

The question is, whether the new machine would out of the box boot from a genuine FreeBSD installation CD without any interactive user intervention (up to the menu asking for <SysInstall> <Shell> <Live CD> ). In that case, most probably it would also boot from said customized Boot CD, and it would be possible to establish root ssh access.


For the record, here comes the quick log of the procedure for preparing the dhcp and root-ssh enabled Boot CD. This is not a HOWTO, and I won't give extensive explanations of the steps. All commands are run as root on a working FreeBSD system. I put it all into one code block, because, with minor adaptions a shell script could be made from this command log. The following is all run as user root.


```
# fetch the Genuine FreeBSD Installation ISO
fetch -o ~/FreeBSD-9.2-RELEASE-amd64-disc1.iso "ftp://ftp.freebsd.org//pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-amd64-disc1.iso"

# mount the ISO to [FILE]/media[/FILE] and [port]sysutils/clone[/port] its contents to [FILE]~/master[/FILE]
# note, how the clone command excludes the rc.local file
mdconfig -a -t vnode -f ~/FreeBSD-9.2-RELEASE-amd64-disc1.iso -u 0
mount -t cd9660 /dev/md0 /media
clone -x rc.local:games:games.txz:ports.txz /media ~/master
umount /media
mdconfig -d -u 0

# modify [FILE]~/master/etc/rc.conf[/FILE]
echo ifconfig_DEFAULT=\"DHCP\" >> ~/master/etc/rc.conf
echo sshd_enable=\"YES\" >> ~/master/etc/rc.conf

# modify [FILE]~/master/etc/ssh/sshd_config[/FILE]
echo "UsePAM no" >> ~/master/etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> ~/master/etc/ssh/sshd_config
echo "PermitEmptyPasswords yes" >> ~/master/etc/ssh/sshd_config
echo "PermitRootLogin yes" >> ~/master/etc/ssh/sshd_config
echo "UseDNS no" >> ~/master/etc/ssh/sshd_config

# copy working host keys from the running FreeBSD machine to [FILE]~/master/etc/ssh[/FILE]
cp /etc/ssh/ssh_host* ~/master/etc/ssh/
# if you distribute the CD, then later delete these keys from your FreeBSD machine, so it would generate new ones.
# rm /etc/ssh/ssh_host*

# add [FILE]~/master/boot/loader.conf[/FILE] for removing the interactive stuff from the boot loader
echo autoboot_delay="-1" > ~/master/boot/loader.conf
echo beastie_disable="YES" >> ~/master/boot/loader.conf

# preparation of a boot CD ISO from the modified [FILE]~/master[/FILE]
mkisofs -R -no-emul-boot -b boot/cdboot -V FREEBSD_INSTALL -o ~/bootdisk.iso ~/master
```

This command sequence would download the genuine .iso file FreeBSD-9.2-RELEASE-amd64-disc1.iso and generate the directory master and the derived .iso file bootdisk.iso which could be burned to a CD by usual means.


----------



## spanglefox (Nov 13, 2013)

I have had quite good success with the Asus M5A78L-M/USB3.

Supports up to 32GB of RAM with ECC. "Network card" works out of the box. Choosing an appropriate CPU in combination with powerd will help reduce power consumption. Picks up the USB3 ports (although not actually tested with any devices).

CHEAP! Picked up motherboard and CPU bundles for Â£120.

I installed FreeBSD on this using the USB image. Ran through bsdinstall and rebooted into fully working machine. No UEFI.

On a separate note keyboards are Â£1-2 and monitors are free from Freecycle. Although wasteful you could acquire cheap/free kit and throw away after?


----------

