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,insecure)
(пере)запускаем 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/distrib/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/distrib/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
— указание произвести загрузку по сети, используя NFS
nfsroot=10.10.0.120:/home/pxe/tftp/distrib/linux/inx/
— указание адреса (замените 10.10.0.120
на свой) и каталога на сервере (указывается с корня сервера).
username
, hostname
и userfullname
— соответственно, параметры для указания имени пользователя, имени компьютера и полного имени пользователя. Можно поставить свои, я оставил те, что были в конфиге isolinux из ISO-образа
initrd=distrib/linux/inx/initrd.gz
— указание, где искать инициализационный RAM-диск (задается относительно корня TFTP-сервера, т.к. initrd грузится по TFTP).
vga=normal
установка разрешения консоли (80×25 символов, ЕМНИС), или можно подсмотреть код оригинального в isolinux.cfg
на диске, или, например, загрузившись с диска, почитать справку на этот счет.
toram
— загружать сжатый образ файловой системы (filesystem.squashfs
) целиком в память. Без этого параметра — обращаться к нему по необходимости. Не знаю точно, работает ли параметр с загрузкой по сети, но вроде с ним загрузка проходит медленнее. Значит, похоже, если параметр toram
не указан, то filesystem.squashfs
по необходимости подчитывается из сети, и такой режим требует меньше памяти.
Меню сетевых программ
А вот и браузер
Ссылки