Você pode fazer isso com udhcpc + avahi. Avahi é a implementação do zeroconf para o linux. Ele fornece autoip (dando um endereço sem dhcp) e mDNS (resolução de nome com alto servidor DNS).
Eu consegui trabalhar em um sistema embarcado com buildroot . Há também um script de início udhcpc modificado que permite que o fallback seja ativado automaticamente quando o dhcp não estiver disponível.