O parâmetro ip é descrito aqui:
Os parâmetros que são passados para o kernel são armazenados em uma variável chamada bootargs
in u-boot.
Faça um printenv
para verificar qual é o valor dos bootargs. Se você ver um parâmetro "ip=" sendo passado para o kernel, então você pode deletar isso do bootargs.
Existe outra possibilidade através da qual os parâmetros do kernel podem ser passados.
Essa é a opção CONFIG_CMDLINE
na configuração do kernel.
Se o seu kernel foi construído com CONFIG_IKCONFIG
support, então deve haver um arquivo /proc/config.gz
.
Copie isso para /tmp
e gunzip
e verifique se a opção CONFIG_CMDLINE
está presente e, se estiver, se o parâmetro ip está sendo passado ou não.
Se for, então você não pode fazer nada sobre isso, apenas uma recompilação do kernel pode mudar essa situação. Não tenho certeza se é possível buscar o ip usando o dhcp novamente em /etc/rc.local e sobrescrever o ip obtido do parâmetro do kernel.