Как я могу настроить Mythbuntu 11.10 для ожидания аренды DHCP перед завершением загрузки и запуском зависимых от сети приложений?

У меня есть чистая установка Mythbuntu 11.10, действующая только как внешний интерфейс. Он подключен к сети с использованием eth0, и у меня есть маршрутизатор, действующий в качестве DHCP-сервера в той же подсети.

Интерфейс загружается, автоматически входит и запускает интерфейс Myth.

Несмотря на то, что аппроксимированные каждые 3 из 4 загрузок, коробка еще не получила IP-адрес через DHCP, прежде чем начнется миф. Это заставляет Миф войти в режим конфигурации. Если я отменяю, то Myth запускается нормально, так как ответ DHCP получен.

Как изменить загрузку, чтобы дождаться ответа DHCP перед входом в систему?

1
задан 19 October 2011 в 04:06

2 ответа

Три варианта для вас, начиная от ручного, но простого к ручному и нуждающемуся в докторантуре (в этой прогрессии).

1. Не используйте DHCP.

Назначьте статический IP-адрес в маршрутизаторе (чтобы он не передавал этот IP-адрес другому устройству), а затем настройте Ubuntu для использования этого статического адреса. Вы можете сделать это либо с помощью Network Manager (если вы его используете), либо отредактировав /etc/network/interfaces примерно так:

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. Пусть что-нибудь посидит и подождет, пока ваша сеть не подключится и не получит IP

Я говорю о написании сценария, который проверяет, работает ли ваша сетевая карта. Для простоты вы можете объединить все, что запускает XBMC, с проверкой вроде ( украдено с форумов ):

#!/bin/bash

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

xbmc

и вызывать этот скрипт вместо прямого вызова xmbc.

3. Поиграйте с Upstart и разбейте его, чтобы исполнить свою волю.

Upstart - это то, что управляет всеми вещами системы и управляет , когда вещи запускаются на основе событий, которые испускает каждое задание. Это кажется вам наиболее приятным маршрутом, потому что вы можете сделать так, чтобы он излучал сигнал именно тогда, когда ему назначен DHCP-адрес.

Проблема в том, что вам придется по-настоящему копаться в процессе загрузки, чтобы что-то изменить. Я не знаю достаточно об этом, чтобы разумно помочь.

0
ответ дан 19 October 2011 в 04:06

Спасибо Оли, я выбрал твой вариант 3, который я опишу здесь на случай, если кому-то еще будет интересно:

  1. Удалите сетевой менеджер в xmbc (не уверен, что это важно , но мне это не нужно):

    # apt-get remove network-manager
    
  2. Сконфигурировать / etc / network / interfaces, добавив:

    auto eth0
    iface eth0 inet dhcp
    
  3. Скажите lightdm, чтобы он запускался только при появлении интерфейса, отличного от обратной петли, в дополнение к существующим условиям запуска, путем изменения запуска запуска в /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)
    

Я добавил условие net-device-up IFACE!=lo.

1114 Пока что, похоже, хорошо работает.

0
ответ дан 19 October 2011 в 04:06

Другие вопросы по тегам:

Похожие вопросы: