Como executo os comandos do terminal ao iniciar no Lubuntu 14.04 LiveCD?

0

Estou fazendo uma remasterização do LiveCD Lubuntu 14.04 e preciso executar o seguinte comando na inicialização:

/sbin/ifconfig eth0 10.10.10.1 netmask 255.255.0.0

Primeiro, tentei modificar rc.local da seguinte forma:

#!/bin/sh -e
#
# rc.local

/sbin/ifconfig eth0 10.10.10.1 netmask 255.255.0.0

exit 0

O bit de execução foi definido por meio de:

chmod +x /etc/rc.local

Isso não funcionou, então tentei escrever este script bash (que defini como executável) e colocá-lo em / usr / bin /

#!/bin/bash
/sbin/ifconfig eth0 10.10.10.1 netmask 255.255.0.0

Em conjunto com a ação acima, eu modifiquei rc.local assim:

#!/bin/sh -e
#
# rc.local

/usr/bin/myscript

exit 0

Não funcionou. Mantendo o script bash em / usr / bin / , editei / etc / xdg / lxsession / Lubuntu / autostart com esta linha:

@/usr/bin/myscript

Isso também não produziu o resultado desejado. Eu cometi um erro com algo que tentei, ou há algo mais que eu deveria estar fazendo?

EDITAR:

Não consegui descobrir como utilizar os parâmetros do casper mencionados na resposta do Élder Greek. Qualquer ajuda adicional nessa frente seria muito apreciada.

Os comentários no link que ele postou se mostraram úteis, no entanto. Um comentarista apontou que o script bash localizado em /usr/share/invramfs-tools/scripts/casper-bund/23networking pode ser editado para atribuir um ip estático a eth0.

O comentarista também menciona a edição do arquivo / etc / network / interfaces , que é o que eu fiz. Ele funciona, mas a um preço: um longo atraso na inicialização enquanto espera na rede para configurar. Aqui estão os bits relevantes:

/ etc / network / interfaces

auto eth0
iface eth0 inet static
address 10.xxx.xxx.xxx
netmask 255.255.255.0
gateway 10.xxx.xxx.xxx

~ / isolinux / isolinux.cfg

default live
label live
    say Booting an Ubuntu Live session...
    kernel /casper/vmlinuz
    append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash ip=frommedia --

Na minha experiência, o que normalmente acontece é que, independentemente das alterações feitas no arquivo rede / interfaces , quando o LiveCD é inicializado, ele é forçado para um estado padrão pela 23networking script bash que eu mencionei antes. A edição ip = frommedia no final de isolinux.cfg força o script a usar o que estiver presente no arquivo de rede / interfaces.

Como o comentarista mencionou, o script 23networking pode ser editado para definir um ip estático. Se alguém puder me ajudar com isso (não tão bom com o bash scripting), isso seria ótimo.

    
por Brian 22.10.2014 / 23:05

1 resposta

0

Se eu tentar executar /sbin/ifconfig eth0 10.10.10.1 netmask 255.255.0.0 manualmente, obtenho SIOCSIFADDR: Operation not permitted

SIOCSIFFLAGS: Operation not permitted

SIOCSIFNETMASK: Operation not permitted

Seguindo a lógica disso, eu tentei

sudo /sbin/ifconfig eth0 10.10.10.1 netmask 255.255.0.0

Qual concluído sem erro. Parece que você precisa de poderes de superusuário para que isso seja bem-sucedido.

Você pode achar esta documentação útil: link

Mais pesquisas sobre o link acima indicam que há um parâmetro casper que está no formato:

ip = IFACE, ENDEREÇO, NETMASK, GATEWAY [: IFACE, ENDEREÇO, NETMASK, GATEWAY] *

Encontrei isso pesquisando ip estático customizado do Ubuntu Live CD

    
por Elder Geek 23.10.2014 / 16:19