# Gentooth Live CD/USB/NET Linux based on Gentoo

## Alex Zorg

Есть LiveCD/USB/NET основанный на Gentoo.

Предлагаю высказаться заинтересовавшимся, задать вопросы...

Файл сервер любезно предоставлен forum.gentoo.org.ua (там же есть одноименный раздел форума).

Тут доступна текущая версия ISO образа и tarball с исходниками.

ftp://forum.gentoo.org.ua/gentooth/0.4

Информация о проекте (README.KOI8-R с CD):

/*

 * Gentooth Live CD/USB/NET Linux -

 * это "живой" дистрибутив Linux на основе Gentoo Linux.

 * Автор проекта Alex Zorg <azorg@devlab.ru>.

 * Все материалы и программы проекта распространяются под лицензией GPL.

 *

 * Дата последнего изменения: 2005.04.25

 */

ПРЕАМБУЛА

По субъективным причинам я нахожу Gentoo Linux очень привлекательным

дистрибутивом. В первою очередь это колоссальная гибкость. Подобную

гибкость вы можете получить использую Linux From Stratch, например, но

за это вам придется заплатить своим временем. Gentoo же экономит ваше

время автоматизируя процесс сборки пакетов минимизируя число вводимых

вами команд и в результате вы получите удобную систему с полноценной базой

пакетов, которая позволит вам контролировать каждый файл в вашей системе.

Вместо муторного подбора опций при сборке из исходников вам предлагается

просто установить требуемые USE флаги в /etc/make.conf или в переменных

окружения. В портежи Gentoo входит более 7900 программ и это значит,

что вы с большой вероятностью можете поставить любую программу штатными

средствами. Используя дистрибутив из 3-х...4-х CD дисков вы скорей всего

не найдете на них какие-либо нужные имеено вам программы. И на последнем

месте я замечу, что сборка всех программ из исходников позволяет получить

оптимизированную именно для вас систему.

ОСНОВНЫЕ ЧЕРТЫ И ВОЗМОЖНОСТИ GENTOOTH LIVE LINUX

1. Основан на Gentoo Linux (http://www.gentoo.org).

2. Поставляется на одном CD (объем ISO 650-700 MB).

3. Варианты загрузки: CD-ROM, USB-STICK/HDD.

4. Возможность сохранения настроек пользователей и системы в файл с образом

файловой системы и использование его при последующих загрузках при "живой"

загрузки с CD-ROM/USB-STICK/HDD.

5. Включает в себя около 600 пакетов с различными системными, мультимедийными,

серверными программами и средствами разработки. Объем всех программ порядка

2GB помещается в файл с образом файловой системы около 600-700 MB за счет

использования сжатой файловой системы SquashFS.

6. Ядро 2.6.х.

7. Оконные менеджеры WindowMaker и XFCE

8. При наличии ОЗУ объемом 1GB и более возможно кеширование файла с образом

корневой файловой системы и/или настройками системы в ОЗУ.

9. Автоматическое определение оборудование посредсвом hwsetup и

ddcxinfo-knoppix.

10. Включена поддержка проприетарных драйверов для видеокарт от NVIDIA и ATI.

11. Локаль POSIX или ru_RU.KOI8-R.

12. Краткий список популярных программ: mozilla-firefox, mozilla-thunderbird,

sim, psi, xmms, mplayer, xine, gimp (+gimp-print), gqview, stardict (+RU<->EN

словари), abiword, gnumeric, lftp, gftp, xsmbbrowser, xcdroast (+большинсво

консольных приложения для работы с CD/DVD), apache, squid, bind, vsftp, proftp,

samba, nfs-utils, xchat, irssi, mc-mp, iptables, wvdial, bluez-utils, wine,

ddd, nmap, ethereal, minicom, pptpclient, pptpd, gnuplot, imagemagic, sane,

openssh, slrn, mutt, cups, (g)vim, emacs, tcpdump... 

13. Все пакеты скомпилированны под i586 и опцией оптимизации -Os.

НА КОГО ОРИЕНТИРОВАН GENTOOTH

Признаюсь, что начал работу над этим небольшим проектом исключительно для

своего личного использования. Но если вы читаете это текст, значит кто-то

(т.е. Вы) заинтересовались этим или у Вас возникла необходимостmь в

подобном решении или Вы просто проявляете любопытсво. Рад, если это будет

кому-то, быть может Вам, полезно. В первую очередь Gentooth Live Linux

ориентирован на достаточно опытных пользователей Gentoo Linux. Полагаю,

что пользователи устанавливающие Gentoo Linux самостоятельно и

переодически обновляющие свою систему могут считаться вполне опытными.

Конечно данный диск можно использовать и как "демонстрационный" LiveCD,

и как диск для восстановления системы, и как "stage" Gentoo Linux с

предустановленным ПО позволяющий произвести установку быстро.

Спустя пару месяцев после выпуска первой сборки Gentooth, я узнал о

появившемся Fantoo Linux с подобными идеями о быстрой установки Gentoo,

значит кому-то "это" все-таки нужно и я не одинок в своих идеях. Совершенно

не хочется использовать дома один дистрибутив Gentoo, а на работе дистрибутив

позволяющий более быструю бинарную установку, но отличный от понравившегося

Gentoo, хранить и скачавать из Интернет одновременно rpm'ки, deb'ки и

"distfiles" для Gentoo. Не исключаю, что данный дистрибутив может привлеч

внимание и людей только что заинтересовавшихся Gentoo Linux, использующих

ранее другие дистрибутивы или не использующие Linux вообще (все-таки

"живая" загрузка это уникальная возможность Свободных операционных систем).

Хочу предупредить, что т.к. проект был изначально "just for fun" и

"just for me", я не отягощял его какими-либо мастерами, установщиками и

интеграторами, меня вполне устраивают, в большинсве своем, штатные консольные

утилиты и программы входящие в Gentoo. Не устану повторять, что для

большинсва операций с системой (особенно после копировании системы на ЖМД)

обращайтесь к официальной документации на Gentoo (например, www.gentoo.org

и/или к "handbook"). Думаю, что данный дистрибутив можно использовать и

для каждодневной работы непосредсвенно выполня загрузку с CD-ROM или с

USB-stick (что предпочтительнее и быстрее), хотя, это уже крайности,

например, если у Вас не хватает местна на ЖМД для уставноки Linux или

ЖМД вовсе отсутсвует.

ЦЕЛИ ПРОЕКТА

1. Используя Gentoo на домашнем и рабочем ПК мне захотелось иметь свой

LiveCD для различных целей. Использование штатных LiveCD не очень удобно,

напрмер невозможно компилировать stage3 и смотреть фильм с 6-и канальным

звуком, редактировать программу в любимом редакторе и быть доступным

для друзей и коллег через ICQ, IRC или Gabber одновременно, проверять

на вирусы компьютер в локальной сети по протоколу NET-BIOS (samba),

форматировать ЖМД под WINDOWS$ подключенный по USB, выполнять резервное

копирование с раздела NTFS на XFS или на DVD привод и т.д. и т.п...

Диск содержит много программ для анализа работы сетей (nmap, netcat,

ethereal, ettercap, tcpdump, bind-utils, arping, arp, telnet, ssh, ...)

2. Установка Gentoo занимает как правило много времени. Это очень много

времени на сборку stage3 и еще больше на все остальное, плюс правка

конфигурационных файлов и прочая "тонкая" настройка. Хотя гибкость Gentoo

и позволила мне автоматизировать процесс установки Gentoo на подключенный

HDD написанием несложных shell-сценариев, но хотелось бы свести время

установки до минимума при такой необходимости, напрмер, для установки на

рабочий notebook, ведь никто не оценит часы компиляции Gentoo на

производсвенном ПК...

3. Я советую многим своим друзьям использовать Linux и свободное

open-sorce ПО. Я против колосального пиратства ПО в России, а цену

проприетарного лицензионного ПО типа M$ Window$ и M$ Office считаю

неоправданно завышенной.  Да и возможности большинства открытых программ

мне нравятся больше.  Но когда "новичок" тратит время около нескольких

суток на сборку Gentoo, думаю это не очень хорошая реклама Linux. Потому

в своих рабочих кругах мне нужен диск являющийся хорошей рекламой Linux

и позволяющий упростить процесс первой установки Gentoo на жесткий диск.

4. Разработка такого диска мне нужна для оценки возможности внедрения

Линукс систем в промышленные ЦВМ участвующее в производственных процессах

и работающих на узкоспециализированных рабочих местах. Window$ XP на

промышленном компьютере подключенном к гордости Российской индустрии -

сверх современному истребителю пятого поколения я нахожу смешным! Между

прочим, возможно, это даже просто противоречит лицензии Micro$oft

на Window$ XP к которому нельзя даже подключить более 10 устройств в

соответствии с лицензией!  При этом, если это ПК "зависнет" все будут

ругать Гейтса, чтоб он в гробу перевернулся, но исправить положение в

связи с закрытостью ПО от Редмонда будет сложно...

5. На основе образа Gentooth я планирую создание X-terminal'а.

КОНЦЕПЦИЯ

1. Дистрибутив должен собираться автоматически и требовать минимального

вмешательства оператора. Таким образом я всегда могу иметь свежее ПО на

свеже-изготовленном iso-шнике CD-диска, который собрался "пока я спал".

Скрипты по сборке я буду распространять по той же GPL лицензии для того,

чтобы другие люди могли оценить прелести Линукс и Gentoo. К примеру,

пересобрать KNOPPIX или SysRescueCD значительно сложнее, хотя они и

распространяются по лицензии GPL для сборки собственных дисков на их

основе вам придется совершить много действий.

2. Дистрибутив должен быть максимально удобен для меня, моих друзей

и коллег.

3. Дистрибутив должен иметь минимум изменений по сравнению с штатным

релизом Gentoo Linux. Таким образом для работы с ним можно пользоваться

официальной документацией на Gentoo Linux. К примеру, если вы удалите

некоторые файлы входящие в Knoppix и нестандартные для Debian после

установки Knoppix на ваш жесткий диск вы можете получить неработоспособную

систему, т. к. Клаус Кноппер существенно переделал процесс загрузки

Debian в своем Knoppix).

4. Дистрибутив должен быть хорошо локализован, в частности, русифицирован.

5. Живой Дистрибутив должен идти совместно с базой пакетов и

портежами. Это увеличит расходы на размер диска, но обеспечит комфортную

работу сразу после установки копированием на жесткий диск. Так же на диск

включена индексированная база для esearch позволяющая быстро находить

требуемые пакеты по имени или описанию. Приведу пример. Допустим, я знаю,

что в сборку входит пакет captive для доступа к NTFS в режиме чтение-запись.

Но ранее я не пользовался им т.к. не имел разделов с NTFS, мне понадобилось

воспользоваться этип пакетом. Какие программы нужно запускать? На что почитать

man страницы? Тут помагает база пакетов, жму `qpkg -l captive | grep bin` и

вижу что нужно! Еще пример, мне нужно запустить FTP сервер, но какие FTP

сервера доступны с сборке Gentooth? Жму `qplg -I -v ftp` и получаею

имена всех установленных пакотов содержащие ftp в имени. Далее жму

`esearch proftpd` и читаю описание на пакет proftpd. А можно было сразу

`esearch -I ftp`.

6. было принято решение о использовании максимально модульного ядра.

7. Система должна загружаться на большинстве современных ПК с поддержкой

графики (X-window) и звука (ALSA или OSS).

ТРЕБОВАНИЯ К АППАРТУРЕ

1. ОЗУ >= 64 Mbyte. При меньшем объеме, полагаю, работа возможна но без X.

При малом объеме памяти рекомендую Window Maker, а не XFCE в качестве

оконного менеджера. Внимательно отнеситесь к тому, что по-умолчанию логи

находятся в tmpfs (/var/log), потому при малом объеме ОЗУ можете отключить

логер передачей nosyslog (или `/etc/init.d/syslog-ng stop` сразу после загрузки)

Для сокращения расходов так же рекомендую использовать вариант загрузки nofb

(в текстовом режиме 80x25 символов). Тесты проводились в VMWare, c 64

MB удалось загрузить только WindowMaker с разрешением 800x600. Всегда

помните, что /var находится в tmpfs (т.е. в памяти) и запуск служб (как

squid/mysql/apache/bind/samba) потребует дополнительных расходов памяти

на логи и кэш.  Рекомендуемый объем ОЗУ от 128Mbyte и выше. 1GB ОЗУ

хватит чтобы воспользоваться опцией live2ram позоляющей размонтировать

CD-ROM после загрузки. При малом объеме ОЗУ можно отказаться от Х

(опция nostartx), при этом все же работа некоторых программ, таких как

mplayer, tvtime, links (с опцией -g) возможна в графическом режиме

на FrameBuffrer'е используя SDL/SVGAlib/DirectFB.

2. Процессор семейства i586 и выше. Желательно не ниже P2-266MHz,

иначе работа не очень комфортная при живой загрузки по причине

использования сжатой файловой системы.

3. Конечно наличие IDE CD-ROM если происходит загрузка с CD-ROM.

4. Если у вас видеокарта от NVIDIA можете передать при загрузке аргументы

'xmodule=nvidia dri glx' - это включит аппаратное ускорение. Проприетарные

же драйверы от ATI (fglrx) плохо совместимы с X.org. $-(, но по мере

появления таких драйверов (пакет ati-drivers), "нормально" работающих

с xorg-6.8 я конечно их включу в поставку Gentooth, в этом случае возможно

будет включать аппаратное ускорение передачей 'xmodule=fglrx dri glx',

framebuffer при этом желательно (как я заменил на своем Radeon 9200)

отключить (вариант загрузки nofb). В марте 2005 года появился пакет

ati-drivers-8.8.25, который "более или менее" работает с xorg-6.8,

который впервые и был включен в Gentooth. По поводу 3D ускорения,

при живой загрузке сейчас оно невозможно, т.к. /usr доступен только для

чтения. После установки на ЖМД можно будет воспользоваться opengl-update.

5. Поддерживается множество звуковых карт PCI. Для ISA требуется ручная

подгрузка модуля и/или правка /etc/modules.d/alsa, запуск modules-update

и /etc/init.d/alsasound (re)start. Стартовые скрипты "заточены" на работу

с одной звуковой картой, если в Вашей системе несколько звуковых карт,

то возможно потребуется ручная настройка модулей alsa (или oss) и

миксеров для плат начиная со второй. Можно задать имя модуля для вашей

звуковой карты (ALSA или OSS) явно не расчитывая на hwsetup, параметр

sndmod=... при загрузке.

7. По умолчанию (swapdev=auto) boot-autoconfig подключит все SWAP разделы

найденные на ЖМД (IDE/SCSI).

8. Если возникнут проблемы с DMA или вы захотите вручную

включить определенные опции для IDE устройств передайте аргументы

hdparm=... Например, для включения UDMA2 для всех устройств и включения

keepsettings добавте "hdparm=-k1 hdparm=-X66" к опциям загрузки. Было

замечено, что hdparm может включить старший режим UDMA на ЖМД, который

его не поддерживает, что крайне нежелательно и может привести

к потере данных! Отключить DMA вообще можно передачей "noidedma".

9. Поддерживаются указатели "мышь" (PS/2, USB-HID) с колесом. С

указателями с интерфейсам RS-232 тестирование не проводилось, но после

добавления опции 'serial', включеной по-умолчанию предпологается,

что "COM-портовые" "мышки" определятся успешно. Отключить колесо можно

передачей "noxwheel". Указатели с числом кнопок более 5 не поддерживаются

при автоматическом конфигурировании (дополнительные кнопки не работают),

требуется ручная правка /etc/X11/xorg.conf с целью задания типа указателя

и числа кнопок и быть может использования xmodmap.

10. Определение сетевых карт (как и многого другого) находится во власти

hwsetup от Knoppix. Полагаю поддерживается множество популярных PCI

сетевых карт. Подгрузить известный Вам модуль всегда можно с помощью

передачи параметра modules=...

11. Определение PnP монитора осуществляется с помошью ddcxinfo-knoppix.

Как правило выставляется адекватное максимальное разрешение для Х. В

случае проблем можно попробовать задать разрешение вручную при загрузке,

например, "xscreen=1280x1024" или даже отключить определение монитора

посредсвом DDC передачей "noddc". Знайте, что так-же вы можете

попробовать задать частоту строчной и кадровой развертки вручную

(xvrefresh=, xhrefresh=), если модуль видеокарты отличен от vesa.

12. Для подгрузки конкретных модулей ядра моджно использовать опцию

"modules=...", для подгрузки нескольких модулей необходимо указать

несколько значений параметра, напрмер: "modules=saa7134 modules=pl2303".

Параметры модулям при этом передать невозможно. Значение параметрв

извлекается из стандартного /etc/modules.conf, который генерируется

атоматически из файлов в каталоге /etc/modules.d посредством утилиты

modules-update (так принято в Gentoo).

13. Работа с SATA, RAID, LVM2, EVMS2 не тестировалась, но поддержка

планируется хотя бы на том же уровне что в стандартному gentoo LiveCD.

Надеюсь, что поддержку SATA проверю в ближайшем будующем, как только у

меня будет под рукой соответсвующее оборудование.

О ПРОДЕЛАННОЙ РАБОТЕ

1. Разработан скрипт для создания initrd (Initial RAM disk) и

соотвественно скрипты входящие в него. initrd включает в себя busybox,

несколько конфигурационных файлов, модулей ядра и конечно скрипт linuxrc

управляющий загрузкой.

2. Разработан стартовый скрипт /etc/init.d/boot-autoconfig для определения

и автоматического конфигурирования оборудования и системы для корректной

загрузки с LiveCD. Скрипт помещается на boot-runlevel. Отключение этого

сервиса не приведет к краху системы после установки на ЖМД. Большое

спасибо Клаусу Кнопперу за его готовую реализацию подобного механизма

в Knoppix.

3. Несущественно модифицированы некоторые стартовые скрипты для корректной

загрузки с LiveCD. Все изменения помечены комментарием '#!!!'. После

установки на ЖМД необходимость в этих изменениях отпадает и обновление

системы можно проводить безбоязнено (теоретически).

4. Подготовлены файлы справки с опциями загрузки для syslinux

(переключаются по F1-F7 при загрузке с CD)

ВАРИАНТЫ ЗАГРУЗКИ

1. Просто с CD. При этом размонтировать и освободить CD-диск не удасться.

Изучите всевозможные опции передаваемые ядру (фактически стартовым

скриптам). Эксперементируя с опциями можно получить более комфортную для

Вас среду (например, загрузить модуль nvidia вместо менее совершенного

vesa).

2. Скопировать файл livefs.img с CD-диска на любой раздел

FAT32/NTFS/EXT3/EXT2/ReiserFS/XFS и загрузившись CD вы сможете "высвободить"

CD-ROM. Порядок поиска файла livefs.img следующий: CD-ROM (если

не передана опция nocdrom), USB-stick (если не передана опция nousbstick),

ЖМД(SCSI/IDE). По-умолчанию дейсвует опция scsifirst и поиск livefs.img

производится сначала на USB-HDD и SCSI (если включено), а затем на IDE

приводах. Замечу, что USB-stick и USB-HDD не одно и тоже в том смысле, что

USB-stick подразумаевает файловую систему WINDOW$ FTAT16/32, в то время как

USB-HDD может иметь ext3/ext2/reiserfs/xfs/jfs. Для деталей смотрите файл

/opt/gentooth/busybox/linuxrc, который выступает в роле init при старте из

initrd.

3. Если у вас 1Gbyte (или более) RAM то можете попробовать опцию live2ram

для кэширования файла livefs.img в памяти. После загрузки привод CD-ROM

будет размонтирован.

4. Загрузка с ЖМД если есть раздел с корневой файловой системой gentooth.

Анализируется наличие файла /etc/gentooth-release и соответсвие

/lib/modules/`uname-r`. Естественно, что CD-ROM можно будет освободить.

Возмождность прямой загрузки с ЖМД анализируется прежде поиска файла

livefs.img, если не передана опция nohdboot. Фактически этот вариант означает,

что Вы можете загрузить Gentooth Linux c Вашего ЖМД сразу после его установки

(в дейсвительности, копирования) без предварительной настройки загрузчика

(lilo или grub). По-умолчанию дейсвует опция scsifirst и поиск корневой

файловой системы Gentooth производится сначала на USB-HDD и SCSI

(если включено), а затем на IDE приводах.

5. Live CD позволяет средствами syslinux так же загрузить freedos, memtest+,

ntpass, aida, dban, ranish. Образы Floppy дисков с этими программами были

"повзаимствованны" из Live CD от www.sysresccd.org. Так же я добавил

возможность загрузки оболочки GRUB непосредсвенно с CD.

БЫСТРЫЙ ВЫХОД В СЕТЬ

Для настройки сети воспользуйтесь скриптом стандартным для Gentoo

LiveCD `net-setup` или подправьте /etc/conf.d/net после чего выполните

'/etc/init.d/net.eth0 start' для активации Ethernet интерфейса.

Для настройки "VPN" отредактируйте необходимые файлы в /etc/ppp/,

/etc/conf.d/pptp и установите соединее с провайдером '/etc/init.d/pptp start'

ОКОННЫЕ МЕНЕДЖЕРЫ

Лично я использую "легкие" оконные менеджеры такие как WindowMaker,

IceWM, XFCE. Я ничего не имею против GNOME или KDE, но я отказался от

них хотя-бы потому, что при обнолнении всех пакетов Gentoo (emerge -uD

world) мне требовалось скачивать из Интернета слишком много.  Одной из

особенностей данного дистрибутива как раз и является наличие "большого"

числа програм, но отсутвие "тяжеловесных" Gnome или KDE.  В текущей сборке

включены WindowMaker и XFCE.  Для запуска WindowMaker'а нужно передать

параметро xwm=wmaker, для XFCE xwm=xfce4 соответсвенно.  В соответсвии

с этой опцией заполняетя переменная XSESSION в файле /etc/rc.conf (Если

Вы пользователь Gentoo Вам хорошо должно быть известно назначение этого

файла ровно как и файла /etc/make.conf) В оконных менеджерах определено

действие некоторых клавиш:

ATL+T - запуск терминала.

ALT+R - запуск произвольной программы посредсвом ввода.

ALT+E - запуск произвольной программы посредсвом gmrun (работает

        автодополнение и история подобно как в bash).

ALT+F1, ALT+F2, ... - переключение рабочих столов.

ALT+W - развернуть окно на весь рабочий стол...

ALT+F - развернуть окно на весь экран (только в xfce4)

ALT+X - закрыть окно.

Более подробно смотрите в программе конфигурации Window Maker'а и XFCE.

УСТАНОВКА НА ЖЕСТКИЙ ДИСК

0. Все действия от root (sudo bash) По умолчанию в X вы попадаете от

пользователя gentooth.  Пароль на пользователя gentooth - 'gentooth2005'.

Пользователь gentooth входит в группу wheel и имеет возможность стать root

через sudo (см. /etc/sudoers). Пароль на root не определен. Можете задать

через passwd. Так же на первой консоли вы получаете права root без пароля.

1. Загрузитесь с CD

2. Разбейте ващ ЖМД (fdisk или cfdisk или чем угодно).

3. Отформатируйте требуемые разделы (mkfs.ext3, mkreiserfs,...)

4. Отформатируйте SWAP (mkswap)

5. Подмонтируйте ваш корневой раздел куда-нибудь, например в /mnt/my_root

(mkdir /mnt/my_root; mount /dev/hda1 /mnt/my_root)

6. Скопировать каталог /mnt/live на ваш корневой раздел (cp -a /mnt/live/*

/mnt/my_root или просто в MC) Это займет некторое время. Как никак

1-2 Gbyte.

7. Для проверки выполнить chroot /mnt/my_root /bin/bash Теперь вы уже

на скопированном вами диске.  Для работы необходимо выполнить mount -t

proc none /proc; env-update; source /etc/profile ...  Перед выходом umount

/proc. Выйти назад - exit или CTRL-D.

8. настроить /mnt/my_root/etc/fstab (прописать там необходимые разделы и

swap) Если вы планируете использовать некоторое время boot-autoconfig,

то скопируйте fstab в fstab_orig (cp -f /mnt/my_root/etc/fstab

/mnt/my_root/etc/fstab_orig)

9. настроить загрузчик grub или lilo. Данную операцию удобнее проводить из

chroot (пункт 7). Для lilo отредактировать /etc/lilo.conf и выполнить

lilo для grub отредактировать /boot/grub/grub.conf и выполнить

grub-install "девайс" (/dev/hda) или запустите grub и выполнете в его

консоле команды root и setup или install, для справок пользуйтесь help,

для более подробной инфорации обращайтесь к документации на эти программы.

10. можно перегружаться! Кстати можно было и перегрузиться с CD не

настраивая загрузчик воовсе! По умолчанию опция hdboot включена и сценарий

/linuxrc выступающий в роли init при старте из initrd выполняет поиск корневой

файловой системы Gentooth/Gentoo по всем разделам ЖМД или на разделе указанном

явно как hddev=/dev/hda2, например.

11. сделайте так, чтобы в каталоге /usr/portage/distfiles были имеющиеся

у вас исходники (или просто их туда поместите или примонтируейте)

12. Рекомендую вам пересобрать ядро под себя и быть может отказаться от

моего initrd. emerge gentoo-dev-sources - распакует ядро из distfiles.

Мой кофниг ядра можете взять в /boot. Дальше творите что хотите! Если

хотите отказаться от initrd не забудьте включить в ядро необходимые

опции, но не модулем! Например, вашу файловую систему, в моем ядре

ext3/reiserfs/xfs собраны модулями, без initrd не загрузитесь! В целях

экономии места на диске нет исходников ядра.

13. Katalog /lib/dev-state (файлы устройств devfs) и /lib/udev-state

(файлы устройств udev) для "живой" загрузки были перенесены в

/etc/lib/dev-state и /etc/lib/udev-state соответсвенно т.к. /lib работает

в режиме только чтения. Для правильной работы стартовых скриптов в /lib

имеются соответсвующие символические ссылки на /etc/lib. После установки

на ЖМД и быть может дальнейших обновлений через emerge можно произвести

обратную процедуру, удалить символические ссылки из /lib и перенести

каталоги udev-state и dev-state из /etc/lib в /lib.

ВАЖНЫЕ НЮАНСЫ ПОСЛЕ КОПИРОВАНИЯ НА HDD

Для правильной (штатной) работы стартовых скриптов при правильно

настроенном fstab можно удалить файл /var/.liveboot После этого будет

проводиться проверка файловой системы при перезагрузке штатно "как положено".

В системе Gentoo нет boot-autoconfig это мое "изобретение" его можно

отключить так 'rc-update del boot-autoconfig boot'. Если вы не планируете

использовать boot-autoconfig, но собираетесь использовать ALSA то

перенесите сервис alsasound на boot-runlevel: 'rc-update del alsasound

default' и  'rc-update add alsasound boot'. Так принято в Gentoo!

УСТАНОВКА НА USB-STICK

Под USB-stick я подразумеваю USB-FLASH диск размеченый для совместимости

с M$ WINDOWS, т.е. имеющий один primary раздел с файловой системой FAT16.

Объем таких "дисков" в настоящий момент значительно меньше (в сотни раз)

объемов ЖМД (быть может пока) и потому установить Linux содержащий большой

набор программ на такой диск классическим образом затруднительно. Например,

Gentooth содержит пакетов на почти 2 GB, потому потребуется USB-stick

объемом 2GB или 4GB, при этом придется отформотировать FLASH диск

под какую-либо Linux файловую систему (ext2/ext3/reiserfs/xfs/jfs).

В данном же разделе речь пойдет о варианте загрузки с USB-stick подобном

варианту загрузки с CD-ROM. При этом основное тело программ содержится

в сжатой файловой системе (squashfs) и расположено в файле объемом не

более 700MB. Выгода очевидна, потребуется USB-stick объемом 1GB, тип

файловой системы при этом не имеет большого значения и у Вас еще останется

свободное место около 300MB, на нем можно разместить фалй с файловой

системой, например ext3 и сохранять в нем домашние катлоги пользователей

и/или каталог /etc - с настройками системы, но об этом позже.

Немного разожгу Ваш аппетит и замечу, что Linux это одна из немногих

ОС которая позваляет Вам загрузить полноценную рабочую среду с поддержкой

графического режима (X) и набором современных программ с USB-stick.

WINDOW$ (сейчас популярна версия XP) после установки на ЖМД сильно

привязывается к конфигурации оборудования, потому врят-ли имело бы смысл

ее установка на USB-stick для загрузки всего на одном ПК. Мало того

обычно лицензия M$ WINDOW$ не разрешает использование одной копии ПО

более чем на одном ПК! Другое дело Linux. Замечу так же тот момент,

что работа Gentooth с USB-stick значительно комфортнее и быстрее

чем с CD-ROM. При успользовании USB-2.0 скорость работы значительно выше,

объясняется это тем, что при доступе к сжатой файловой системе приходится

очень часто позиционировать головку CD-ROM, на что приходится много

накладных расходов по времни и запуск программ происходит не очень быстро.

Как правило, ПК имеют 2 и более USB разъемов, но не все ПК имею более

одного привода CD-ROM. Gentooth содержит программы для записи CD/DVD,

просмотра DVD и много для чего, Вам может понадобиться иметь свободный

CD-ROM привод. Загрузка с USB-stick разрешает эту проблемму автоматически.

Не все BIOS поддерживают загрузку с USB-HDD, но в этом случае можно

стартовать загрузку с CD, продолжая ее с USB-stick (или ЖМД) передав

опцию nocdrom. Для "установки" на USB-stick потребуется следующие.

Скопировать файл livefs.img (из корневого раздела CD-ROM) в корень вашего

USB-stick. Скопировать каталог /boot в корень вашего USB-stick. Каталог

/boot содержит ядро, initrd и файлы для загрузчика grub, именно с grub

у меня получилась загрузка с FAT16 раздела (не уверен, что на это

способен lilo, хотя по слухам lilo и надежнее при загрузке с USB-HDD).

Подправте файл /boot/grub/grub.conf на вашем USB-stick по вашему вкусу.

Возможно Вы захотите добавить опции nohdboot, nocdrom и.т.п.. Возможно

придется подобрать опцию pause=N необходимую для ваших систем.

FAT не имеет возможности создавать символические ссылки, потому вместо

ссылки /boot/grub/menu.lst я, на всякий случай, рекомендую создать копию

файла /boot/grub/grub.conf (просто я недостаточно разобрался какой из

них для чего нужен). Далее запускаете grub и выполняете пару команд

типа 'root (hd1,0)' и 'setup (hd1)' и "на всякий случай" 'setup (hd1,0)'.

Для деталей изучите документацию к grub, лучше бы Вы знали что делаете!

СОХРАНЕНИЕ НАСТРОЕК НА USB/IDE-HDD.

При первой загрузки с CD-ROM вы получаете среду в которой не настроены и,

в большинсве своем, не включены сервисы, домашние катологи пользователей

/home как и каталог /etc существуют в tmpfs и скопированы с образцов на

CD-ROM. При перезагрузке Вам не удасться сохранить ни настройки системы,

ни настройки пользователей. Часто это не проблемма, если Вы используете

CD для исключительных целей. Но как быть если Вы хотите добавить/изменить

что-то в домашнем каталоге пользователя, быть может добавить какие-либо

программы, загрузить модули ядра с определенными параметрами или просто

сохранить параметры ссессии? Для этого нужно пересобрать весь CD-ROM?

Да это возможно, но требует времени. Есть способ проще! После

загрузки Вы можете воспользоваться сценарием /opt/gentooth/mkoptfs.sh

для создания файла с образом файловой системы содержащей домашние каталоги

и каталог /etc. Для этого скопируйте этот суенарий в удобное для Вас место

на tmpfs (напрмер в каталог /root), ознакомтесь с его незатейливым

содержимым, быть может подредактируйте под себя и запустите из текущего

каталога. По-умолчанию создается файл "optfs.img" в текущем каталоге

содержащий образ ext2 c /home и /etc. Данный файл достаточно поместить

в корень любого раздела ЖМД (включая и USB-stick) и передать опцию

'optmount' при загрузке. Теперь каталог /etc и /home будут смонтированны

из этого файла, все настройки пользователей и настройки системы будут

сохранятся автоматически при перезагрузке! Данная опция особенно удобна

при загрузке с USB-stick, при этом Вы получаете "домашнюю" среду на любом

ПК на котором сможете загрузить Ваш Gentooth Linux. Таже Вы сможете даже

добавить программы в Gentooth без пересборки 'livefs.img'. Например,

это можно сделать так: загрузитесь с опцией 'optmount', создайте каталог

/mnt/opt/local, скопируйте содержимое /usr/local в /mnt/opt/local,

примонтируйте 'mount -o bind /mnt/opt/local /usr/local' установите

необходимые программы в /usr/local, к стартовым скриптам, например,

/etc/conf.d/local.start добавте сценарий автоматического монтирования

/usr/local.

НЕМНОГО О ЗАГРУЗКЕ ПО СЕТИ (БУДУЩЕЕ GENTOOTH)

Gentooth позволяет производить загрузку системы непосредсвенно через

Ethernet сеть используя NFS. В настоящий момент загрузку можно

"начать" с "чего угодно" (обычно CD-ROM) используюя мой initrd.

Существует несколько вариантов: "жесткая" (hdboot) подобная

загрузке установленной на ЖМД системе и "Живая" подобная загрузки с

CD/USB. Для жесткой загрузки необходимо иметь NFS сервер экспортирующий

корневую файловую систему для клиента на чтение-запись.

Данная ФС становится корневой для загружаемого по сети клиента.

Такуй файловую систему, например, можно получить скопировав

содержимое каталога /mnt/live при живой загрузки на ЖМД. Один такой

экспортируемый каталог должен монопольно использоваться только одним

клиентом! Для данного варианта загрузки используются следующие

опции загрузки (минимальный набор): `netboot nfsserver=IP_сервера

nfsrootdir=каталог_на_сервере`. При этом используется DHCP клиент.

Если в сетевом сегменте нет DHCP сервера можно задать сетевые

настройки вручную, например так: `bootip=192.168.1.1

bootnetmask=255.255.255.0 bootbroadcast=192.168.1.255`.

Живая загрузка интереснее тем, что сервер может экспортировать одну

или две файловые системы. Первая "Живая" это образ Gentooth

но в режиме только чтения, таким образом, образ можно использовать

несколькими клиентами! Второй каталог, необязательный и является

опциональным для хранения каталогов /etc и /home. Для живой сетевой

загрузки используются опции: `netboot nohdboot nfsserver=...

nfslivedir=... nfsoptdir=... (optmount)`. При живой загрузки

из сети корневая ФС находится в памяти как и при загрузки с CD-ROM.

Использование nfsoptdir и optmount аналогично сохранению

настроек системы и пользователей на ЖМД или USB-stick в файле

(см. выше).

RTFM

Я не разрабатывал ничего принципиально нового. За основу

взят обычный Gentoo Linux. Для комфортной работы именно с

этим дистрибутивом рекомендую изучить в совершенстве команды

emerge/ebuild/esearch/qpkg/quickpkg/rc-update/rc-status...

Вот простые примеры:

$esearch шаблон # поиск пакета по шаблону

$esearch -S шаблон # поиск пакета по описанию

$emerge -pvt пакет # посмотреть "что будет" если захотите поставить пакет и

                   #  стоит ли уже такой. 

$emerge пакет # установить пакет

$emerge -C пакет # удалить пакет (будте очень осторожны!)

$qpkg -l пакет # все файлы входящие в пакет

$qpkg -f файл # найти пакет в который входит указанный файл

$qpkg -q -I пакет # посмотреть для каких пакетов необходим данный

$qpkg -q -I -v # список всех установленных пакетов

rc-status # посмотреть какие сервисы запущены

Многие настройки специфичные для Gentoo находятся в /etc/rc.conf и в

/etc/make.conf.

Для понятия всех тонкостей Gentooth по сравнению с Gentoo

рекомендуется смотреть в /opt/gentooth/inirdbox/linuxrc - скрипт

загружающий систему (точнее его копия) и /etc/init.d/boot-autoconfig

стартовый сценарий конфигурирующий систему при "Живой" загрузке.

МЕЛОЧИ

1. mc-MP ("полуночный командир" с www.linuxinside.org) стоит просто из

исходников без учета портежами.

2. Имеется несколько "полезных" скриптов в /usr/lical/bin.

3. Добавлены (ЭКСПЕРЕМЕНТАЛЬНО!) сервисы pptp и pptpd как клиент и сервер

для реализации VPN (PPTP). Как и boot-autoconfig сервисы pptp и pptpd не

входят в Gentoo. Хотя, примерно с января 2005 pptpd включили в Gentoo,

странно, но я об этом не просил  :Wink: .

4. список установленных пакетов можете сбросить в файл командой qpkg -nc

-I -v > packages.list Такжее можете запустить программу `porthole` для

изучения всевозможных пакетов и/или уже имеющихся в образе поставляемого

диска.

5. Скрипт /etc/init.d/net.eth0 немного переделан (ищите #!!!)

для возможности задания MAC адреса в /etc/conf.d/net

(актуально, когда провайдер делает привязку к MAC адресу на шлюзе).

6. Чтобы стать root введите sudo bash (или ss). Пользователь gentooth

от которого запускается X входит в группу wheel для которой разрешено без

ввода пароля становиться "кем угодно" (см. /etc/sudoers). На первой

виртуальной консоли после загрузки вы получаете права root. Для

отключения такого нарушения "безопастности" после установки на диск правте

/etc/inittab. По умолчанию пароль на пользователя gentooth - gentooth2005

на root - неопределен. Рекомендуется сразу же сменить пароль на gentooth

(так как он может стать root!) и задать пароль на root (команда passwd).

7. в каталоге /root имеется пару sh-скриптов илюстрирующих пример выхода

в Internet используя GPRS и Bluetooth...

8. в каталоге /opt/gentooth я планирую поместить сценарии и файлы спецефичные

для данного "дистрибутива", расрывающие "таинства" его сборки, упращающие 

некоторые операции, напрмер, создания initrd или заготовки для образа файловой

системы поместив которую на раздел ЖМД вы сможете сохранять настройки

пользователя (домашние каталоги) и установки системы (каталог /etc) уменьшая

тем самым время на настройку при последующих загрузках. Обращаю Ваше внимание,

что данные сценарии предназначены для "продвинутых" пользователей (впрочем как

и сам дистрибутив Gentooth) и являются лишь "ориентиром" и иллюстрацией того

как можно решить ту или иную задачу.

ВАЖНО

Я постарался сделать максимально удобную сборку Linux как для себя, так

и для своих друзей и коллег. Я обещаю, что я не писал специально никаких

вредоносных програм и ничего не знаю о их наличии в Gentoo. Но! Никаких

гарантий я не даю.  За весь причиненный вред кому-либо или чему-либо

посредсвом даже косвенного использования даннной сборки програм

ответственности я не несу.  Вы используете все это на свой страх и

риск! Это свободное програмное обеспечение, поставляемое по лицензии

GPL (см. файл COPYING).  Мало того, знайте, это ЭКСПЕРЕМЕНТАЛЬНОЕ

програмное обеспечение!  В данной сборке используются, в большинсве своем,

программы распространяемые по лицензии GPL или по лицензиям совместимым

с данной. Но есть и исключенния.  Осмелюсь предположить, что выкладывая

на общий доспуп бинарные сборки определенных пакетов я (и быть может,

Вы, скачивая их?) выхожу за рамки тех лицензий, по которым они

распрастраняются. Если это так, прошу сообщить мне об этом, я исключю

данные пакеты. Считайте, что Вы предупреждены.

-----------------------------------------------------------------------------

С признательностю за внимание, Alex Zorg

----------

## ba

Лучше бы придумали пакет, который создает рамдиски(или симлинки) на все места, куда надо писать при загрузке, чтобы можно было сделать систему, где все кроме скажем /home и /tmp моунтится только на чтение. А то каждый раз когда надо сделать загрузку нескольких машин по nfs таким гемором страдаешь...

----------

## Alex Zorg

 *ba wrote:*   

> Лучше бы придумали пакет, который создает рамдиски(или симлинки) на все места, куда надо писать при загрузке, чтобы можно было сделать систему, где все кроме скажем /home и /tmp моунтится только на чтение. А то каждый раз когда надо сделать загрузку нескольких машин по nfs таким гемором страдаешь...

 

Насчет "чего бы лучше написать" - ответ "кому лучше?"  :Wink:  Я предлагаю всем, что делал сам, предлагаю попробовать и сказать свое мнение о том как оно работает, учесть замечания и недостатки. Что мне лучше писать, это offtopic. Тут обсуждаем кому интересно LiveCD в первую очередь. Здесь речь не про "пакет", а про готовый LiveCD.

По поводу вашей проблеммы. Gentooth на сегодня как раз может ее решить. Может не совсем так как Вам надо, но попробуйте найти в этом что-то для себя, разобраться как оно сделано и внести свое замечания. Можете по крайней мере "подсмотреть". Сделано это на уровне initrd и небольших патчей на стартовые скрипты. Это задел для изготовления DiskLess-X-терминала.

----------

## dish

А с USB CD-ROM'ов она может грузиться?

Из инсталяшек дженты у меня только 2004.2 нормально грузится.

----------

