Загрузка INX по сети (PXE)
INX (расшифровывается как Is Not X), небольшой консольный, как ясно из названия, Live-дистрибутив Linux, основанный на Ubuntu. Обычно для разных целей я пользуюсь Puppy Slacko, но, как выяснилось, иметь live-дистрибутив без иксов, тоже полезно :) В Слаке иксы на одной из машин безбожно заглючили. Всяческие DSL и тем более Linux For Scratch (читай самодельный дистрибутив) мне не подходили, потому что с ними может оказаться еще больше возни, или "из коробки" заглючит что-нибудь другое, или того хуже - сам чего-нибудь забудешь и недоложишь. А этот вроде выглядел вполне неплохо. В комплекте много всего, даже браузеры и консольные игры, есть
mc
, да и по заверениям разработчиков, требует он менее 100 Мб оперативной памяти, если загружен в обычном режиме. Поддерживается и режим to RAM, но тогда, как я понял, весь сжатый Squash FS образ системы грузится в память, и надо уже как минимум 200 Мб.С интернетом, правда, небольшой баг. Надо вручную подправлять
/etc/resolv.conf
, иначе не будет DNS.sudo mcedit /etc/resolv.conf
и меняем непонятный DNS, например на 8.8.8.8
Вот уж некоторые, блин,
1. Распаковываем или монтируем ISO-образ. (скачать с официального сайта)
2. Создаем каталог для дистрибутива там, где хранятся дистрибутивы PXE-сервера, в моем случае
/home/pxe/tftp/distrib/linux/inx/
3. Копируем из подкаталога
casper
ISO-образа в созданный каталог файлы vmlinuz
initrd.gz
4. Создаем в
/home/pxe/tftp/distrib/linux/inx/
подкаталог casper
5. Копируем в
/home/pxe/tftp/distrib/linux/inx/casper
из каталога casper
ISO-образа файл filesystem.squashfs
Этот файл обязательно должен лежать в подкаталоге
casper
каталога, который будет указан как nfsroot
, иначе ядро его не найдет, и загрузка не получится. Да, это была причина секунды ворчания. Целый час проковырялся. Об NFS ниже.
Для загрузки INX, кстати, как и других убунтовых дистрибутивов, по сети потребуется NFS-сервер. Тут я оставлю подробности, т.к. устанавливается он в разных Линуксах немного по-своему, а в Slackware, которая у меня, он шел "из коробки". Надо было только поставить права на исполнение двум скриптам
/etc/rc.d/rc.nfsd
и /etc/rc.d/rc.rpc
.После того, как сервер установлен, необходимо изменить файл
/etc/exports
чтобы открыть доступ к каталогу с дистрибутивом по NFS:/home/pxe/tftp/distrib/linux/inx/[пробел или табуляция]*(ro,async,no_subtree_check,no _wdelay,insecure_locks,no_root_squash,in secure)
(пере)запускаем NFS-сервер.
Добавляем дистрибутив в меню PXE-сервера.
LABEL inx
menu label INX
kernel distrib/linux/inx/vmlinuz
append root=/dev/nfs boot=casper netboot=nfs nfsroot=10.10.0.120:/home/pxe/tftp/distr ib/linux/inx/ username=inx hostname=inx userfullname="inx-user" initrd=distrib/linux/inx/initrd.gz vga=normal --
LABEL inxmem
menu label INX to RAM
kernel distrib/linux/inx/vmlinuz
append root=/dev/nfs boot=casper netboot=nfs nfsroot=10.10.0.120:/home/pxe/tftp/distr ib/linux/inx/ username=inx hostname=inx userfullname="inx-user" initrd=distrib/linux/inx/initrd.gz vga=normal toram --
В более удобочитаемом виде на PasteBin
В качестве корневого каталога ОС (параметр
root
) указывается устройство /dev/nfs
boot=casper
- указание использовать Live-режим и искать основную ОС в файле сжатой файловой системы.netboot=nfs
- указание произвести загрузку по сети, используя NFSnfsroot=10.10.0.120:/home/pxe/tftp/distr ib/linux/inx/
- указание адреса (замените 10.10.0.120
на свой) и каталога на сервере (указывается с корня сервера).username
, hostname
и userfullname
- соответственно, параметры для указания имени пользователя, имени компьютера и полного имени пользователя. Можно поставить свои, я оставил те, что были в конфиге isolinux из ISO-образаinitrd=distrib/linux/inx/initrd.gz
- указание, где искать инициализационный RAM-диск (задается относительно корня TFTP-сервера, т.к. initrd грузится по TFTP).vga=normal
установка разрешения консоли (80x25 символов, ЕМНИС), или можно подсмотреть код оригинального в isolinux.cfg
на диске, или, например, загрузившись с диска, почитать справку на этот счет.toram
- загружать сжатый образ файловой системы (filesystem.squashfs
) целиком в память. Без этого параметра - обращаться к нему по необходимости. Не знаю точно, работает ли параметр с загрузкой по сети, но вроде с ним загрузка проходит медленнее. Значит, похоже, если параметр toram
не указан, то filesystem.squashfs
по необходимости подчитывается из сети, и такой режим требует меньше памяти.Меню сетевых программ
А вот и браузер
Ссылки
Netbooting Ubuntu Live CDs
Скачать готовый архив с Mega.NZ
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/03/01/zagr