]> www.wagner.pp.ru Git - sites/home_page.git/blobdiff - hints/etch-x-term.html
Recoded to utf-8
[sites/home_page.git] / hints / etch-x-term.html
index 7f6b163c6f73d87f41d9b577b4091dc54c67871f..4bca8750cb40a1667bd56e4f73dd052e66c99f7b 100644 (file)
@@ -1,63 +1,63 @@
 <HTML><HEAD>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
-<META NAME="DESCRIPTION" CONTENT="ïÐÉÓÁÎÉÅ ËÁË ÓÄÅÌÁÔØ NFS-ÒÕÔ ÄÌÑ
-X-ÔÅÒÍÉÎÁÌÁ ÍÉÎÉÍÁÌØÎÙÈ ÒÁÚÍÅÒÏ× ÉÓÐÏÌØÚÕÑ ÄÉÓÔÒÉÂÕÔÉ× Debian
+<META HTTP-EQUIV="Content-Type" "text/html; charset=utf-8">
+<META NAME="DESCRIPTION" CONTENT="Описание как сделать NFS-рут для
+X-терминала минимальных размеров используя дистрибутив Debian
 etch">
 <TITLE>Creating diskless X-terminal with Debian etch</TITLE>
 </HEAD><BODY>
-<H1>óÏÚÄÁÎÉÅ ÂÅÚÄÉÓËÏ×ÏÇÏ X-ÔÅÒÍÉÎÁÌÁ Ó ÐÏÍÏÝØÀ Debian etch</h1>
+<H1>Создание бездискового X-терминала с помощью Debian etch</h1>
 <p>
-÷ ÓÏÓÔÁ× Debian etch ×ÈÏÄÑÔ ÐÁËÅÔÙ ltsp-server É ltsp-utils, ÓÐÅÃÉÁÌØÎÏ
ÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÓÏÚÄÁÎÉÑ ÔÏÎËÉÈ ËÌÉÅÎÔÏ×. îÏ ÍÎÅ ÞÔÏ-ÔÏ ÐÏÌÕÞÉ×ÛÁÑÓÑ
-"ÔÏÎËÏÓÔØ" ÎÅ ÐÏÎÒÁ×ÉÌÁÓØ
+В состав Debian etch входят пакеты ltsp-server и ltsp-utils, специально
¿Ñ\80едназнаÑ\87еннÑ\8bе Ð´Ð»Ñ\8f Ñ\81озданиÑ\8f Ñ\82онкиÑ\85 ÐºÐ»Ð¸ÐµÐ½Ñ\82ов. Ð\9dо Ð¼Ð½Ðµ Ñ\87Ñ\82о-Ñ\82о Ð¿Ð¾Ð»Ñ\83Ñ\87ивÑ\88аÑ\8fÑ\81Ñ\8f
+"тонкость" не понравилась
 </p>
 <p>
-ðÏÜÔÏÍÕ Ñ ÐÏÛÅÌ ÄÒÕÇÉÍ ÐÕÔÅÍ
+Поэтому я пошел другим путем
 </p>
 <p>
-óÎÁÞÁÌÁ Ñ ÞÅÓÔÎÏ ÐÏÐÙÔÁÌÓÑ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ debootstrap, ÎÏ ËÁË
-×ÙÑÓÎÉÌÏÓØ, ÚÁ×ÉÓÉÍÏÓÔÉ Õ ÔÒÅÂÕÅÍÙÈ ÄÌÑ X-ÔÅÒÍÉÎÁÌÁ ÐÁËÅÔÏ× ÔÁËÉÅ,
-ÞÔÏ ÏÊ. ðÏÌÕÞÉÔÓÑ ÎÅ ÍÅÎØÛÅ, ÞÅÍ Õ ltsp.
+Сначала я честно попытался воспользоваться debootstrap, но как
+выяснилось, зависимости у требуемых для X-терминала пакетов такие,
+что ой. Получится не меньше, чем у ltsp.
 </p>
 <p>
-á ÍÎÅ × ÉÔÏÇÅ ÕÄÁÌÏÓØ ÕÌÏÖÉÔØÓÑ × 28íÂ. ôÏÖÅ ÍÎÏÇÏ, ÎÏ ÕÖÅ ÅÓÌÉ
-ÚÁÈÏÞÅÔÓÑ, ÍÏÖÎÏ ×ÍÅÓÔÏ ÓÅÔÅ×ÏÊ ÚÁÇÒÕÚËÉ ÎÅÎÕÖÎÕÀ 32í CF-ËÕ ÎÁ IDE
ÒÉÃÅÐÉÔØ.
+А мне в итоге удалось уложиться в 28Мб. Тоже много, но уже если
+захочется, можно вместо сетевой загрузки ненужную 32Мб CF-ку на IDE
¿Ñ\80иÑ\86епиÑ\82Ñ\8c.
 </p>
-<h2>ðÏÓÔÁÎÏ×ËÁ ÚÁÄÁÞÉ</h2>
+<h2>Постановка задачи</h2>
 <p>
-éÍÅÅÔÓÑ ÓÉÓÔÅÍÁ, ÓÏÄÅÒÖÁÝÁÑ ×ÉÄÅÏËÁÒÔÕ, ÓÅÔÅ×ÕÀ ËÁÒÔÕ Ó PXE-bootrom,
-Ú×ÕËÏ×ÕÀ ËÁÒÔÕ, ÆÌÏÐÏ×ÏÄ É ÎÅÍÎÏÖËÏ ÐÁÍÑÔÉ (Õ ÍÅÎÑ - 64 ÍÂ).
-èÏÞÅÔÓÑ ÞÔÏÂÙ ÜÔÁ ÛÔÕËÁ ÐÒÅ×ÒÁÔÉÌÁÓØ × ÐÏÌÎÏÃÅÎÎÏÅ ÒÁÂÏÞÅÅ ÍÅÓÔÏ, ÇÄÅ
-ÍÏÖÎÏ ÒÁÂÏÔÁÔØ Ó ÐÒÉÌÏÖÅÎÉÑÍÉ, × ÔÏÍ ÞÉÓÌÅ É ÒÁÂÏÔÁÀÝÉÍÉ ÓÏ Ú×ÕËÏÍ,
-ÞÉÔÁÔØ ÄÉÓËÅÔÙ É USB-ÆÌÜÛËÉ.
+Имеется система, содержащая видеокарту, сетевую карту с PXE-bootrom,
+звуковую карту, флоповод и немножко памяти (у меня - 64 мб).
+Хочется чтобы эта штука превратилась в полноценное рабочее место, где
+можно работать с приложениями, в том числе и работающими со звуком,
+читать дискеты и USB-флэшки.
 </p>
 <p>
-äÌÑ ÜÔÏÇÏ ÎÁÍ ÎÕÖÎÏ ÞÔÏÂÙ ÎÁ ÜÔÏÊ ÓÉÓÔÅÍÅ ÚÁÐÕÓÔÉÌÉÓØ X-ÓÅÒ×ÅÒ, nasd
-(ÖÅÌÁÀÝÉÅ ÍÏÇÕÔ ÒÁÚÒÁÂÏÔÁÔØ ×ÁÒÉÁÎÔ Ó PulseAudio ÉÌÉ esd), É Ä×Á floppyd
-- ÏÄÉΠÎÁ ÄÉÓËÏ×ÏÄ, ÄÒÕÇÏÊ ÎÁ ÕÓÔÒÏÊÓÔ×Ï /dev/sda1.
+Для этого нам нужно чтобы на этой системе запустились X-сервер, nasd
+(желающие могут разработать вариант с PulseAudio или esd), и два floppyd
+- один на дисковод, другой на устройство /dev/sda1.
 </p>
 
-<h2>ðÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÄÅÊÓÔ×ÉÊ:</h2>
+<h2>Последовательность действий:</h2>
 <p>
-óÎÁÞÁÌÁ ÓÏÂÉÒÁÅÍ ÑÄÒÏ Ó ÐÏÍÏÝØÀ kernel-package. ÷ ÐÁËÅÔ. ñÄÒÏ ÓÏÂÉÒÁÅÍ
-ÂÅÚ initrd, ÓÏ ×ÓÅÍÉ ÎÕÖÎÙÍÉ ÍÏÄÕÌÑÍÉ ÓÅÔÅ×ÙÈ ËÁÒÔ É ÐÏÄÄÅÒÖËÏÊ NFS-root
-×ÎÕÔÒÉ. ÷ ÓÍÙÓÌÅ <b>NFS-ËÌÉÅÎÔ ÎÅ ÄÏÌÖÅΠÂÙÔØ ÍÏÄÕÌÅÍ</b>. éÎÁÞÅ
-NFS-root ÎÅ ×ËÌÀÞÉÔÓÑ
+Сначала собираем ядро с помощью kernel-package. В пакет. Ядро собираем
+без initrd, со всеми нужными модулями сетевых карт и поддержкой NFS-root
+внутри. В смысле <b>NFS-клиент не должен быть модулем</b>. Иначе
+NFS-root не включится
 </p><p>
-ú×ÕË É ÐÏÄÄÅÒÖËÕ USB ÍÏÖÎÏ ÍÏÄÕÌÑÍÉ. USB ÎÁÍ ÎÕÖÎÁ ÒÁÄÉ
-usb-storage, ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ×ÔÙËÁÔØ ÆÌÜÛËÉ × ÔÅÒÍÉÎÁÌ É ÉÈ ÞÉÔÁÔØ Ó
ÏÍÏÝØÀ mtools. ëÒÏÍÅ ÔÏÇÏ, ÍÏÖÅÔ ÏËÁÚÁÔØÓÑ ÐÏÌÅÚÎÙÍ ÉÓÐÏÌØÚÏ×ÁÔØ
-×ÎÅÛÎÀÀ USB-ÁÕÄÉÏËÁÒÔÕ
+Звук и поддержку USB можно модулями. USB нам нужна ради
+usb-storage, чтобы можно было втыкать флэшки в терминал и их читать с
¿Ð¾Ð¼Ð¾Ñ\89Ñ\8cÑ\8e mtools. Ð\9aÑ\80оме Ñ\82ого, Ð¼Ð¾Ð¶ÐµÑ\82 Ð¾ÐºÐ°Ð·Ð°Ñ\82Ñ\8cÑ\81Ñ\8f Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ\8bм Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8c
+внешнюю USB-аудиокарту
 </p>
 <p>
-âÅÒÅÍ ÎÁÂÏÒ ÓÌÅÄÕÀÝÉÊ ÐÁËÅÔÏ×  (ÎÅËÏÔÏÒÙÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÂÕÄÕÔ
-ÎÅÕÄÏ×ÌÅÔ×ÏÒÅÎÙ, ÎÏ ÄÌÑ ÎÕÖÎÏÊ ÎÁÍ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔÉ È×ÁÔÉÔ)
+Берем набор следующий пакетов  (некоторые зависимости будут
+неудовлетворены, но для нужной нам функциональности хватит)
 </p>
 <pre>
 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 <i>(ÜÔÏ Õ ÍÅÎÑ ati. õ ×ÁÓ ÍÏÖÅÔ ÂÙÔØ ÄÒÕÇÏÅ. ÷
ÒÉÎÃÉÐÅ, installed-size Õ ÄÒÁÊ×ÅÒÏ× ÍÁÌÅÎØËÉÊ, ÍÏÖÅÔÅ ÈÏÔØ ×ÓÅ
-ÚÁÓÏÂÁÞÉÔØ)</i>
+xserver-xorg-video-ati <i>(это у меня ati. У вас может быть другое. В
¿Ñ\80инÑ\86ипе, installed-size Ñ\83 Ð´Ñ\80айвеÑ\80ов Ð¼Ð°Ð»ÐµÐ½Ñ\8cкий, Ð¼Ð¾Ð¶ÐµÑ\82е Ñ\85оÑ\82Ñ\8c Ð²Ñ\81е
+засобачить)</i>
 xserver-xorg-input-kbd
 xserver-xorg-input-mouse
 xserver-xorg-input-evdev
 </pre>
 <p>
-÷ÙÂÉÒÁÅÍ ÎÅËÏÔÏÒÕÀ ÄÉÒÅËÔÏÒÉÀ (Õ ÍÅÎÑ /var/diskless), ÏÔËÕÄÁ ÜÔÏ ÄÅÌÏ
-ÂÕÄÅÔ ÒÁÚÄÁ×ÁÔØÓÑ ÐÏ NFS.
+Выбираем некоторую директорию (у меня /var/diskless), откуда это дело
+будет раздаваться по NFS.
 </p>
 <p>
-òÁÓÐÁËÏ×Ù×ÁÅÍ ÔÕÄÁ ÐÅÒÅÞÉÓÌÅÎÙÎÎÙÅ ÐÁËÅÔÙ c ÐÏÍÏÝØÀ 
+Распаковываем туда перечисленынные пакеты c помощью 
 </p>
 <pre>
-dpkg-deb -È ÐÁËÅÔ ÄÉÒÅËÔÏÒÉÑ
+dpkg-deb -х пакет директория
 </pre>
 <p>
-îÉËÁËÉÅ postinst ÓËÒÉÐÔÙ ÎÅ ×ÙÐÏÌÎÑÀÔÓÑ, ÎÏ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ
-ÎÅÔÒÉ×ÉÁÌØÎÙÈ postinst-ÓËÒÉÐÔÏ× É ÎÅÔ. ÷ÍÅÓÔÏ ÜÔÏÇÏ ÄÅÌÁÅÍ ÓÌÅÄÕÀÝÅÅ
+Никакие postinst скрипты не выполняются, но в данном случае
+нетривиальных postinst-скриптов и нет. Вместо этого делаем следующее
 </p>
 <pre>
 # chroot /var/diskless /bin/busybox sh
@@ -105,18 +105,18 @@ dpkg-deb -
 / #  exit
 </pre>
 <p>
-÷Ù, ÎÁ×ÅÒÎÏÅ, ÕÄÉ×ÉÔÅÓØ: "á ÇÄÅ ÖÅ ÐÁËÅÔ xkb-data". á ÎÅÔÕ. íÙ ÂÕÄÅÍ ÚÁÐÕÓËÁÔØ xkbcomp Ó ÈÏÓÔÁ, ÐÒÉ ÌÏÇÉÎÅ ÉÚ .xsession. ôÁËÉÍ ÏÂÒÁÚÏÍ Õ ËÁÖÄÏÇÏ ÀÚÅÒÁ ÍÏÖÅÔ ÂÙÔØ ÓÏÂÓÔ×ÅÎÎÁÑ ÒÁÓËÌÁÄËÁ ËÌÁ×ÉÁÔÕÒÙ.
+Вы, наверное, удивитесь: "А где же пакет xkb-data". А нету. Мы будем запускать xkbcomp с хоста, при логине из .xsession. Таким образом у каждого юзера может быть собственная раскладка клавиатуры.
 </p>  
 
-ôÅÐÅÒØ ÎÁÄÏ ÄÏÐÏÌÎÉÔÅÌØÎÏ ÓÏÚÄÁÔØ ÆÁÊÌ
+Теперь надо дополнительно создать файл
 <tt>/var/diskless/etc/X11/Xwrapper.config</tt>
-(Ñ ÎÅ ÍÕÄÒÓÔ×ÕÑ ÌÕËÁ×Ï ÓËÏÐÉÒÏ×ÁÌ ÅÇÏ Ó ÈÏÓÔÁ),
-ÓÏÚÄÁÔØ ÓÉÍÌÉÎË <tt>/var/diskless/etc/X11/X</tt>, ×ÅÄÕÝÉÊ ÎÁ
-<tt>/usr/bin/Xorg</tt> (ÁÇÁ,
-ÉÍÅÎÎÏ ÓÏ ÓÌÜÛÏÍ ×ÎÁÞÁÌÅ). âÏÌØÛÉÅ ÜÓÔÅÔÙ ÍÏÇÕÔ ÓÏÚÄÁ×ÁÔØ ÅÇÏ ÚÁÊÄÑ ×
-chroot É ÚÁÐÕÓÔÉ× ÔÁÍ busybox-Ï×ÓËÉÊ ÛÅÌÌ, ÎÏ Ñ É ÔÁË ÏÂÏÛÅÌÓÑ,
-ÓÏÚÄÁÔØ ÄÉÒÅËÔÏÒÉÉ /dev /tmp É /var/log É ÎÁÓÅÌÉÔØ dev ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍÉ
-ÓÐÅÃÉÁÌØÎÙÍÉ ÆÁÊÌÁÍÉ. õ ÍÅÎÑ ÔÁÍ
+(Ñ\8f Ð½Ðµ Ð¼Ñ\83дÑ\80Ñ\81Ñ\82вÑ\83Ñ\8f Ð»Ñ\83каво Ñ\81копиÑ\80овал ÐµÐ³Ð¾ Ñ\81 Ñ\85оÑ\81Ñ\82а),
+создать симлинк <tt>/var/diskless/etc/X11/X</tt>, ведущий на
+<tt>/usr/bin/Xorg</tt> (ага,
+именно со слэшом вначале). Большие эстеты могут создавать его зайдя в
+chroot и запустив там busybox-овский шелл, но я и так обошелся,
+создать директории /dev /tmp и /var/log и населить dev соответствующими
+специальными файлами. У меня там
 <pre>
 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
 </pre>
 <p>
-÷ ÐÒÉÎÃÉÐÅ, ÞÁÓÔØ tty ÍÏÖÎÏ ÐÏÏÔÒÙ×ÁÔØ, ÄÁ É ÒÁÚÄÅÌÙ sda ËÒÏÍÅ sda1 ÎÅ
-ÎÕÖÎÙ.
+В принципе, часть tty можно поотрывать, да и разделы sda кроме sda1 не
+нужны.
 </p>
 <p>
-ëÌÁÄÅÍ xorg.conf × /etc/X11 (Õ ÎÅÇÏ ÄÏÌÖÅΠÂÙÔØ ÅÄÉÎÓÔ×ÅÎÎÙÊ ÜÌÅÍÅÎÔ
-font-path, ÕËÁÚÙ×ÁÀÝÉÊ ÎÁ ÆÏÎÔ-ÓÅÒ×ÅÒ) É ÉÍÅÅÍ ÐÒÁËÔÉÞÅÓËÉ ÇÏÔÏ×ÕÀ
-ÓÉÓÔÅÍÕ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ init.
+Кладем xorg.conf в /etc/X11 (у него должен быть единственный элемент
+font-path, указывающий на фонт-сервер) и имеем практически готовую
+систему, за исключением init.
 <p>
-åÓÌÉ Õ ÎÁÓ ÎÅÓËÏÌØËÏ ÔÅÒÍÉÎÁÌÏ×, ËÏÔÏÒÙÍ ÎÕÖÎÙ ÒÁÚÎÙÅ ËÏÎÆÉÇÕÒÁÃÉÉ x-Ï×,
-ÔÏ ÏÐÉÓÙ×ÁÅÍ × xorg.conf ÎÅÓËÏÌØËÏ ÓÅËÃÉÊ ServerLayout Ó
-ÉÄÅÎÔÉÆÉËÁÔÏÒÁÍÉ, ÓÏÏÔ×ÅÔÓÔ×ÕÝÉÍÉ ÉÍÅÎÁÍ ÈÏÓÔÏ× (ËÏÔÏÒÙÅ ÂÕÄÕÔ ÐÏÔÏÍ
-ÒÏÚÄÁÎÙ ÐÏ dhcp ËÁË option host-name).
+Если у нас несколько терминалов, которым нужны разные конфигурации x-ов,
+то описываем в xorg.conf несколько секций ServerLayout с
+идентификаторами, соответствущими именам хостов (которые будут потом
+розданы по dhcp как option host-name).
 </p>
 <p>
-÷ÍÅÓÔÏ init  ËÌÁÄÅÍ ÛÅÌÌÏ×ÓËÉÊ ÓËÒÉÐÔ ÓÌÅÄÕÀÝÅÇÏ ÓÏÄÅÒÖÁÎÉÑ:
+Вместо init  кладем шелловский скрипт следующего содержания:
 </p>
 
 <font face="monospace">
@@ -178,17 +178,17 @@ respawn <font color="#aaaa00">&quot;</font><font color="#ff6060">X -query wagner
 <font color="#aaaa00">wait</font><br>
 </font>
 
-ôÅÐÅÒØ ÐÏÌÕÞÉ×ÛÕÀÓÑ ÄÉÒÅËÔÏÒÉÀ ÎÁÄÏ ÒÁÚÄÁÔØ ÐÏ NFS Ó ÏÐÃÉÑÍÉ 
+Теперь получившуюся директорию надо раздать по NFS с опциями 
 rw,no_root_squash
-É ÍÏÖÎÏ ÎÁÓÔÒÁÉ×ÁÔØ ÓÏÂÓÔ×ÅÎÎÏ ÚÁÇÒÕÚËÕ.
-<h2>îÁÓÔÒÏÊËÁ X-Ï×</h2>
-<p>ëÁË ÍÏÖÎÏ ÂÙÌÏ ÚÁÍÅÔÉÔØ ×ÙÛÅ, X-ÓÅÒ×ÅÒÕ ÎÁ ÔÅÒÍÉÎÁÌÅ ÐÅÒÅÄÁÅÔÓÑ ÏÐÃÉÑ
-"-layout $HOSTNAME", ÐÏÚ×ÏÌÑÀÝÁÑ ÚÁÄÁÔØ Ó×ÏÀ ËÏÎÆÉÇÕÒÁÃÉÀ X-Ï× ÄÌÑ
-ËÁÖÄÏÇÏ ÔÅÒÍÉÎÁÌÁ.</p>
+и можно настраивать собственно загрузку.
+<h2>Настройка X-ов</h2>
+<p>Как можно было заметить выше, X-серверу на терминале передается опция
+"-layout $HOSTNAME", Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñ\8fÑ\8eÑ\89аÑ\8f Ð·Ð°Ð´Ð°Ñ\82Ñ\8c Ñ\81воÑ\8e ÐºÐ¾Ð½Ñ\84игÑ\83Ñ\80аÑ\86иÑ\8e X-ов Ð´Ð»Ñ\8f
+каждого терминала.</p>
 <p>
-óÏÏÔ×ÅÔÓÔ×ÅÎÎÏ, × <tt>/var/diskless/etc/X11/xorg.conf</tt> ÄÏÌÖÎÁ
ÒÉÓÕÔÓÔ×Ï×ÁÔØ ÓÅËÃÉÑ ServerLayout Ó ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÍ
-ÉÍÅÎÉ ÔÅÒÍÉÎÁÌÁ.
+Соответственно, в <tt>/var/diskless/etc/X11/xorg.conf</tt> должна
¿Ñ\80иÑ\81Ñ\83Ñ\82Ñ\81Ñ\82воваÑ\82Ñ\8c Ñ\81екÑ\86иÑ\8f ServerLayout Ñ\81 Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80ом, Ñ\81ооÑ\82веÑ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\89ем
+имени терминала.
 <pre>
 Section "ServerLayout"
        Identifier "xterm5"
@@ -197,7 +197,7 @@ Section "ServerLayout"
        InputDevice "USB Mouse"
 EndSection
 </pre>
-É ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÁÑ ÓÅËÃÉÑ Screen
+и соответствующая секция Screen
 <pre>
 Section "Screen"
        Identifier "xterm5-screen"
@@ -208,19 +208,19 @@ Section "Screen"
 </pre> 
 
 
-<h2>îÁÓÔÒÏÊÒËÁ ÚÁÇÒÕÚËÉ</h2>
+<h2>Настройрка загрузки</h2>
 <p>
-óÔÁ×ÉÍ ÎÁ ÈÏÓÔ ÐÁËÅÔÙ syslinux, dhcp3-server É tftp-hpa. ÷ ËÏÍÁÎÄÎÕÀ ÓÔÒÏËÕ
-tftp-hpa ÎÕÖÎÏ ÄÏÂÁ×ÉÔØ ÏÐÃÉÀ -r blksize, ÐÏÔÏÍÕ ÞÔÏ Õ ÎÅËÏÔÏÒÙÈ PXEboot
-ROM ÐÒÏÂÌÅÍÙ Ó ÜÔÏÊ ÏÐÃÉÅÊ.
+Ставим на хост пакеты syslinux, dhcp3-server и tftp-hpa. В командную строку
+tftp-hpa нужно добавить опцию -r blksize, потому что у некоторых PXEboot
+ROM Ð¿Ñ\80облемÑ\8b Ñ\81 Ñ\8dÑ\82ой Ð¾Ð¿Ñ\86ией.
 </p>
 <p>
-/usr/lib/pxelinux.0 É ÑÄÒÏ ÉÚ /var/diskless/boot ËÏÐÉÒÕÅÍ ×
+/usr/lib/pxelinux.0 и ядро из /var/diskless/boot копируем в
 /var/lib/tftpboot.
 </p>
 <p>
-óÏÚÄÁÅÍ ÄÉÒÅËÔÏÒÉÀ /var/lib/ftpboot/pxelinux.cfg É ÐÏÍÅÝÁÅÍ ÔÕÄÁ ÆÁÊÌ
-default ÓÌÅÄÕÀÝÅÇÏ ÓÏÄÅÒÖÁÎÉÑ:
+Создаем директорию /var/lib/ftpboot/pxelinux.cfg и помещаем туда файл
+default следующего содержания:
 <pre>
 DEFAULT term root=/dev/nfs ip=dhcp rw
 LABEL term
@@ -228,21 +228,21 @@ KERNEL vmlinuz-2.4.27-terminals
 </pre>
 <p>
 pxelinux
ÏÚ×ÏÌÑÅÔ ÉÓËÁÔØ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ÐÏ IP-ÁÄÒÅÓÕ ÉÌÉ mac-ÁÄÒÅÓÕ, Á
-ÞÅÒÅÚ ÜÔÏÔ ÆÁÊÌ ÍÏÖÎÏ (× ×ÉÄÅ ÎÅÐÏÎÉÍÁÅÍÙÈ ÑÄÒÏÍ ÏÐÃÉÊ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ,
-ËÏÔÏÒÙÅ ÐÏÔÏÍ ÍÏÖÎÏ ÓËÒÉÐÔÏÍ ÉÚ×ÌÅÞØ ÉÚ /proc/cmdline) ÐÅÒÅÄÁÔØ ÍÎÏÇÏ
-ÔÁËÏÇÏ, ÞÔÏ ÎÅ ×ÐÉÓÙ×ÁÅÔÓÑ × DHCP. îÏ Õ ÍÅÎÑ ÐÏËÁ × ÜÔÏÍ ÎÅÏÂÈÏÄÉÍÏÓÔÉ
-ÎÅ ×ÏÚÎÉËÌÏ.
¿Ð¾Ð·Ð²Ð¾Ð»Ñ\8fеÑ\82 Ð¸Ñ\81каÑ\82Ñ\8c ÐºÐ¾Ð½Ñ\84игÑ\83Ñ\80аÑ\86ионнÑ\8bй Ñ\84айл Ð¿Ð¾ IP-адÑ\80еÑ\81Ñ\83 Ð¸Ð»Ð¸ mac-адÑ\80еÑ\81Ñ\83, Ð°
+через этот файл можно (в виде непонимаемых ядром опций командной строки,
+которые потом можно скриптом извлечь из /proc/cmdline) передать много
+такого, что не вписывается в DHCP. Но у меня пока в этом необходимости
+не возникло.
 </p>
 <p>
-óÄÅÌÁÔØ ÑÄÒÏ, ËÏÔÏÒÏÅ ÇÒÕÚÉÔÓÑ ÎÏÒÍÁÌØÎÏ ÎÁ ÔÅÒÍÉÎÁÌÁÈ Ó ÏÞÅÎØ ÒÁÚÎÙÍ
-ÖÅÌÅÚÏÍ - ×ÐÏÌÎÅ ÒÅÁÌØÎÏ, Á ×ÓÅ ÐÏÓÌÅÄÕÀÝÅÅ ÍÏÖÎÏ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÉÚ
-init-ÓËÒÉÐÔÁ ÏÐÉÒÁÑÓØ ÎÁ hostname.
+Сделать ядро, которое грузится нормально на терминалах с очень разным
+железом - вполне реально, а все последующее можно сконфигурировать из
+init-скрипта опираясь на hostname.
 </p>
 <p>
-÷ dhcpd.conf ÐÉÛÅÍ ÒÁÚÄÅÌ host ÄÌÑ ÔÅÒÍÉÎÁÌÁ. (ÅÓÌÉ ÔÅÒÍÉÎÁÌÏ× ÍÎÏÇÏ,
-ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÏÄÉΠÒÁÚÄÅÌ group, ÎÏ ÜÔÏ ÕÖ ÞÉÔÁÊÔÅ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ
-pxelinux É dhcpd ÓÁÍÉ)
+В dhcpd.conf пишем раздел host для терминала. (если терминалов много,
+можно написать один раздел group, но это уж читайте документацию на
+pxelinux и dhcpd сами)
 </p>
 <pre>
       host xterm3 {
@@ -257,29 +257,29 @@ pxelinux 
       }
 </pre>
 <p>
-çÌÁ×ÎÏÅ, ÎÅ ÚÁÂÙÔØ ËÏÍÁÎÄÕ next-server, ÐÏÔÏÍÕ ÞÔÏ ÅÓÌÉ PXE BootRom ÐÒÅËÒÁÓÎÏ ÏÂÈÏÄÉÔÓÑ ÂÅÚ ÎÅ£, ÔÏ pxelinux ÐÏÞÅÍÕ-ÔÏ ÎÁÞÉÎÁÅÔ ÔÁÝÉÔØ Ó×ÏÊ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ É ÑÄÒÏ Ó ÁÄÒÅÓÁ 0.0.0.0.
+Главное, не забыть команду next-server, потому что если PXE BootRom прекрасно обходится без неё, то pxelinux почему-то начинает тащить свой файл конфигурации и ядро с адреса 0.0.0.0.
 </p>
 <p>
-ôÅÐÅÒØ ÓÔÁ×ÉÍ xfs, ÏÔÒÙ×ÁÅÍ Õ ÎÅÇÏ ÉÚ  ËÏÎÆÉÇÁ no-listen = tcp,
-É ÒÁÚÒÅÛÁÅÍ ÏÂÓÌÕÖÉ×ÁÎÉÅ ÔÅÒÍÉÎÁÌÏ× × display manager. ÷ xdm ÄÌÑ ÜÔÏÇÏ ÎÅÏÂÈÏÄÉÍÏ ÚÁËÏÍÅÎÔÁÒÉÔØ ÓÔÒÏÞËÕ 
+Теперь ставим xfs, отрываем у него из  конфига no-listen = tcp,
+и разрешаем обслуживание терминалов в display manager. В xdm для этого необходимо закоментарить строчку 
 <pre>
 DisplayManager.requestPort: 0 
 </pre>
-× xdm-config É ÒÁÓËÏÍÅÎÔÁÒÉÔØ ÓÔÒÏÞËÕ 
+в xdm-config и раскоментарить строчку 
 <pre>
 * # any host can get a login window
 </pre>
-× Xaccess.
+в Xaccess.
 </p>
 <p>
-çÏÔÏ×Ï, ÍÏÖÎÏ ÇÒÕÚÉÔØÓÑ.
+Готово, можно грузиться.
 </p>
 <h2>TBD</h2>
-îÁÕÞÉÔØÓÑ ÐÏÌÕÞÁÔØ aÄÒÅÓ ÆÏÎÔ-ÓÅÒ×ÅÒÁ É ÁÄÒÅÓ ÈÏÓÔÁ, ÐÅÒÅÄÁ×ÁÅÍÏÇÏ × ÏÐÃÉÀ query ÐÏ dhcp (ÏÐÃÉÉ font-server É x-display-manager)   
+Научиться получать aдрес фонт-сервера и адрес хоста, передаваемого в опцию query по dhcp (опции font-server и x-display-manager)   
 <p>
-äÌÑ ÜÔÏÇÏ ÎÁÄÏ ÐÅÒÅÓÏÂÒÁÔØ busybox ×ËÌÀÞÉ× ÔÁÍ ×ÓÔÒÏÅÎÎÙÊ dhcp-ËÌÉÅÎÔ, É
-ÎÅÍÎÏÇÏ ÐÏÐÁÔÞÉÔØ ÜÔÏÔ ËÌÉÅÎÔ, ÐÏÓËÏÌØËÕ ÜÔÉ ÏÐÃÉÉ ÏΠÉÚ ËÏÒÏÂËÉ ÎÅ
-ÕÍÅÅÔ.
+Для этого надо пересобрать busybox включив там встроенный dhcp-клиент, и
+немного попатчить этот клиент, поскольку эти опции он из коробки не
+умеет.
 
 </BODY>
 </HTML>