A solução mais simples é usar ipconfig através da opção de linha de comando ip= do kernel em grub.cfg (ou pxelinux.cfg ou no entanto você inicializa seu kernel). Não tenho conhecimento de uma página de manual para ele, mas há um README.ipconfig no repositório Git do klibc e instalado em /usr/share/doc/klibc-utils/README.ipconfig.gz . Portanto, seu /etc/default/grub pode ter uma linha como a seguinte:
GRUB_CMDLINE_LINUX="ip=:::::eth0:dhcp"
Talvez seja necessário criar um script simples em /etc/initramfs-tools/scripts/local-top que origine o arquivo functions e, em seguida, chame a função configure_networking , assim:
#!/bin/sh
. /scripts/functions
configure_networking
(Eu tinha pensado erroneamente que configure_networking foi chamado por padrão, mas algo precisa chamá-lo explicitamente - seu próprio script ou um de um pacote. No meu caso, ele foi chamado de open-iscsi .)