The OpenNET Project / Index page

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

Как я устанавливал NetBSD на FLASH-USB (netbsd install flash usb boot)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: netbsd, install, flash, usb, boot,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-13 15:24:49 Subject: Как я устанавливал NetBSD на FLASH-USB
Автор: Сергей Воронков serg(at)so.net.ua

Зачем это надо. Я думаю задач придумать можно массу, у меня работает роутинг(quagga), NAT, firewall.

Платформа:

i386 поддерживающая USB-HDD и соответственно загрузку с него, загрузочная FLASH-USB 128 Мб (я думаю можно и на меньшую установить, зависит от задач), 128 Мб оперативной памяти.

Установка:

Все бесхитростно, но желательно иметь "тестовый стенд", т.е. систему установленную на жесткий диск, зачем, будет понятно ниже. Вставляю диск с инсталляцией в CD привод, FLASH-USB соответственно в USB разъем. Дальше устанавливаю систему на sd0 (у меня так определилась FLASH-USB). При установке выбираю Install to hard disk, далее Custom installation. В разделе The following is the list off distribution sets that will оставляю yes на пунктах: а X11 sets переключаем в none. Стараюсь уменьшить колличество устанавливаемого ПО на Flash носитель. При определении геометрии диска соглашаюсь с BIOS. Далее выбираю Edit the MBR partition table. При дальнейшем определении разделов весь объем Flash носителя отдаю под раздел a:, Дальше нет смысла описывать, стандартная процедура. Вот и получили готовую систему.

Установка ПО: Дальше немножко ее модернизирую, ну нравится мне, bash и mc. На тестовом стенде определяю зависимости для bash и mc с помощью ldd: На самом деле для mc понадобятся сам /usr/pkg/bin/mc, две либы и два линка на них из /usr/pkg/lib Для bash понадобятся сам /usr/pkg/bin/bash, две либы и два линка на них из /usr/pkg/lib Далее на тестовом стенде: Для bash и mc: в /etc/shells добавляю строчку /usr/pkg/bin/bash Так же мне понадобились snmp и zebra(quagga), провожу аналогичную процедуру с ldd и для них, в результате. Для snmp: в /etc/rc.conf добавляю строчку: snmpd=YES Забегая вперед, после эксперементального запуска оказалась необходимой и содержимое директории /usr/pkg/share/snmp, соответственно: Для zebra в /etc/rc.conf добавляю строчку: zebra=YES и zebra_flags="-P 2601" В дополнении приведу все конфиги которые у меня работают.

Оптимизация:

Далее гружусь с FLASH-USB. Конечно, оптимизировать можно до бесконечности, как один из вариантов, удалять не нужные компаненты. Я всего лишь "засунул" в mfs /dev, /var, /tmp. Для /dev, я уже не помню где вычитал метод, но признаюсь придумал не сам: и как результат: Для /tmp: правим fstab: Для /var ситуация чуть сложнее, делаю следующее: правлю fstab: в /etc/rc.d/ ложу скрипт make_var (содержимое скрипта см. ниже) в /etc/rc.conf добавляю строчку: make_var=YES в /etc/rc.d/ttys в разделе # REQUIRE: добаваляю make_var, в результате Теперь посмотрим внимательно на /etc/rc.d/mountcritlocal в этом скрипте с легкостью можно убрать строки, т.к. /var/run/ в памяти и при размонтировании автоматически уничтожается: Теперь относительно ipfilter и ipnat, приведу пример самого простейшего варианта: добавляю в /etc/sysctl.conf правлю /etc/ipf.conf, /etc/ipnat.conf (см. ниже), и при загрузке получаю ошибку, которая лечится изменением /etc/rc.d/ipfilter в разделе ipfilter_prestart() {....... надо добавить строки: Теперь ядро, компилю на тестовом стенде сжимаю и переливаю на FLASH-USB, вот и вся процедура

Можно при желании исправить fstab чтобы root монтировался в ro. Вот наверное и все изменения, конечно пределу совершенства нет, я уже не описываю ротацию с уничтожением логов, удаление ненужных бинарников в каждом случае это может варироваться. Могу сказать только, что проверено все роутится и натится, а дальше у кого какая фантазия.

Дополнительно:

rc.conf fstab shells syslog.conf resolv.conf sysctl.conf zebra.conf ipfilter make_var mountcritlocal snmpd

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

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




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

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