LTSP/LocalBoot

Материал из ALT Linux Wiki
< LTSP
Версия от 05:57, 30 августа 2008; MikhailGusarov (обсуждение | вклад) (Новая: Категория:LTSP {{Викифицировать}} В качестве «спасибо» всем, кто терпел меня, и в облегчение жизни тем, ...)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
42px-Wikitext-ru.svg.png
Эту статью следует викифицировать.

В качестве «спасибо» всем, кто терпел меня, и в облегчение жизни тем, кто

повторит такой путь.
Это не состоялось бы без терпеливого участия Led, Michael Shigorin, 
Michael A. Kangin
Дано: школьный класс с весьма немощными машинками (Pentium 166 + 32...64 RAM + HDD 0.5...2 Gb и Celeron 333 + 64...128 RAM + HDD 4...10 Gb), сетевую загрузку не поддерживают.
Хотелось: сделать их клиентами Alt Linux Terminal?, расположив на локальном HDD initrd.img и vmlinuz, а остальное дисковое пространство отдать под swap
1. Для использования локального HDD под swap на сервере
надо указать USE_LOCAL_SWAP=Y в /etc/lts.conf
2. На флэшку с терминального сервера сбрасываем /var/lib/ltsp5/i586/boot 
целиком и /etc/lilo.conf
Lilo.conf можно сразу поправить, у меня выглядит так: (понятно, с излишествами 
в виде рюшечек)
-= lilo.conf=-
map="/boot/map"
lba32
prompt
compact
timeout="100"
install="menu"
default="ALTLinuxTerminalClient"
vga=NORMAL
append="root=/dev/nfs nfsroot=/var/lib/ltsp5/i586,udp ip=dhcp"
message="/boot/splash/message"
boot="/dev/hda"
image="/boot/vmlinuz"
label="ALTLinuxTerminalClient"
initrd="/boot/initrd.img"
read-only
-= end lilo.conf =-
3. Берем пару старых маленьких hdd, цепляем их парой master/slave на шлейф
На второй шлейф – DVD-читалку
Для полного счастья втыкаем флэшку (купил дешевый контроллер pci – usb для 
комфорта). Все, заправочная станция готова.
4. Грузимся с установочного диска Alt Linux Terminal?, режим rescue (советовали 
грузиться с Live CD?, но я там не нашел /sbin/lilo)
#ls /dev/hd* – а винты то мои живы? Живы, есть hda и hdb
#ls /dev/sd* – а флэшка видна? Ага, sda1
# mkdir /tmp/flash
# mount -t vfat /dev/sda1 /tmp/flash – сразу ее примонтируем
5. Создаем разделы на жестких дисках
fdisk /dev/hda
p – что там есть?
d – всё, что не нужно
n – (новый)
p – (primary)
1 – (номер один)
[задать размер — как на душу ляжет, требуется всего 3.5 мега]
t – тип
1- первого раздела
83 – Linux
a – сделать активным
1 – да, первый раздел
n – остальное отдадим под swap
p
2
[все остальное отдаем под свап]
t – (тип)
2 – (второго)
82 – (linux swap)
p – (любуемся)
w – (запись и выход)
То же самое проделываем со вторым диском /dev/hdb
6. Форматируем созданные разделы и монтируем
mkfs.ext3 /dev/hda1
mkswap /dev/hda2
mkdir /tmp/hda
mount /dev/hda1 /tmp/hda
То же самое проделываем со вторым диском /dev/hdb
7. Теперь «заправляем» раздел диска
# mkdir /tmp/hda/boot
# mkdir /tmp/hda/etc
# mkdir /tmp/hda/dev
# mkdir /tmp/hda/sys
# mkdir /tmp/hda/proc
С флэшки копируем /boot в /tmp/hda/boot, lilo.conf – в /tmp/hda/etc
Грешен, здесь использовал MC
Повторяем эту процедуру для второго диска.
8. Делаем диск загрузочным
# mount --bind /dev /tmp/hda/dev/
# mount --bind /sys /tmp/hda/sys/
# mount --bind /proc /tmp/hda/proc/
И, наконец
# lilo -r /tmp/hda
9. Проделать сразу же пункт 8 для второго диска у меня не получилось (собственно, не получилось отмонтировать /dev /sys /proc) – поэтому shutdown, отцепляю Master, на Slave переставляю перемычку на Master, снова гружусь resque, и повторяю 
# mkdir /tmp/hda
# mount /dev/hda1 /tmp/hda
# mount --bind /dev /tmp/hda/dev/
# mount --bind /sys /tmp/hda/sys/
# mount --bind /proc /tmp/hda/proc/
# lilo -r /tmp/hda
Все. У нас есть пара терминалов!
Я прекрасно понимаю, что это не истина последней инстанции, но у меня это 
получилось. Класс – 11 терминальных станций, и три залитых запасных винта.
PS: Сетевые карточки 10 мегабитные буду выбрасывать – тормоза ;-(
PPS: Выпросил денег – серверу памяти до 2 гиг добавить.
С уважением, Сергей Спиридонов