Сделал в лоб, так хоть работает:

$ cat /etc/rc.local
#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
iwconfig wlan0 mode ad-hoc essid free channel 4
ifconfig wlan0 10.0.0.1 netmask 255.255.255.0

Как я понял, /etc/rc.d/network сначала поднимает интерфейс (ifup()), и только потом настраивает iwconfig (wi_up()), хотя, по идее, должно быть наоборот.