[ALTSP] 4.0 RC3: первый взгляд

Andrey Liakhovets liakh at dol.ru
Fri Aug 22 19:24:19 MSD 2008


Здравствуйте.

Наконец-то решил познакомиться поближе с ALTSP, на примере 4.0 RC3.
Вкратце, история пока такова:
- некоторая оторопь при записи CD-ROM (предупреждение о 800Mb
  прочитал и благополучно забыл);
- быстрая и беспроблемная установка сервера (однако, и здесь я
  умудрился промахнуться);
- многочасовые попытки запустить клиента;
- наслаждение тем, что ОНО хорошо и красиво работает!

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

Сразу скажу, что _постфактум_ решение нижеизложенных проблем или
указания к их решению я нашёл-таки в интернете (в частности, в этой
рассылке), но только после того, как я их уже решил и знал,
что искать :(

Итак, будущий сервер, клиент и свитч, в который кроме них воткнут
одним интерфейсом еще один компьютер.
Ещё раз перечитываю страницы об LTSP с freesource.info.
Ставлю сервер с altlinux-4.0rc3-terminal-i586-en-cd.iso
(одну из проблем обеспечил себе при установке, но об этом позже).

Пробую загрузить клиент
(на клиенте с дискеты грузится tulip.zlilo, оно точно работает:
я когда-то грузил им через pxelinux.0 свой image).

При исходном /etc/dhcp/dhcpd.conf на экране вижу:

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:00.2[B] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt for device 0000:00:00.2 disabled
RAMDISK driver initialized: 4 RAM disks of 4096K size 1024 blocksize
PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:MOUE] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI Shortcut mode
input: AT Translated Set 2 keyboard as /class/input/input3
Switched to NOHz mode on CPU #0
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
Replacing swsusp.
TuxOnIce core not loaded yet.
VFS: Cannot open root device "nfs" or unknown-block(0,255)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,255)

и мигают CapsLock и ScrollLock.

Заменил nbi.img на pxelinux.0 в dhcpd.conf для "Etherboot" [1].
Получил:

ACPI: PCI interrupt for device 0000:00:00.2 disabled
RAMDISK driver initialized: 4 RAM disks of 4096K size 1024 blocksize
PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:MOUE] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI Shortcut mode
Freeing unused kernel memory: 200k freed
Loading, please wait...
Begin: Starting udevd ...
input: AT Translated Set 2 keyboard as /class/input/input3
Done.
Begin: Loading essential drivers ...
Done.
Begin: Finishing udevd initialization ...
Done.
Begin: Mounting root filesystem ...
ipconfig: eth0: SIOCGIFINDEX: No such device
ipconfig: no devices to configure
.: 173: Can't open /tmp/net-eth0.conf
Kernel panic - not syncing: Attempted to kill init!

и мигают CapsLock и ScrollLock.

Ага, думаю. Наверно, почему-то не грузится сетевой драйвер.
Посмотрел в initrd. Так и есть, вернее, нет: нет модуля tulip [2].

Стал учиться правильно собирать initrd для клиента с нужным модулем.
Вроде, научился [3].
Во всяком случае, клиент стал грузиться дальше (но только через
pxelinux.0, если пробую через новый nbi.img - виснет точно так же,
как и раньше).

Догрузился клиент до login'а, затем нарисовал крестик X'ов на чёрном
фоне, и тут опять всё встало.
Поскольку графический remote login для меня впервые (если не считать
VNC), то я отнюдь не сразу углядел в /var/log/kdm.log сплошные
 Xlib: connection to "ws250:7.0" refused by server
 Xlib: Invalid MIT-MAGIC-COOKIE-1 key
Проверяю MTU по рекомендации из troubleshooting у всех интерфейсов
в этой сети -- OK.
Долго читаю Интернет, пытаюсь проверить сетевые настройки сервера и
клиента (попутно делаю пароль root'у в chroot'е)......
Короче, только на следующий день я вспомнил, что я сделал при
установке сервера: указал недоступный DNS-сервер, имея ввиду сделать
его доступным в ближайшем будущем (Нервный смех. Вот, например, SSH
тоже не прочь поговорить с DNS, но вполне удовлетворяется ключом
или паролем. А тут...).
Убрал запись в /etc/resolv.conf на сервере, update_chrooted conf,
service network stop и start и -- приглашение kdm на клиенте!
(от перестраховки убирал ещё и default gateway через тот самый 3-й
компьютер, и лишние записи в /etc/hosts; потом вернул это на место).
Вот и сноска [4].

А дальше пока - одни молочные реки и кисельные берега :)

Сноски:

[1] Может, в troubleshooting это записать?
    Я вот не сразу понял, зачем там (в dhcpd.conf) есть закомментаренный
    pxelinux.0. А такое, оказывается, уже было: нашёл в рассылке, что
    у кого-то тоже не грузилось через nbi.img... Или хотя бы добавить
    комментарий в dhcpd.conf, типа "попробуйте так, если не грузится".

[2] То, что сетевые драйверы в initrd не все, тоже неплохо бы
    сказать на видном месте, с указанием файла, где они перечислены
    (может, опять-таки в troubleshooting, с симптомами?).
    А то я в процессе разглядывал config-2.6.22-led-tc-alt11,
    распаковывал initrd-2.6.22-led-tc-alt11.img:
    zcat /var/lib/tftpboot/ltsp/i586/initrd-2.6.22-led-tc-alt11.img | \
    { n=0; while [ "$n" -ge 0 ]; do n=$((n+1)); echo "$n":; \
      d="initrd.$n"; mkdir "$d"; pushd "$d"; \
      cpio -idm -H newc || n=-1; popd; done; unset n d; }
    и т.д.

[3] Делал так: добавил tulip
    в /var/lib/ltsp/i586/etc/ltsp/ltsp-client-eth-modules.list,
    сгенерил initrd в chroot'е
    chroot /var/lib/ltsp/i586/ /sbin/installkernel -n 2.6.22-led-tc-alt11
    и скопировал {initrd,nbi}-*.img из /var/lib/ltsp/i586/boot/
    в /var/lib/tftpboot/ltsp/i586/.
    Не уверен, что это правильно, но работает.
    Может быть, можно сделать проще?  (полностью перегенерировать
    chroot?  использовать ltsp-update-kernels?)
    Тогда мне показалось, что так надёжнее, но хотелось бы видеть
    авторскую рекомендацию (в troubleshooting?)
    (в рассылке это есть, но без деталей).

[4] Это тоже есть:
    http://www.ltsp.org/twiki/bin/view/Ltsp/Troubleshooting-GrayScreen
    в са-а-амом конце этой длиииинной страницы:
    "3. on some occasions, when there is no Internet link
     or the link is veryyyyy slowwww. workstations are unable
     to connect to dns server, which halts the login process."
    Именно что "unable to connect to dns server".
    Вот и вынести это куда-нибудь наверх, т.к. ошибиться можно
    уже при установке.

С огромным уважением к людям,
довёдшим это до дистрибутива.
Андрей Ляховец



More information about the Ltsp-server mailing list