Dat ging snel opeens!
Lang geleden draaide er thuis een TFTP-server (oa voor de VoIP-telefoontoestellen, toen dat nog een ding was) op een Linksys NSLU, maar met een hardwarewissel is die verdwenen en niet meer teruggekomen.
Zo nu en dan zou het wel van pas komen; een apparaat dat alleen via TFTP geflashed wil worden, alsnog een VoIP-toestel, en met enige regelmaat als alternatief voor het flashen van een USB-stick met installtiebestanden.
Een tijdje geleden vond ik netboot.xyz, en voor ik me er in kon verdiepen, werd het me aangeraden als optie om een gehuurde server van een OS te voorzien. Onlangs zat er thuis een server verlegen om een operating system en zou netboot.xyz een mooie optie zijn geweest.
Zodoende kort gekeken wat er aan opties op *BSD is voor TFTP. Wat blijkt? OPNsense heeft een TFTP-plugin, en er is iemand zo vriendelijk geweest de (weinige) stappen op een blogpost te zetten:
- Installeer de community-plugin os-tftp
- Download de netboot.xyz-bestanden naar
/usr/local/tftp:fetch https://boot.netboot.xyz/ipxe/netboot.xyz.efisha256sum netboot.xyz.efi
- In het OPNsense-menu, onder services:
- TFTP kan nu geactiveerd worden:
- Het listen address zet ik op de het adres van de router in het netwerk waarin het gros van de machines draait
- Onder de DHCP-server (hij draait op IPv4 bij mij, dus inrichten onder de DHCPv4 server)
- het item “Network booting” opzoeken en openklappen
- als “next-server IP” het IP invullen wat eerder onder TFTP ingevuld is
- de naam van het bootbestand invullen (voorlopig enkel netboot.xyz.efi onder x64 UEFI/EBC firmware)
- Opslaan en DHCP herstarten
- TFTP kan nu geactiveerd worden:
- Klaar!
Getest met m’n laptop: het werkt meteen! Althans…
Brakke netwerkdrivers (aka Realtek)
Realtek kaarten zijn geen garantie op slechte ondersteuning, maar vaak wel een indicatie van een grote kans op slechte ondersteuning. Zo ook de driverondersteuning door Lenovo in de firmware van m’n Thinkpad met Realtek netwerk: het werkt niet.
De eerste feedback is veelbelovend:
- TFTP-server adres wordt correct getoond
- netboot.xyz.efi wordt gevonden en gedownload
- iPXE wordt geinitialiseerd, features worden getoond
- maar dan als net0/net1 geconfigureerd wordt:
no configuration methods succeedednet0 using rtl8168 [closed]wordt getoondnet1 using MNP [closed]op dezelfde manier- TX loopt op, maar RX blijft op 0: er wordt wel wat verstuurd, maar niets ontvangen
Een poging met de undionly-versie (waarbij de basic EFI-netwerkdriver gebruikt wordt in plaats van een driver specifiek voor deze Realtek kaart) geeft ook geen resultaat.
Wat wel werkt (aka Intel)
Een paar willekeurige machines op het netwerk, toevallig allemaal met Intel NIC’s : die booten zonder problemen bij een eerste poging. Leuk hoor!
