хочу сюди!
 

Альона

36 років, телець, познайомиться з хлопцем у віці 30-40 років

Создание собственного установочного CD OpenBSD 3.8

  • 22.06.10, 12:46




Для создания установочного диска OpenBSD, настроенного "под себя", как
описывается в документации,
нам необходимо создать пакет site*.tgz (где * - версия ОС), также Вы
можете использовать скрипты install.site/upgrade.site.


siteXX.tgz также, как и другие установочные пакеты (base38.tgz,
comp38.tgz и др.) представляет собой сжатый gzip tar-архив (при
распаковке исполняется tar -xzpf). Пакет позволяет пользователю
добавлять или заменять файлы, установленные в стандартных пакетах и
таким образом создать свой инсталляционный (или upgrade) диск.

siteXX.tgz может использоваться, например, для:
  • изменения (замены) в установленную OpenBSD. Если Вы хотите
    произвести изменения в системе, Вы просто выбираете siteXX.tgz при
    повторном запуске инсталляции, и все ваши изменения скопируются в новую
    систему.
  • Создать ряд каталогов, содержащихся в siteXX.tgz файл, с
    необходимыми файлами.
  • При установке произвести копирование файлов с Вашими настройками,
    которые Вы обычно указываете после установки, например
    /pf.conf, /var/www/conf/httpd.conf, /etc/rc.conf.local,
    и т.д.

На последнем этапе установки системы запускаются сценарии install.site/upgrade.site.
Обратите внимание, скрипты запускаются из загруженной файловой системы,
а установливаемая система примонтирована к /mnt. Скрипты при
установке
исполняются в однопользовательском режиме в chroot. Это следует учесть
при написании скриптов - скрипт должен быть написан для исполнения в
"обычном" корне системы. Скрипт install.site должен быть помещен в
siteXX.tgz файле, а upgrade.site может быть размещен в корневом каталоге
перед обновлением либо в siteXX.tgz.

Скрипты могут использоваться, например, для:
  • Удаления файлов, которые установлены, но Вам не нужны.
  • Удалить/изменить/установить пакеты.
  • Сделать бэкап-архив системы перед включением ПК в сеть.
  • Использовать rdate ,чтобы установить системное время.

Комбинация siteXX.tgz и install.site/upgrade.site
позволяет пользователю
создать свой собственный дистрибутив, разворачивающий рабочий сервер или
рабочую станцию за минимальное время и требующий минимальных настроек.


В данном случае мы рассмотрим в качестве примера процесс создания
собственного русифицированного дистрибутива OpenBSD 3.8.


Для создания собственного дистрибутива:

1) Создаем файл site38.tgz, в данном случае с необходимыми для
русификации изменениями:


Устанавливаем OpenBSD. Архивируем каталоги, в которых предполагаются
измения. Например, /etc, /usr, /var . Вносим
необходимые изменения в
систему, настраиваем. С помощью diff смотрим, какие изменения произошли.
Переносим измененные файлы в рабочий каталог с сохранением исходного
дерева.


Создаем site38.tgz. При установке системы siteXX.tgz
устанавливается
после установки всех пакетов. Если указанные файлы отсутствуют, то они
копируются. Присутствующие файлы заменяются на имеющиеся в siteXX.tgz .
Для примера я провел русификацию системы. Изменения произошли только в
/etc/rc.local, /etc/skel/.inputrc и /etc/skel/.login.

    # cd /tmp
    # mkdir etc; mkdir etc/skel
    # cp /etc/rc.local /tmp/etc
    # cp /etc/skel/.inputrc /tmp/etc/skel
    # cp /etc/skel/.login /tmp/etc
    # tar -zcvf site38.tgz etc


Наш файл site38.tgz с русификацией готов. Пример готового файла можно
взять http://unixman.ru/site38.tgz.
Русификация будет работать при
выборе в качестве шелла csh или после установки bash и применения в
качестве оболочки. Русифицированы будут консоли кроме 0-й - она
системная и не русифицируется.


В принципе, возможно подготовить siteXX.tgz таким образом, что он будет
содержать все необходимое для инсталяции рабочей системы и при установке
системы выбирать только ядро и этот пакет, отказавшись при установке от
инсталляции всех остальных. Пример создания минисистемы для роутера с
флеш-диском можно посмотреть на
http://www.blackant.net/other/docs/unpuffed/.
Флеш-диск можно
изготовить согласно инструкции на
http://www.openhardware.ru/modules/arms/view.php?w=art&idx=30&page=1
или
заказать готовую платформу для роутера/файервола на http://www.kd85.com/
, которая будет весьма хорошей и экономичной альтернативой неразумно
дорогим продуктам от Cisco Systems.


2) Создаем следующую структуру каталогов:

    for_iso
    +-> 3.8
    +-> i386



Командами:


    # mkdir /tmp/for_iso; mkdir /tmp/for_iso/3.8; mkdir /tmp/for_iso/3.8/i386
    # cd /tmp/for_iso


Выкачиваем с ftp-сервера необходимые файлы. Чтобы не перегружать
основной ftp-сервер OpenBSD в Калгари, нагрузка на который весьма
значительна, лучше воспользоваться одним из зеркал.

    # wget -c ftp://ftp.de.openbsd.org/3.8/ftplist
    # wget -c ftp://ftp.de.openbsd.org/3.8/root.mail
    # wget -c ftp://ftp.de.openbsd.org/3.8/ports.tar.gz
    # wget -c ftp://ftp.de.openbsd.org/3.8/src.tar.gz
    # wget -c ftp://ftp.de.openbsd.org/3.8/sys.tar.gz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/cdrom38.fs


указанный файл
можно использовать только для платформ i386 или AMD64, для других
платформ надо использовать cd38.iso

Переходим в директорию 3.8/i386

    # cd 3.8/i386
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/INSTALL.i386
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/INSTALL.linux
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/base38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/bsd
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/bsd.mp
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/bsd.rd
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/cd38.iso
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/comp38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/cdboot
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/cdbr
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/etc38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/floppy38.fs
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/floppyB38.fs
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/floppyC38.fs
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/game38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/man38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/misc38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/pxeboot
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/xbase38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/xetc38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/xfont38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/xserv38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/xshare38.tgz
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/CKSUM
    # wget -c ftp://ftp.de.openbsd.org/3.8/i386/MD5


копируем подготовленный нами файл

    # cp /tmp/site38.tgz .


считаем контрольные суммы и вносим согласно подсчитанных сумм изменения
в файлы CKSUM и MD5

    # cksum site38.tgz >> CKSUM
    # md5 site38.tgz >> MD5


Изготавливаем образ

    # cd /tmp; mkisofs -vrTJV OpenBSD38 -b /tmp/for_iso/cdrom38.fs -c boot.catalog -o /tmp/OpenBSD38.iso for_iso


Записываем

    # cdrecord -v dev=/dev/rcd0c /tmp/OpenBSD38.iso


В процессе установки системы в списке пакетов для установки появится
site38.tgz , который надо будет пометить для установки.


PS. Все выше изложенное гораздо лучше делается :) при прослушивании
"гимна" OpenBSD 3.9
ftp://ftp.openbsd.org/pub/OpenBSD/songs/song39.mp3
, который как
всегда подготовила группа музыкантов из Калгари во главе с замечательным
дизайнером и музыкантом Ty Semaka. Tyron James Thomas Bowney Semaka
http://www.tysemaka.com/ также
автор всего дизайна и музыки OpenBSD .


http://www.opennet.ru/base/sys/make_cd_openbsd.txt.html

0

Коментарі