NanoBSD

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

Pictures

I installed an Atheros based mini PCI wlan card (TP-LINK TL-WN861N) and made my NanoBSD router a wireless LAN bridge running hostapd.

Currently installed packages:

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

WLAN

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=CCMP
Related 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"

Config files

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: