The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Пример инсталляции FreeBSD c сетевого диска, через NFS (nfs freebsd install boot pxe)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: nfs, freebsd, install, boot, pxe,  (найти похожие документы)
From: Aleksey L Keda <http://www.lissyara.su>; Date: Mon, 4 Oct 2007 14:31:37 +0000 (UTC) Subject: Пример инсталляции FreeBSD c сетевого диска, через NFS Оригинал: http://www.lissyara.su/?id=1373 Итак. Задача - поставить FreeBSD на HP OmniBook 500. Машинка, ничего особенного из себя не представляет - PIII-733, 256 RAM, 30G HDD. Есть док станция со совей батарейкой, CD-ROM, FDD. Для начала, откусываю кусок харда акронисом - там стоит лицензиозная винда, которая может пригодится. После чего пытаюсь загрузиться с CD-ROM. В общем-то всё хорошо, но вот на моменте детектирования этого самого CD-ROM машина уходит в себя... Вернее не уходит, но и момент этот не проскакивает. Ладно, втыкаю любимую загрузочную флэшку, логично рассуждая - мне бы забутится, дальше разберусь. Облом. Колдование над опциями BIOS и попытки выбрать её при загрузке ни к чему не привели. Пошёл, покурил, подумал. Думаю - с флоппика ставиться - изврат, хотя можно было на него закинуть тока ядро, остальное на флэшку. Это уже проходил, когда делал загрузку по сети. На этом момете мозги встают на место и соображаю - можно загрузиться по сети, и оттуда же и поставить - благо опция загрузки по сети на буке есть. Поехали. Для данного действа я выбрал отдельную подсеть, в которой будут всего два компа - мой и ноут. (соединить их через свич, или кроссовером - не забудте :)) Втыкаем CD-ROM, монтируем, копируем: lissyara$ mount_cd9660 /dev/acd0 /cdrom/ lissyara$ cd /cdrom/ lissyara$ mkdir -p /shares/bsd6.2 lissyara$ ( tar --create --file=- * ) | \ ? ( cd /shares/bsd6.2/ ; tar --extract --file=- ) Почему извращённый метод копирования? Там много хардлинков (тока для ISO9660 они как-то иначе называются), и после копирования при помощи cp размер прилично увеличится. Пока копируется, с другой консоли ставим isc-dhcp: lissyara$ cd /usr/ports/net/isc-dhcp3-server lissyara$ make install clean В вылезшем синем окошке посымал все галки - мне нужен минимальный функционал. Пока собирается, и копируется, чешем на третью консоль, пишем файл с описанием экспортируемых по NFS файловых систем: lissyara$ more /etc/exports # /shares/bsd6.2 -maproot=root -network 192.168.0.0 -mask 255.255.0.0 Также, прописываем запук nfsd и dhcpd в /etc/rc.conf: lissyara$ cat /etc/rc.conf | tail -4 nfs_server_enable="YES" nfs_server_flags="-u -n 4" dhcpd_enable="YES" inetd_enable="YES" lissyara$ У меня локалка висит на одной сетевухе, её я трогать не стал, просто доткнул вторую, какой-то попавшийся под руку dlink. Его я тоже прописал в /etc/rc.conf, что тоже привожу тут, чтобы был понятен дальнейший конфиг dhcpd: lissyara$ cat /etc/rc.conf | grep vr0 ifconfig_vr0="inet 192.168.200.254 netmask 255.255.255.0" lissyara$ Ещё необходим tfdpd. Я использовал штатный, запускающийся через inetd: lissyara$ grep tftp /etc/inetd.conf tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /shares/bsd6.2 #tftp dgram udp6 wait root /usr/libexec/tftpd tftpd -l -s /tftpboot lissyara$ К этому моменту isc-dhcp должен уже проинсталлится, и рисуем его конфиг: lissyara$ more /usr/local/etc/dhcpd.conf # dhcpd.conf option domain-name "my-domain.local"; option domain-name-servers my-domain.local; default-lease-time 600; max-lease-time 7200; ddns-update-style ad-hoc; log-facility local7; # This is a very basic subnet declaration. subnet 192.168.200.0 netmask 255.255.255.0 { range 192.168.200.10 192.168.200.20; option routers lissyara.my-domain.local; next-server 192.168.200.254; option root-path "192.168.200.254:/shares/bsd6.2"; filename "/boot/pxeboot"; } lissyara$ Ну и всё. Я вырубаю комп, мне надо сетевуху доткнуть, а вы можете запустить всё это руками: rpcbind nfsd -u -t -n 4 mountd -r inetd /usr/local/etc/rc.d/isc-dhcpd start После чего, включаем ноут, и выставляем загрузку по сети. Всё получилось, тока ядро сумничало, и обнаружив корневую систему на NFS (ну, не само обнаружило конечно, это DHCP сказал откуда монтировать), загрузилось с неё. Получили полноценную фряху загруженную по сети на ноуте... Прикольно, но не совсем то, что мне надо было. Конечно, можно было все операции сделать руками - благо дистрибутив тут, примонтировался, но - так неинтересно, да и всё равно sysinstall запускать - временную зону я руками ставить не умею :( Вспомнил, что когда грузишься с диска, файловая система в памяти, маленький диск на пару мегов. Вот на него и надо было загрузиться, а не на скопированный сидюк. Это уже было проще, такое я [58]проходил раньше, посему, решилось просто - добавление строчки в конфиг лоадера - имя устройства я подсмотрел загрузившись с сидюка: lissyara$ more /shares/bsd6.2/boot/loader.conf | grep vfs vfs.root.mountfrom="ufs:/dev/md0c" lissyara$ Перезагружаем ноут, и наблюдаем окошко sysinstall. После разбиения диска, выбора компонентов и прочих подготовительных операций, в последнем окне, надо выбрать откуда инсталлим: 6 Media Choose the installation media type Выбираем NFS: 6 NFS Install over NFS и вводим путь к шаре с дистирибутивом: +----------------------- Value Required ------------------------+ | Please enter the full NFS file specification for the remote | | host and directory containing the FreeBSD distribution files. | | This should be in the format: hostname:/some/freebsd/dir | | +-----------------------------------------------------------+-+ | |192.168.200.254:/shares/bsd6.2 | | +-+-----------------------------------------------------------+-+ | [ OK ] Cancel | +---------------------------------------------------------------+ Всё. См. также http://wiki.opennet.ru/NetworkBoot

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру