Bill Wear
on 3 January 2024
Accessing the BIOS; making a plan
My next step is to confirm whether or not the N33 NUC will PXE boot. A moderate Google search didn’t turn up any active documentation that confirmed this. There were feature listings on Amazon for similar NUCS, but who knows if those are reality or marketing? The obvious thing to do was to boot to the BIOS and see if I could find a setting.
Getting into the BIOS
When rebooting the N33, I tried several well-known combinations, such as F1, F10, and F12, with no success. For a millisecond, I considered brute force (trying non-alpha keys, one by one), but pushed that off to the very last resort. The “Community” link for the Minis Forum products — which is where all the interesting Google results come up — gives a “can’t be reached” error (not even a 404). They may have changed the domain and forgotten to update their main site, but Google couldn’t quickly come up with an alternate URL. Using Google to look at cached versions of the forum, I found the magic key: F7.
Bringing up the BIOS gives several options under a “Please select the boot device” heading:
- UEFI: Realtek PCEe GBE Family Controller
- UEFI: IP4 Realtek PCEe GBE Family Controller
- UEFI: Realtek PCEe GBE Family Controller
- UEFI: IP6 Realtek PCEe GBE Family Controller
- ubuntu
- Enter Setup
Despite options 1 and 3 being the same, it didn’t take long to figure out how they differ. In the spirit of experimentation, I chose the first option, which gave me a console that looked like this:
>>Checking Media Presence.......
>>Media Present.......
>>Start HTTP Boot over IPv4
This stayed up for about 30 seconds before returning to the BIOS boot menu. Trying option #2 got me what I wanted:
>>Checking Media Presence.......
>>Media Present.......
>>Start PXE over IPv4.
For completeness, I let this one time out, as well. Option #3 turns out to be an IPv6 version of HTTP boot, and (predictably), option #4 tries to PXE boot over IPv6. Nice. Looks like I have a PXE bootable piece of hardware. Now I just have to figure out how to make it visible to MAAS, so that it can be booted. Remember that I’m just working from my house network, so this isn’t your typical MAAS setup, but it’s clearly do-able.
Time for a plan
It’s clear this isn’t going to be a simple slam-dunk, so I need a nice, linear, end-to-end troubleshooting plan. Reaching into my Networking Recipe Book, I find something like this that might work:
- Check BIOS Settings
- Reboot your device. As it starts, press the BIOS entry key (F2, F10, DEL, or F7 in this case) repeatedly until the BIOS/UEFI screen appears.
- Navigate to the ‘Boot’ tab using arrow keys. Look for ‘Boot Priority’ or similar. Ensure ‘Network Boot’ or ‘PXE Boot’ is enabled.
- If there’s a ‘Boot Mode’ selection, ensure it matches your PXE server (Legacy for BIOS, UEFI for newer systems).
- If using UEFI, temporarily disable ‘Secure Boot’ for testing.
- Save changes and exit the BIOS (usually F10, but easier to use the arrow/return sequence).
- Network Configuration
- Physically check the Ethernet connection on both device and router/switch ends.
- On a different device on the same network, open Command Prompt or Terminal and use
ipconfig
(Windows) orifconfig
(Linux/Mac) to check network connectivity. - Access your DHCP server (usually a router or a dedicated server). Verify it’s operational and has enough IP addresses to distribute.
- PXE Server Configuration
- Access the PXE server. Check that the TFTP service is running (
service tftpd-hpa status
on Linux, for example). - Look at TFTP server logs (
/var/log/syslog
or a similar path) for entries related to the device MAC address. - Ensure the boot file (like
pxelinux.0
orbootx64.efi
) is present in the TFTP server’s root directory.
- Access the PXE server. Check that the TFTP service is running (
- Firmware Update
- Visit the hardware website. Find the support section for the NIC/device model in question.
- Download the latest BIOS/firmware version. Follow the provided instructions for updating, often involving a USB drive and a BIOS update utility.
- Network Monitoring
- Install Wireshark on a computer connected to the same network.
- Start capturing packets on the network interface connected to the device. Filter by ‘bootp’ or ‘tftp’ to isolate relevant traffic.
- Attempt PXE boot on the device and monitor for DHCP traffic.
- Testing with Another Device
- Connect a different device (e.g., another computer or laptop) to the same network.
- Attempt PXE boot on this device and observe if it succeeds or fails.
- Consult Documentation
- Carefully read through the user manual or online FAQ for any PXE-related notes or quirks.
- Look for user forums or Q&A sections where others may have discussed PXE issues with the same model.
- Seek Support
- Post detailed information about your issue on community forums or tech support channels.
- Include specifics like BIOS version, network setup, and any error messages or behaviors observed.
- Alternate Boot Methods
- Create a bootable USB drive using a tool like Rufus or UNetbootin.
- Load the desired OS installation media onto the USB drive.
- Connect the USB to the device, reboot, and press the boot menu key (often F12) to select the USB drive as the boot device.
In this case, the last two steps really don’t apply because there’s no support source, and because I want to PXE boot this device for MAAS. Worst comes to worst, I might try harder to find cached versions of the old manuals, though the first few tries netted nothing. Still, it’s useful to show the thinking that goes behind the troubleshooting. I’ll pause here for the next post.