LINUX.ORG.RU

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


0

0

Привет, VIM 7.1 (2007 May 12, compiled Aug 2 2008 13:06:37)
Пишу тебе с надеждой.

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

Чего нет - опыта, и возможности чего-то выкачать
Что есть: slackware 10.2 2cd, 12.1 1dvd, slax607, slax5181, deli080beta, puppy112m, довольно свежый срез репов arch. много всего разного по мелочи, особенно старенького.

PXE и всё такое вроде как работает (в VirtualBox точно)

Как это вообще делается:
1. загружается ядро, сеть, программа, дающая картинку на монитор
2. загружается ядро, сеть, сетевая фс, остатки FS монтируются из сети

Первый вариант - в сети гуляют слухи о rdesktop под svgalib, но во-1х, я так и не нашёл сего чуда, а во-2х - в svgalib у меня что-то заработало только один раз, давным давно, криво, и недолго. есть у меня и thinstation с лейбой чего-то там iadvisor. Если расписать, что там не так, то получится слишком много, лучше в следующем письме.

Второй вариант. Тут меня на протяжении трёх дней посещали превосходные идеи разной степени превосходности, но одной степени эффективности - не работали.

Из сетевых систем, как я понимаю, кроме полурабочего и непонятного curlftpfs (как я понимаю, у него в требованиях fuse и иже), есть только две - NFS и CIFS? кстати, к самбовскому серверу, созданому arch, не цепляются системы с 2.4 - ни дели ни слака 10.2, к NFS от него же - в deli нет nfs.o, и nfs я не завёл. Хотя на DELI я облизываюсь больше всего, и задача #1 - запустить DELI, чтобы вся эта система работала максимально скромно по отношению к памяти.

Про сохранение и своп я уже не говорю, мне бы иксы увидеть.

Первая моя мысль - системы, работающие из SquashFS - слаксы оба. Добавить в поиск livecd.sgn указатель на свой директорий, сделать

modprobe cifs
modprobe mii
modprobe pcnet32
mount -t cifs //1.2.3.4/5 /mnt/doit -o user=root,pass=

тут оно находит модули, и что 5й что 6й слакс при pivot_root следующим chroot-ом на инит благополучно умирает :( даже если руками - pivot_root - всё ок, и тут уже, хоть init, хоть sh вызвать - зависает намертво


Вторая мысль - наращивать /usr /lib /bin /sbin ro-модулями (может потом руки и до aufs/union бы как-то дошли). тоже не работает, каждая система по разному, обычно просто отваливается (mount not found, ash not found).

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


Следующая идея - делать не на инитрд диске, а как-бы-полноценный-диск, размера поменьше, вызывать /sbin/init, тут же монтировать сеть, самбу, подменять все крупные /*, и как бы ничего не произошло, никто не при делах.

Вопрос - как вот такое сделать? Нужно грузить ядро с initrd, как сделать начальную загрузку, можно обойтись только ядром и busybox каким-нибудь (что то я побаиваюсь этого busybox, буду я им грузить, допустим, оперу, а потом меня через суд обяжут открыть исходники оперы, где ж я их возьму).

Т.е. сделать изначальную загрузку
* сделать вид что грузимся в нормальную систему (что диски пусты - не важно, создать иллюзию)
* тут как бы отворачиваемся на минутку, а то фокус не получится
* грузим модули разных сетевых карт, cifs, squashfs, что ещё нужно для нормального функциронирования, для tcpip и прочего?
* получаем от dhcp-сервера явки, пароли, адреса
* монтируем cifs в директорию
* монтируем папки (да хоть макосник, так вводить короче) из *.squash в /*
* грузимся дальше, как ни в чём не бывало
* грохаем всё, что можно на ramdisk-е, а на получившемся месте ставим своп

Расскажи мне, дорогой VIM, как это всё реализовать, особенно, чтобы и ядро 2.4 поучаствовало, и я мог дели с иксами грузить. И ещё узнай, какие файлы нужны, какие не нужны, как обойтись без libc, А если не знаешь - спроси у кого-нибудь, а то за ковыряниями незаметно настало без двадцати шесть утра, а я ещё не спал, и да посети меня загрузка храни.

Ответ на: комментарий от nikolayd

Кстати, LTSP - варант. Только ядро придется хорошо пересобрать, зафундырить максимум карт, вырезать лишнее, типа v4l и т.д. Когда то давно баловались, разруливая на предприятии ресурс довольно серьезных для того времени серверов и кучи старого железа. В идеале все хранилось на серваках, с них же и грузилось, на них же и считалось. Не всегда, но в идеале.

one117 ★★★★★
()
Ответ на: комментарий от nikolayd

Re^2: Сетевая загрузка с минимальными требованиями.

> LTSP?

это заново сносить и перегораживать весь огород. оно толсто, автоматично. мне нужно вручную, просто сделать загрузку с ramdisk, поднять сеть, и примотрировать папки (f), и там уже сквошем нарастить полноценный линукс.

т.е. задача #1 - сделать минимальный initrd, с сетью, самбой и перспективами - куда копать?

GuttaLinux
() автор топика

Я копал в сторону LFS - сделал build root по их доке за денек(2гига он весил, там gcc бутстрапился и тому подобная похабщина), скомпилял там все нужные пакеты и загнал на initrd. В итоге qugga+sshd+snmp+openvpn влезает метров эдак в 10-12. Можно прямо бинарники складывать - я не пробовал, проще собрать было. Если совсем лень - есть вариант распаковать готовый initrd от какой-нибудь генту/редхат/wadever и подогнать под свои нужды(т.е. не / с винта маунтить а поднять рамдиск и развернуться на него).

nikolayd
()
Ответ на: комментарий от nikolayd

Re^4: Сетевая загрузка с минимальными требованиями.

> Я копал в сторону LFS - сделал build root по их доке за денек(2гига он весил, там gcc бутстрапился и тому подобная похабщина), скомпилял там все нужные пакеты и загнал на initrd. В итоге qugga+sshd+snmp+openvpn влезает метров эдак в 10-12. Можно прямо бинарники складывать - я не пробовал, проще собрать было. Если совсем лень - есть вариант распаковать готовый initrd от какой-нибудь генту/редхат/wadever и подогнать под свои нужды(т.е. не / с винта маунтить а поднять рамдиск и развернуться на него).

я и собираю с указанных инитов. если инитить как их cd, в squash, - дохнет на pivot_root, вернее сразу после. если резать на живую - то всё время чего-то не хватает. сейчас собрал образ на 50 мб - теперь самба не монтируется. :( error 22. если проверять назначение каждого файла и делать "нука, а что будет, если мы этот файлик удалим" - то быстрее с изобретателем шахмат расплатятся. поэтому хочется с нуля, собрать такой образ ядра, чтобы были популярные модули сети и не было лишнего - вот и вопрос, что именно собирать (есть ядро от слаки 2.6.24.5, есть squashfs патч 3.3 столетней давности), также на диске есть аж два бизибокса (1.4.3 и 1.7.3), что там нужно. Т.е. интересует, на что обращать внимание, как потом вызвать /sbin/init из squash, какие модули собирать, какие не нужны несмотря на многообещающее название).

GuttaLinux
() автор топика
Ответ на: комментарий от SlavikSS

Re^2: Сетевая загрузка с минимальными требованиями.

> http://xgu.ru/wiki/PXE

там нет ничего про сборку своего рамдиска. к lstp-образу, как я понимаю, без 128 mb ram можно даже не соваться.

GuttaLinux
() автор топика
Ответ на: комментарий от nikolayd

Re^4: Сетевая загрузка с минимальными требованиями.

> В LFS по-моему есть мануал по сборке рамдиска, не?

рамдиск есть в любом дистрибутиве... рамдиска с бле^W сетью и самбой и хорошим переиничиванием нет у меня. есть в сети, но выкачать не могу. потом смогу, но потом будет не до ковыряния. и чтобы вылезти из этой бутылки мебиуса - нужен просто совет, по загрузке от отдачи управления от ядра рамдиску, до конечной загрузки. потом я через сквош хоть гигобайтами смогу что угодно грузить.

GuttaLinux
() автор топика
Ответ на: комментарий от nikolayd

Re^6: Сетевая загрузка с минимальными требованиями.

> http://www.opennet.ru/base/sys/initrd_intro.txt.html поможет мб?

мне не нужно знать, как устроен initrd, это я примерно понимаю

мне бы узнать, как сделать минимальную конфигурацию для сети (что именно нужно?), и как потом монтировать root беспроблемно и с минимальными потерями памяти. Т.е. опыт, кто как делал, где у кого ломалось, и как кто чинил.

А рецептов приготовления слона на сковородке вида "допустим, у нас уже есть выпотрошенный, порезаный и обработанный слон, сейчас мы расскажем как включить сковородку" в сети достаточно, но это не совсем то. :(

GuttaLinux
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.