X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=hints%2Fetch-x-term.html;h=4bca8750cb40a1667bd56e4f73dd052e66c99f7b;hb=07f9fd36929274c9483e28f55c67ca0bde63ff8a;hp=6e38caafa595ddaa99cb19c44f132600ca2c79c3;hpb=494b9eba9fa89a2702f2a7da8e82d14dcabbd777;p=sites%2Fhome_page.git diff --git a/hints/etch-x-term.html b/hints/etch-x-term.html index 6e38caa..4bca875 100644 --- a/hints/etch-x-term.html +++ b/hints/etch-x-term.html @@ -1,63 +1,63 @@ - - + Creating diskless X-terminal with Debian etch -

óÏÚÄÁÎÉÅ ÂÅÚÄÉÓËÏ×ÏÇÏ X-ÔÅÒÍÉÎÁÌÁ Ó ÐÏÍÏÝØÀ Debian etch

+

Создание бездискового X-терминала с помощью Debian etch

-÷ ÓÏÓÔÁ× Debian etch ×ÈÏÄÑÔ ÐÁËÅÔÙ ltsp-server É ltsp-utils, ÓÐÅÃÉÁÌØÎÏ -ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÓÏÚÄÁÎÉÑ ÔÏÎËÉÈ ËÌÉÅÎÔÏ×. îÏ ÍÎÅ ÞÔÏ-ÔÏ ÐÏÌÕÞÉ×ÛÁÑÓÑ -"ÔÏÎËÏÓÔØ" ÎÅ ÐÏÎÒÁ×ÉÌÁÓØ. +В состав Debian etch входят пакеты ltsp-server и ltsp-utils, специально +предназначенные для создания тонких клиентов. Но мне что-то получившаяся +"тонкость" не понравилась.

-ðÏÜÔÏÍÕ Ñ ÐÏÛÅÌ ÄÒÕÇÉÍ ÐÕÔÅÍ +Поэтому я пошел другим путем

-óÎÁÞÁÌÁ Ñ ÞÅÓÔÎÏ ÐÏÐÙÔÁÌÓÑ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ debootstrap, ÎÏ ËÁË -×ÙÑÓÎÉÌÏÓØ, ÚÁ×ÉÓÉÍÏÓÔÉ Õ ÔÒÅÂÕÅÍÙÈ ÄÌÑ X-ÔÅÒÍÉÎÁÌÁ ÐÁËÅÔÏ× ÔÁËÉÅ, -ÞÔÏ ÏÊ. ðÏÌÕÞÉÔÓÑ ÎÅ ÍÅÎØÛÅ, ÞÅÍ Õ ltsp. +Сначала я честно попытался воспользоваться debootstrap, но как +выяснилось, зависимости у требуемых для X-терминала пакетов такие, +что ой. Получится не меньше, чем у ltsp.

-á ÍÎÅ × ÉÔÏÇÅ ÕÄÁÌÏÓØ ÕÌÏÖÉÔØÓÑ × 28íÂ. ôÏÖÅ ÍÎÏÇÏ, ÎÏ ÕÖÅ ÅÓÌÉ -ÚÁÈÏÞÅÔÓÑ, ÍÏÖÎÏ ×ÍÅÓÔÏ ÓÅÔÅ×ÏÊ ÚÁÇÒÕÚËÉ ÎÅÎÕÖÎÕÀ 32í CF-ËÕ ÎÁ IDE -ÐÒÉÃÅÐÉÔØ. +А мне в итоге удалось уложиться в 28Мб. Тоже много, но уже если +захочется, можно вместо сетевой загрузки ненужную 32Мб CF-ку на IDE +прицепить.

-

ðÏÓÔÁÎÏ×ËÁ ÚÁÄÁÞÉ

+

Постановка задачи

-éÍÅÅÔÓÑ ÓÉÓÔÅÍÁ, ÓÏÄÅÒÖÁÝÁÑ ×ÉÄÅÏËÁÒÔÕ, ÓÅÔÅ×ÕÀ ËÁÒÔÕ Ó PXE-bootrom, -Ú×ÕËÏ×ÕÀ ËÁÒÔÕ, ÆÌÏÐÏ×ÏÄ É ÎÅÍÎÏÖËÏ ÐÁÍÑÔÉ (Õ ÍÅÎÑ - 64 ÍÂ). -èÏÞÅÔÓÑ ÞÔÏÂÙ ÜÔÁ ÛÔÕËÁ ÐÒÅ×ÒÁÔÉÌÁÓØ × ÐÏÌÎÏÃÅÎÎÏÅ ÒÁÂÏÞÅÅ ÍÅÓÔÏ, ÇÄÅ -ÍÏÖÎÏ ÒÁÂÏÔÁÔØ Ó ÐÒÉÌÏÖÅÎÉÑÍÉ, × ÔÏÍ ÞÉÓÌÅ É ÒÁÂÏÔÁÀÝÉÍÉ ÓÏ Ú×ÕËÏÍ, -ÞÉÔÁÔØ ÄÉÓËÅÔÙ É USB-ÆÌÜÛËÉ. +Имеется система, содержащая видеокарту, сетевую карту с PXE-bootrom, +звуковую карту, флоповод и немножко памяти (у меня - 64 мб). +Хочется чтобы эта штука превратилась в полноценное рабочее место, где +можно работать с приложениями, в том числе и работающими со звуком, +читать дискеты и USB-флэшки.

-äÌÑ ÜÔÏÇÏ ÎÁÍ ÎÕÖÎÏ ÞÔÏÂÙ ÎÁ ÜÔÏÊ ÓÉÓÔÅÍÅ ÚÁÐÕÓÔÉÌÉÓØ X-ÓÅÒ×ÅÒ, nasd -(ÖÅÌÁÀÝÉÅ ÍÏÇÕÔ ÒÁÚÒÁÂÏÔÁÔØ ×ÁÒÉÁÎÔ Ó PulseAudio ÉÌÉ esd), É Ä×Á floppyd -- ÏÄÉÎ ÎÁ ÄÉÓËÏ×ÏÄ, ÄÒÕÇÏÊ ÎÁ ÕÓÔÒÏÊÓÔ×Ï /dev/sda1. +Для этого нам нужно чтобы на этой системе запустились X-сервер, nasd +(желающие могут разработать вариант с PulseAudio или esd), и два floppyd +- один на дисковод, другой на устройство /dev/sda1.

-

ðÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÄÅÊÓÔ×ÉÊ:

+

Последовательность действий:

-óÎÁÞÁÌÁ ÓÏÂÉÒÁÅÍ ÑÄÒÏ Ó ÐÏÍÏÝØÀ kernel-package. ÷ ÐÁËÅÔ. ñÄÒÏ ÓÏÂÉÒÁÅÍ -ÂÅÚ initrd, ÓÏ ×ÓÅÍÉ ÎÕÖÎÙÍÉ ÍÏÄÕÌÑÍÉ ÓÅÔÅ×ÙÈ ËÁÒÔ É ÐÏÄÄÅÒÖËÏÊ NFS-root -×ÎÕÔÒÉ. ÷ ÓÍÙÓÌÅ NFS-ËÌÉÅÎÔ ÎÅ ÄÏÌÖÅÎ ÂÙÔØ ÍÏÄÕÌÅÍ. éÎÁÞÅ -NFS-root ÎÅ ×ËÌÀÞÉÔÓÑ. +Сначала собираем ядро с помощью kernel-package. В пакет. Ядро собираем +без initrd, со всеми нужными модулями сетевых карт и поддержкой NFS-root +внутри. В смысле NFS-клиент не должен быть модулем. Иначе +NFS-root не включится.

-ú×ÕË É ÐÏÄÄÅÒÖËÕ USB ÍÏÖÎÏ ÍÏÄÕÌÑÍÉ. USB ÎÁÍ ÎÕÖÎÁ ÒÁÄÉ -usb-storage, ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ×ÔÙËÁÔØ ÆÌÜÛËÉ × ÔÅÒÍÉÎÁÌ É ÉÈ ÞÉÔÁÔØ Ó -ÐÏÍÏÝØÀ mtools. ëÒÏÍÅ ÔÏÇÏ, ÍÏÖÅÔ ÏËÁÚÁÔØÓÑ ÐÏÌÅÚÎÙÍ ÉÓÐÏÌØÚÏ×ÁÔØ -×ÎÅÛÎÀÀ USB-ÁÕÄÉÏËÁÒÔÕ +Звук и поддержку USB можно модулями. USB нам нужна ради +usb-storage, чтобы можно было втыкать флэшки в терминал и их читать с +помощью mtools. Кроме того, может оказаться полезным использовать +внешнюю USB-аудиокарту

-âÅÒÅÍ ÎÁÂÏÒ ÓÌÅÄÕÀÝÉÊ ÐÁËÅÔÏ× (ÎÅËÏÔÏÒÙÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÂÕÄÕÔ -ÎÅÕÄÏ×ÌÅÔ×ÏÒÅÎÙ, ÎÏ ÄÌÑ ÎÕÖÎÏÊ ÎÁÍ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔÉ È×ÁÔÉÔ) +Берем набор следующий пакетов (некоторые зависимости будут +неудовлетворены, но для нужной нам функциональности хватит)

 libc6
 busybox
-modutils (ÜÔÏ ÅÓÌÉ Ó ÑÄÒÏÍ 2.4. åÓÌÉ 2.6, ÔÏ module-init-tools)
+modutils (это если с ядром 2.4. Если 2.6, то module-init-tools)
 libwrap0
 portmap
 nfs-common
@@ -76,26 +76,26 @@ libxfont1
 zlib1g
 libfreetype6
 xserver-xorg-core
-xserver-xorg-video-ati (ÜÔÏ Õ ÍÅÎÑ ati. õ ×ÁÓ ÍÏÖÅÔ ÂÙÔØ ÄÒÕÇÏÅ. ÷
-ÐÒÉÎÃÉÐÅ, installed-size Õ ÄÒÁÊ×ÅÒÏ× ÍÁÌÅÎØËÉÊ, ÍÏÖÅÔÅ ÈÏÔØ ×ÓÅ
-ÚÁÓÏÂÁÞÉÔØ)
+xserver-xorg-video-ati (это у меня ati. У вас может быть другое. В
+принципе, installed-size у драйверов маленький, можете хоть все
+засобачить)
 xserver-xorg-input-kbd
 xserver-xorg-input-mouse
 xserver-xorg-input-evdev
 

-÷ÙÂÉÒÁÅÍ ÎÅËÏÔÏÒÕÀ ÄÉÒÅËÔÏÒÉÀ (Õ ÍÅÎÑ /var/diskless), ÏÔËÕÄÁ ÜÔÏ ÄÅÌÏ -ÂÕÄÅÔ ÒÁÚÄÁ×ÁÔØÓÑ ÐÏ NFS. +Выбираем некоторую директорию (у меня /var/diskless), откуда это дело +будет раздаваться по NFS.

-òÁÓÐÁËÏ×Ù×ÁÅÍ ÔÕÄÁ ÐÅÒÅÞÉÓÌÅÎÙÎÎÙÅ ÐÁËÅÔÙ c ÐÏÍÏÝØÀ +Распаковываем туда перечисленынные пакеты c помощью

-dpkg-deb -È ÐÁËÅÔ ÄÉÒÅËÔÏÒÉÑ
+dpkg-deb -х пакет директория
 

-îÉËÁËÉÅ postinst ÓËÒÉÐÔÙ ÎÅ ×ÙÐÏÌÎÑÀÔÓÑ, ÎÏ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ -ÎÅÔÒÉ×ÉÁÌØÎÙÈ postinst-ÓËÒÉÐÔÏ× É ÎÅÔ. ÷ÍÅÓÔÏ ÜÔÏÇÏ ÄÅÌÁÅÍ ÓÌÅÄÕÀÝÅÅ +Никакие postinst скрипты не выполняются, но в данном случае +нетривиальных postinst-скриптов и нет. Вместо этого делаем следующее

 # chroot /var/diskless /bin/busybox sh
@@ -105,18 +105,18 @@ dpkg-deb -
 / #  exit
 

-÷Ù, ÎÁ×ÅÒÎÏÅ, ÕÄÉ×ÉÔÅÓØ: "á ÇÄÅ ÖÅ ÐÁËÅÔ xkb-data". á ÎÅÔÕ. íÙ ÂÕÄÅÍ ÚÁÐÕÓËÁÔØ xkbcomp Ó ÈÏÓÔÁ, ÐÒÉ ÌÏÇÉÎÅ ÉÚ .xsession. ôÁËÉÍ ÏÂÒÁÚÏÍ Õ ËÁÖÄÏÇÏ ÀÚÅÒÁ ÍÏÖÅÔ ÂÙÔØ ÓÏÂÓÔ×ÅÎÎÁÑ ÒÁÓËÌÁÄËÁ ËÌÁ×ÉÁÔÕÒÙ. +Вы, наверное, удивитесь: "А где же пакет xkb-data". А нету. Мы будем запускать xkbcomp с хоста, при логине из .xsession. Таким образом у каждого юзера может быть собственная раскладка клавиатуры.

-ôÅÐÅÒØ ÎÁÄÏ ÄÏÐÏÌÎÉÔÅÌØÎÏ ÓÏÚÄÁÔØ ÆÁÊÌ +Теперь надо дополнительно создать файл /var/diskless/etc/X11/Xwrapper.config -(Ñ ÎÅ ÍÕÄÒÓÔ×ÕÑ ÌÕËÁ×Ï ÓËÏÐÉÒÏ×ÁÌ ÅÇÏ Ó ÈÏÓÔÁ), -ÓÏÚÄÁÔØ ÓÉÍÌÉÎË /var/diskless/etc/X11/X, ×ÅÄÕÝÉÊ ÎÁ -/usr/bin/Xorg (ÁÇÁ, -ÉÍÅÎÎÏ ÓÏ ÓÌÜÛÏÍ ×ÎÁÞÁÌÅ). âÏÌØÛÉÅ ÜÓÔÅÔÙ ÍÏÇÕÔ ÓÏÚÄÁ×ÁÔØ ÅÇÏ ÚÁÊÄÑ × -chroot É ÚÁÐÕÓÔÉ× ÔÁÍ busybox-Ï×ÓËÉÊ ÛÅÌÌ, ÎÏ Ñ É ÔÁË ÏÂÏÛÅÌÓÑ, -ÓÏÚÄÁÔØ ÄÉÒÅËÔÏÒÉÉ /dev /tmp É /var/log É ÎÁÓÅÌÉÔØ dev ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍÉ -ÓÐÅÃÉÁÌØÎÙÍÉ ÆÁÊÌÁÍÉ. õ ÍÅÎÑ ÔÁÍ +(я не мудрствуя лукаво скопировал его с хоста), +создать симлинк /var/diskless/etc/X11/X, ведущий на +/usr/bin/Xorg (ага, +именно со слэшом вначале). Большие эстеты могут создавать его зайдя в +chroot и запустив там busybox-овский шелл, но я и так обошелся, +создать директории /dev /tmp и /var/log и населить dev соответствующими +специальными файлами. У меня там
 audio    dsp0  mem     port    sda1   sda13  sda3  sda7  tty1  tty5
 audio0   fd0   mixer   psaux   sda10  sda14  sda4  sda8  tty2  tty6
@@ -124,21 +124,21 @@ console  full  mixer0  random  sda11  sda15  sda5  sda9  tty3  urandom
 dsp      kmem  null    sda     sda12  sda2   sda6  tty0  tty4  zero
 

-÷ ÐÒÉÎÃÉÐÅ, ÞÁÓÔØ tty ÍÏÖÎÏ ÐÏÏÔÒÙ×ÁÔØ, ÄÁ É ÒÁÚÄÅÌÙ sda ËÒÏÍÅ sda1 ÎÅ -ÎÕÖÎÙ. +В принципе, часть tty можно поотрывать, да и разделы sda кроме sda1 не +нужны.

-ëÌÁÄÅÍ xorg.conf × /etc/X11 (Õ ÎÅÇÏ ÄÏÌÖÅÎ ÂÙÔØ ÅÄÉÎÓÔ×ÅÎÎÙÊ ÜÌÅÍÅÎÔ -font-path, ÕËÁÚÙ×ÁÀÝÉÊ ÎÁ ÆÏÎÔ-ÓÅÒ×ÅÒ) É ÉÍÅÅÍ ÐÒÁËÔÉÞÅÓËÉ ÇÏÔÏ×ÕÀ -ÓÉÓÔÅÍÕ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ init. +Кладем xorg.conf в /etc/X11 (у него должен быть единственный элемент +font-path, указывающий на фонт-сервер) и имеем практически готовую +систему, за исключением init.

-åÓÌÉ Õ ÎÁÓ ÎÅÓËÏÌØËÏ ÔÅÒÍÉÎÁÌÏ×, ËÏÔÏÒÙÍ ÎÕÖÎÙ ÒÁÚÎÙÅ ËÏÎÆÉÇÕÒÁÃÉÉ x-Ï×, -ÔÏ ÏÐÉÓÙ×ÁÅÍ × xorg.conf ÎÅÓËÏÌØËÏ ÓÅËÃÉÊ ServerLayout Ó -ÉÄÅÎÔÉÆÉËÁÔÏÒÁÍÉ, ÓÏÏÔ×ÅÔÓÔ×ÕÝÉÍÉ ÉÍÅÎÁÍ ÈÏÓÔÏ× (ËÏÔÏÒÙÅ ÂÕÄÕÔ ÐÏÔÏÍ -ÒÏÚÄÁÎÙ ÐÏ dhcp ËÁË option host-name). +Если у нас несколько терминалов, которым нужны разные конфигурации x-ов, +то описываем в xorg.conf несколько секций ServerLayout с +идентификаторами, соответствущими именам хостов (которые будут потом +розданы по dhcp как option host-name).

-÷ÍÅÓÔÏ init ËÌÁÄÅÍ ÛÅÌÌÏ×ÓËÉÊ ÓËÒÉÐÔ ÓÌÅÄÕÀÝÅÇÏ ÓÏÄÅÒÖÁÎÉÑ: +Вместо init кладем шелловский скрипт следующего содержания:

@@ -178,42 +178,71 @@ respawn "X -query wagner wait
-ôÅÐÅÒØ ÐÏÌÕÞÉ×ÛÕÀÓÑ ÄÉÒÅËÔÏÒÉÀ ÎÁÄÏ ÒÁÚÄÁÔØ ÐÏ NFS Ó ÏÐÃÉÑÍÉ +Теперь получившуюся директорию надо раздать по NFS с опциями rw,no_root_squash -É ÍÏÖÎÏ ÎÁÓÔÒÁÉ×ÁÔØ ÓÏÂÓÔ×ÅÎÎÏ ÚÁÇÒÕÚËÕ. +и можно настраивать собственно загрузку. +

Настройка X-ов

+

Как можно было заметить выше, X-серверу на терминале передается опция +"-layout $HOSTNAME", позволяющая задать свою конфигурацию X-ов для +каждого терминала.

+

+Соответственно, в /var/diskless/etc/X11/xorg.conf должна +присутствовать секция ServerLayout с идентификатором, соответствующем +имени терминала. +

+Section "ServerLayout"
+	Identifier "xterm5"
+	Screen "xterm5-screen"
+	InputDevice "Generic Keyboard"
+	InputDevice "USB Mouse"
+EndSection
+
+и соответствующая секция Screen +
+Section "Screen"
+	Identifier "xterm5-screen"
+	Device "FoxConOnboard"
+	Monitor "Roverscan"
+	DefaultDepth 16
+	...
+
-

îÁÓÔÒÏÊÒËÁ ÚÁÇÒÕÚËÉ

+ +

Настройрка загрузки

-óÔÁ×ÉÍ ÎÁ ÈÏÓÔ ÐÁËÅÔÙ syslinux, dhcp3-server É tftp-hpa. ÷ ËÏÍÁÎÄÎÕÀ ÓÔÒÏËÕ -tftp-hpa ÎÕÖÎÏ ÄÏÂÁ×ÉÔØ ÏÐÃÉÀ -r blksize, ÐÏÔÏÍÕ ÞÔÏ Õ ÎÅËÏÔÏÒÙÈ PXEboot -ROM ÐÒÏÂÌÅÍÙ Ó ÜÔÏÊ ÏÐÃÉÅÊ. +Ставим на хост пакеты syslinux, dhcp3-server и tftp-hpa. В командную строку +tftp-hpa нужно добавить опцию -r blksize, потому что у некоторых PXEboot +ROM проблемы с этой опцией.

-/usr/lib/pxelinux.0 É ÑÄÒÏ ÉÚ /var/diskless/boot ËÏÐÉÒÕÅÍ × +/usr/lib/pxelinux.0 и ядро из /var/diskless/boot копируем в /var/lib/tftpboot.

-óÏÚÄÁÅÍ ÄÉÒÅËÔÏÒÉÀ /var/lib/ftpboot/pxelinux.cfg É ÐÏÍÅÝÁÅÍ ÔÕÄÁ ÆÁÊÌ -default ÓÌÅÄÕÀÝÅÇÏ ÓÏÄÅÒÖÁÎÉÑ: +Создаем директорию /var/lib/ftpboot/pxelinux.cfg и помещаем туда файл +default следующего содержания:

 DEFAULT term root=/dev/nfs ip=dhcp rw
 LABEL term
 KERNEL vmlinuz-2.4.27-terminals
 

-åÓÌÉ ÐÏÞÉÔÁÔØ ÐÏÌÕÞÛÅ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ ÏÐÃÉÀ nfsroot × ÑÄÒÅ, ÍÏÖÅÔ ÂÙÔØ -ÕÄÁÓÔÓÑ ÏÂÏÊÔÉÓØ ÂÅÚ ËÏÍÁÎÄÙ ip, ËÏÔÏÒÁÑ ÆÁËÔØÞÅÓËÉ ÐÒÉ×ÏÄÉÔ Ë -ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÎÁÌÉÞÉÑ ÏÔÄÅÌØÎÏÇÏ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ ÄÌÑ ËÁÖÄÏÇÏ -ÔÅÒÍÉÎÁÌÁ. îÏ Ñ ÐÏËÁ ÎÅ ÓÔÁÌ Ó ÜÔÉÍ ÚÁÍÏÒÁÞÉ×ÁÔÓØÑ, ÐÏÔÏÍÕ ÞÔÏ pxelinux -ÐÏÚ×ÏÌÑÅÔ ÉÓËÁÔØ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ÐÏ IP-ÁÄÒÅÓÕ ÉÌÉ mac-ÁÄÒÅÓÕ, Á -ÞÅÒÅÚ ÜÔÏÔ ÆÁÊÌ ÍÏÖÎÏ (× ×ÉÄÅ ÎÅÐÏÎÉÍÁÅÍÙÈ ÑÄÒÏÍ ÏÐÃÉÊ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ, -ËÏÔÏÒÙÅ ÐÏÔÏÍ ÍÏÖÎÏ ÓËÒÉÐÔÏÍ ÉÚ×ÌÅÞØ ÉÚ /proc/cmdline) ÐÅÒÅÄÁÔØ ÍÎÏÇÏ -ÔÁËÏÇÏ, ÞÔÏ ÎÅ ×ÐÉÓÙ×ÁÅÔÓÑ × DHCP. +pxelinux +позволяет искать конфигурационный файл по IP-адресу или mac-адресу, а +через этот файл можно (в виде непонимаемых ядром опций командной строки, +которые потом можно скриптом извлечь из /proc/cmdline) передать много +такого, что не вписывается в DHCP. Но у меня пока в этом необходимости +не возникло. +

+

+Сделать ядро, которое грузится нормально на терминалах с очень разным +железом - вполне реально, а все последующее можно сконфигурировать из +init-скрипта опираясь на hostname.

-÷ dhcpd.conf ÐÉÛÅÍ ÒÁÚÄÅÌ host ÄÌÑ ÔÅÒÍÉÎÁÌÁ. (ÅÓÌÉ ÔÅÒÍÉÎÁÌÏ× ÍÎÏÇÏ, -ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÏÄÉÎ ÒÁÚÄÅÌ group, ÎÏ ÜÔÏ ÕÖ ÞÉÔÁÊÔÅ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ -pxelinux É dhcpd ÓÁÍÉ) +В dhcpd.conf пишем раздел host для терминала. (если терминалов много, +можно написать один раздел group, но это уж читайте документацию на +pxelinux и dhcpd сами)

       host xterm3 {
@@ -223,34 +252,34 @@ pxelinux 
          next-server 192.168.217.1;
         option domain-name "wagner.home";
          filename "pxelinux.0";
-        option root-path "/var/diskless/";
+        option root-path "/var/diskless";
 
       }
 

-çÌÁ×ÎÏÅ, ÎÅ ÚÁÂÙÔØ ËÏÍÁÎÄÕ next-server, ÐÏÔÏÍÕ ÞÔÏ ÅÓÌÉ PXE BootRom ÐÒÅËÒÁÓÎÏ ÏÂÈÏÄÉÔÓÑ ÂÅÚ ÎÅ£, ÔÏ pxelinux ÐÏÞÅÍÕ-ÔÏ ÎÁÞÉÎÁÅÔ ÔÁÝÉÔØ Ó×ÏÊ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ É ÑÄÒÏ Ó ÁÄÒÅÓÁ 0.0.0.0. +Главное, не забыть команду next-server, потому что если PXE BootRom прекрасно обходится без неё, то pxelinux почему-то начинает тащить свой файл конфигурации и ядро с адреса 0.0.0.0.

-ôÅÐÅÒØ ÓÔÁ×ÉÍ xfs, ÏÔÒÙ×ÁÅÍ Õ ÎÅÇÏ ÉÚ ËÏÎÆÉÇÁ no-listen = tcp, -É ÒÁÚÒÅÛÁÅÍ ÏÂÓÌÕÖÉ×ÁÎÉÅ ÔÅÒÍÉÎÁÌÏ× × display manager. ÷ xdm ÄÌÑ ÜÔÏÇÏ ÎÅÏÂÈÏÄÉÍÏ ÚÁËÏÍÅÎÔÁÒÉÔØ ÓÔÒÏÞËÕ +Теперь ставим xfs, отрываем у него из конфига no-listen = tcp, +и разрешаем обслуживание терминалов в display manager. В xdm для этого необходимо закоментарить строчку

 DisplayManager.requestPort: 0 
 
-× xdm-config É ÒÁÓËÏÍÅÎÔÁÒÉÔØ ÓÔÒÏÞËÕ +в xdm-config и раскоментарить строчку
 * # any host can get a login window
 
-× Xaccess. +в Xaccess.

-çÏÔÏ×Ï, ÍÏÖÎÏ ÇÒÕÚÉÔØÓÑ. +Готово, можно грузиться.

TBD

-îÁÕÞÉÔØÓÑ ÐÏÌÕÞÁÔØ aÄÒÅÓ ÆÏÎÔ-ÓÅÒ×ÅÒÁ É ÁÄÒÅÓ ÈÏÓÔÁ, ÐÅÒÅÄÁ×ÁÅÍÏÇÏ × ÏÐÃÉÀ query ÐÏ dhcp (ÏÐÃÉÉ font-server É x-display-manager) +Научиться получать aдрес фонт-сервера и адрес хоста, передаваемого в опцию query по dhcp (опции font-server и x-display-manager)

-äÌÑ ÜÔÏÇÏ ÎÁÄÏ ÐÅÒÅÓÏÂÒÁÔØ busybox ×ËÌÀÞÉ× ÔÁÍ ×ÓÔÒÏÅÎÎÙÊ dhcp-ËÌÉÅÎÔ, É -ÎÅÍÎÏÇÏ ÐÏÐÁÔÞÉÔØ ÜÔÏÔ ËÌÉÅÎÔ, ÐÏÓËÏÌØËÕ ÜÔÉ ÏÐÃÉÉ ÏÎ ÉÚ ËÏÒÏÂËÉ ÎÅ -ÕÍÅÅÔ. +Для этого надо пересобрать busybox включив там встроенный dhcp-клиент, и +немного попатчить этот клиент, поскольку эти опции он из коробки не +умеет.