Страница 1 из 2

Создаем свой компакт диск FreeBSD

Добавлено: 2008-08-12 12:34:02
midda2
И подумал я однажды, ну зачем мне качать 600 метровый disc1, если пакеты, засунутые в него меня не интересуют, а порты и исходники я обновляю сам.
Изыскания привели к man release и man build, но не спешите топтать грабли вслед за мной.

Предположим что вы только что обновили систему до 7.0-STABLE из исходники (очень утомительный процесс, не так ли).

В таком случае, у вас есть папки /usr/src, /usr/obj (этот требование man release, чтобы эти папки соответствовали текущей установленной системе).

Далее ман предлагает запускать локальную систему CVS, но, оказалось, что это только лишнее насилие над жестким диском.

В моем случае я создал вот такой скрипт:

Код: Выделить всё

steel# cat /mnt/update/release
#!/bin/sh

# В папку $CHROOTDIR/usr/ports нужно поместить все необходимое для сборки cdrtools, включая distfiles
# То есть после запуска процесса перейдите в другую консоль и заполните ее вручную
# Все папки чистятся автоматически, для перезапуска надо make rerelease

BUILDNAME=7.0-STABLE-20080723
RELEASETAG=RELENG_7
CVSROOT=/usr/cvs
CHROOTDIR=/usr/chroot
EXTSRCDIR=/usr/src
mount -u -o noatime /usr
mount -u -o async /usr

export CVSROOT
export CHROOTDIR
export BUILDNAME
export RELEASETAG
export EXTSRCDIR

cd /usr/src/release
make release MAKE_ISOS=Y NODOC=Y NO_FLOPPIES=Y NOPORTS=Y
mount -u -o atime /usr
mount -u -o sync /usr
steel#
Осталось добавить, что процесс займет около 4ГБ свободного времени и 12часов свободного времени Celeron 1200MHz with 512 SDRAM, результат в виде исошников можно будет найти в /usr/chroot/R.

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

PS Осталвся невыявненым вопрос как корректно подсунуть порты для сборки cdrtools, EXTPORTSDIR, EXTDISTFILESDIR почему-то не работают как ожидается.
PPS Смотрите использование переменных сборки в man release

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-08-12 12:34:57
midda2
проверка связи

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-08-12 12:41:22
hizel

Код: Выделить всё

mount -u -o noatime /usr
mount -u -o async /usr
судя по этому, наверно нужно предупредить, что не стоит резко вырубать компьютер :)

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-08-12 12:46:48
midda2
Правильно

А еще я хотел отметить, что я сперва хотел написать статью, но там написано попробовать здесь, так что, уважаемый All, а не желаете ли статью такую?

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-08-12 13:00:38
hizel
очень занятно, хорошо-бы диск сразу устанавливающий все нужное
в моем случае:
1. portupgrade с зависимостями
2. vim без привязки к X
3. net-snmp
4. ядро с поддержкой NETGRAPH IPFIREWALL DUMMYNET и без всякого usb и fireware хлама

хм тут наворатить можно много, попрыгал я по вашим следам маны листать :)

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-08-12 13:24:16
midda2
Не понял как обновить шапку, так что дополнение

Обращаю внимание на использование mount -u..., если машина несет общественно-полезную нагрузку не имея UPS и без присмотра, то лучше уберите их совсем, от греха подальше.

2hizel
Свое ядро можно поместить на такой диск, есть соответствующая настройка. Правда оно будет недоступно из sysinstall. Можно, конечно, переименовать его в GENERIC, но это тоже неправильно. Я лично привык что у меня на флешке всегда есть скрипт (громко сказано) для сборки своего ядра, а процесс его сборки - своего рода тест устойчивости системы при каждой переустановке, запустил и пойди подыши воздухом. Сообщайте нам о своих результатах в этой сфере.
По остальным Вашим вопросам есть материалы в сети, самый простой это про систему пакетов, готовые пакеты (свой набор) можно тоже иметь на таком диске - обещает man, как и любые другие файлы.

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-08-12 13:37:51
hizel
ок, дайте мне пару суток поэксперементировать, как раз четырхядерный ксеон без дела электричество жрет
может у меня тоже появятся осмысленные комментарии к вашей статье ;)

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-08-27 10:47:14
gloom
Игде? :Search: коментарии ;-)
тема интересная

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-09-09 13:10:17
Abigor
да, тема интересная, сам столкнулся с тем что есть куча одинаковых серваков (в смысле функционала) дампами не люблю пользоваться, а вот установочный диск с набором нужных софтин с актуальным состоянием. Это интересно, так что так же побежал курить маны Ж)

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-06 19:27:56
nikll
Я не стал заморачиваться с дистрибами, сделал на базе FreeSBIE лайв фрю, которая задает юзеру стандартный набор вопросов на русском языке, разбивает диск, разворачивает преднастроенную систему и настраивает ее (иксы кеды интернет и прочее).
Мне начальство ставило задачу надо было юзабельный дистрибутив линукса который бы ставился сразу настроеным и со всем необходимым софтом (включая виндовые програмки). Задача была выполнена в течении нескольких дней, если кому интересно могу забабахать статейку о своем наборе скриптов для автоматического построения всего этого хозяйства с нуля.

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-06 20:07:44
f_andrey
А попробуйте все таки почитать доки например вот, на английском вроде есть посвежее. ну и picobsd вроде можно заточить :oops:

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-07 6:16:52
midda2
Ну ладно, каюсь, частично написание статьи мотивировано тем, что хотелось создать противовес статьям, где создается какой-нибудь диск FreeBSD, в том числе при помощи паленых программ из под венды. И так мне все эти методики не понравились....

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-23 4:39:57
Dante
Из всего что здесь написано собственно трудно сказать что есть что то уж совсем полезное. Я имею ввиду что суть и возможности системы просто не расскрыты. Это и статьей назвать сложно написали мини конфиг тыкнули на манула и все. Больше похоже что вы хотели показать что это возможно а вот какой сложности будет результат решать тому кто будет делать. Тут были слова что я бы не стал что либо добавлять например в ядро и так далее, и тут же рождается вопрос а есть ли смысл тогда собирать свой дистрибутив если в результате на конечном сервере придется пересобирать мир и ядро что бы довести его до ума?! Тут же еще одна тема была на счет портов и их внедрение в сам дистрибутив, не на диск как тут написано а я имею ввиду в сами установочные файлы. Опять же ответ был типа ну можно добавить их на диск в виде пакетов и потом оттуда их уже устанавливать. И тут рождается вопрос зачем мне эти же самые пакеты на диске если я их могу так же с инета слить во время установки на сервере. Я не хочу никого обидеть но как говориться сказал А говори и Б.

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-23 9:26:14
Morty
И тут рождается вопрос зачем мне эти же самые пакеты на диске если я их могу так же с инета слить во время установки на сервере.
смысл может быть ставить свои пакеты в том случае если они собраны с определенными опциями, с тем функционалом
которого может не быть в пакете который лежит на оффе. Либо нет времени/желания собирать софт.

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-23 19:59:17
Гость
Morty писал(а):
И тут рождается вопрос зачем мне эти же самые пакеты на диске если я их могу так же с инета слить во время установки на сервере.
смысл может быть ставить свои пакеты в том случае если они собраны с определенными опциями, с тем функционалом
которого может не быть в пакете который лежит на оффе. Либо нет времени/желания собирать софт.
Тем кто не готов терпеть FreeBSD не подходит так как ее основная идея все брать с исходников и разворачивать на целевой машине именно так а не пакетами. Так все же интересно запихивал ли кто нить скомпилированые порты прямо в базувую сборку?

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-23 20:24:42
zg
Гость писал(а):FreeBSD не подходит так как ее основная идея все брать с исходников и разворачивать на целевой машине именно так а не пакетами.
основная идея фри - быть удобной. Если вам не удобно, значит вы что-то делаете не так :smile:

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

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-23 20:26:49
Гость
zg писал(а):
Гость писал(а):FreeBSD не подходит так как ее основная идея все брать с исходников и разворачивать на целевой машине именно так а не пакетами.
основная идея фри - быть удобной. Если вам не удобно, значит вы что-то делаете не так :smile:

а вообще эту тему только сегодня вспоминали. Информация действительно ценная, спасибо автору топика :smile:
а мануалах больше описано чем в данном топике... :D

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-23 20:31:55
zg
Гость писал(а):а мануалах больше описано чем в данном топике... :D
логично 8)

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-23 21:56:20
Morty
а на чисто установленной системе , релизе 7ой не получиться собрать ??
тоесть чистая система поставленная с СД
/usr/obj соотвесно пустой,
запуск "релиза" не отрабатывает ...
доходит до
>>>>>INstalling everything
и вываливаеться в /usr/src
Error code 1

ЗЫ: чего не хватает ?

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-24 4:50:50
zg
Morty писал(а):а на чисто установленной системе , релизе 7ой не получиться собрать ??
midda2 писал(а):В таком случае, у вас есть папки /usr/src, /usr/obj (этот требование man release, чтобы эти папки соответствовали текущей установленной системе).
как я понял, дабы не юзать пользовательские конфиги и точно быть уверенным, что все файлы собраны нормально и пользователь их не правил, нужно до этого собрать мир

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-24 9:49:31
Morty
жаль
придеться обновиться

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-24 9:55:46
zg
по идее, ты можешь собрать мир из любых исходников, хоть с диска хоть с нета, главное чтоб ядро было для него актуальное

Код: Выделить всё

zg# man release
RELEASE(7)         FreeBSD Miscellaneous Information Manual         RELEASE(7)

NAME
     release -- release building infrastructure

DESCRIPTION
     FreeBSD provides a complete build environment suitable for users to make
     full releases of the FreeBSD operating system.  All of the tools neces-
     sary to build a release are available from the CVS repository in
     src/release.  A complete release can actually be built with only a single
     command, including the creation of ISO images suitable for burning to CD-
     ROM, installation floppies, and an FTP install directory.  This command
     is aptly named ``make release''.

     Before attempting to build a release, the user is expected to be familiar
     with the contents of build(7), and should have experience upgrading sys-
     tems from source.  The release build process requires that /usr/obj be
     populated with the output of a native ``make buildworld'' compiled from
     sources matching the currently running kernel.  This is necessary so that
     the object files for a complete system can be installed into a clean
     chroot(8) environment.  The release procedure also requires that the
     md(4) (memory disk) device driver be present in the kernel (either by
     being compiled in or available as a module).

     This document does not cover source code management, quality assurance,
     or other aspects of the release engineering process.

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-24 10:08:44
Morty
так ведь не интересно -)))
если обновляться так уже обновляться, с релиза на стейбл например -)

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-24 10:13:47
zg
а кстати надо будет попробовать :smile:

Re: Создаем свой компакт диск FreeBSD

Добавлено: 2008-10-25 19:08:49
Morty
вот что у меня получилось

Код: Выделить всё

# ls -lah
total 994276
drwxr-xr-x   8 root  wheel   512B 25 окт 17:52 .
drwxr-xr-x   5 root  wheel   512B 25 окт 17:48 ..
-rw-r--r--   1 root  wheel    36M 25 окт 17:49 7.1-RELEASE-20081025-i386-bootonly.iso
-rw-r--r--   1 root  wheel   264M 25 окт 17:49 7.1-RELEASE-20081025-i386-disc1.iso
-rw-r--r--   1 root  wheel   364K 25 окт 17:49 7.1-RELEASE-20081025-i386-disc2.iso
-rw-r--r--   1 root  wheel   364K 25 окт 17:49 7.1-RELEASE-20081025-i386-disc3.iso
-rw-r--r--   1 root  wheel   449M 25 окт 17:51 7.1-RELEASE-20081025-i386-dvd1.iso
-rw-r--r--   1 root  wheel   465B 25 окт 17:52 7.1-RELEASE-20081025-i386-iso.CHECKSUM.MD5
-rw-r--r--   1 root  wheel   675B 25 окт 17:53 7.1-RELEASE-20081025-i386-iso.CHECKSUM.SHA256
-rw-r--r--   1 root  wheel   220M 25 окт 17:51 7.1-RELEASE-20081025-i386-livefs.iso
drwxr-xr-x   3 root  wheel   512B 25 окт 17:49 bootonly
drwxr-xr-x   4 root  wheel   512B 25 окт 17:49 disc1
drwxr-xr-x   2 root  wheel   512B 25 окт 17:49 disc2
drwxr-xr-x   2 root  wheel   512B 25 окт 17:49 disc3
drwxr-xr-x  18 root  wheel   512B 25 окт 17:49 dvd1
drwxr-xr-x  17 root  wheel   512B 25 окт 17:48 livefs