Como posso configurar o Mythbuntu 11.10 para esperar por uma concessão de DCHP antes de concluir a inicialização e iniciar aplicativos dependentes da rede?

1

Eu tenho uma instalação limpa do Mythbuntu 11.10, atuando apenas como frontend. Ele está em rede usando eth0 e eu tenho um roteador agindo como um servidor DHCP na mesma sub-rede.

O frontend inicializa e faz logon automaticamente e executa o frontend Myth.

No entanto, aproximadamente a cada 3 de 4 botas, a caixa ainda não obteve um endereço IP via DHCP antes do início do mito. Isso faz com que o Myth entre em um modo de configuração. Se eu cancelar, então o Myth começa normalmente, quando a resposta DHCP é recebida.

Como altero a inicialização para aguardar uma resposta DHCP antes de fazer logon?

    
por Andy Hitchman 19.10.2011 / 02:06

2 respostas

1

Obrigado Oli, eu fui com a sua opção 3, que vou descrever aqui caso alguém esteja interessado:

  1. Desinstale o gerenciador de rede no xmbc (não tenho certeza se isso é essencial, mas não é necessário):

    # apt-get remove network-manager
    
  2. Configure o / etc / network / interfaces adicionando:

    auto eth0
    iface eth0 inet dhcp
    
  3. Diga ao lightdm para começar somente quando uma interface diferente do loopback aparecer, além das condições de disparo existentes, alterando o acionador de início em /etc/init/lightdm.conf

    start on ((filesystem
       and runlevel [!06]
       and started dbus
       and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
            or stopped udev-fallback-graphics)
       and net-device-up IFACE!=lo) 
      or runlevel PREVLEVEL=S)
    

Eu adicionei a condição net-device-up IFACE!=lo .

Até agora parece funcionar bem.

    
por Andy Hitchman 19.10.2011 / 10:35
3

Três opções para você, variando de manual-mas-fácil para manual-e-preciso-doutorado (nessa progressão).

1. Não use o DHCP.

Aloque um IP estático no seu roteador (para que ele não forneça esse IP a outro dispositivo) e configure o Ubuntu para usar esse endereço estático. Você pode fazer isso com o Network Manager (se você estiver usando isso) ou editando /etc/network/interfaces com algo assim:

auto eth0
iface eth0 inet static
        address 192.168.0.4
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

2. Tem algo para sentar e esperar que sua rede apareça e tenha um IP

Estou falando de escrever um script que verifica se sua placa de rede está ativa. Para simplificar, você pode combinar o que quer que seja que inicie o XBMC com um cheque como ( roubado dos fóruns ):

#!/bin/bash

until wget -q -O - http://www.google.com | grep Lucky > /dev/null; do
    sleep 10
done

xbmc

E chame esse script em vez de chamar xmbc diretamente.

3. Brinque com Upstart e divida-o para fazer sua vontade.

O Upstart é o que gerencia todas as coisas do sistema e gerencia quando as coisas são executadas com base nos eventos que cada job emite. Esta parece ser a rota mais agradável para você, porque você pode fazer com que ela emita um sinal exatamente quando tiver um endereço DHCP atribuído.

O problema é que você terá que se aprofundar no processo de inicialização para alterar as coisas. Eu não sei o suficiente sobre isso para ajudar razoavelmente.

    
por Oli 19.10.2011 / 04:45