My DSL router at home runs NanoBSD, which is a
FreeBSD suitable for embedded devices
with flash devices. You can compile your own NanoBSD by using the script
/usr/src/tools/tools/nanobsd/nanobsd.sh on a recent version of
FreeBSD.
My current setup is based on a PC Engines Alix board with a 500 MHz AMD Geode
cpu and 256 MB ram (about 130 MB in use). NanoBSD has been stripped down to
the bare minimum and occupies just 210 MB disk space. It runs
I installed an Atheros based mini PCI wlan card (TP-LINK TL-WN861N) and made my NanoBSD router a wireless LAN bridge running hostapd.
bash-4.2.45 The GNU Project's Bourne Again SHell easy-rsa-2.2.0.m Small RSA key management package based on openssl gettext-0.18.3 GNU gettext package isc-dhcp42-server-4.2.5 The ISC Dynamic Host Configuration Protocol server libiconv-1.14_1 A character set conversion library lzo2-2.06 Portable speedy, lossless data compression library mtr-nox11-0.85_1 Traceroute and ping in a single network diagnostic tool openvpn-2.3.2 Secure IP/Ethernet tunnel daemon perl-5.14.4 Practical Extraction and Report Language pstree-2.36 List processes as a tree rsync-3.0.9_3 Network file distribution/synchronization utility screen-4.0.3_14 A multi-screen window manager vim-lite-7.3.1314_2 Vi "workalike", with many additional features (Lite package wol-0.7.1_2 Tool to wake up Wake-On-LAN compliant computers
My hostapd.conf:
logger_syslog=255 # ignored? logger_syslog_level=1 interface=wlan0 bridge=bridge0 # ignored dump_file=/var/run/hostapd.dump # ignored ctrl_interface=/var/run/hostapd ctrl_interface_group=wheel ssid=We_can_hear_you_screwing country_code=DE # ignored ieee80211d=1 # ignored hw_mode=g # ignored channel=2:nht/40+ # ignored wmm_enabled=1 # ieee80211n=1 # error wpa=3 wpa_passphrase=supersecret wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMPRelated rc.conf snippet:
cloned_interfaces="bridge0" ifconfig_bridge0="inet ... addm vr0 addm vr1 addm wlan0" ifconfig_vr0="up" ifconfig_vr1="up" wlans_ath0="wlan0" create_args_wlan0="wlanmode hostap" ifconfig_wlan0="country DE" ifconfig_wlan0_alias0="channel 2:nht/40+" hostapd_enable="YES"
You may want to have a look at the config files I used to compile NanoBSD (based on FreeBSD i386 9.2):
Old config files without wlan support: