URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 5422
[ Назад ]

Исходное сообщение
"Тематический каталог: Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)"

Отправлено auto_topic , 09-Апр-05 14:51 
Обсуждение статьи тематического каталога: Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)

Ссылка на текст статьи: https://www.opennet.ru/base/sys/freebsd_make_release.txt.html


Содержание

Сообщения в этом обсуждении
"Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)"
Отправлено Vladimir , 09-Апр-05 14:51 
>  Итак,  для минимального дистрибутива нужны пакеты perl и xorg, создаём
>   их и копируем на <<будущий>> диск:
>
>        # mkdir /usr/home/release/usr/ports/packages
>        # cp mkindex.pl /usr/ports/packages
>        # chroot /usr/home/release

Или "# cp mkindex.pl /usr/home/release/usr/ports/packages" ?


"Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)"
Отправлено butcher , 10-Апр-05 11:35 
Да, там должно быть:
# cp mkindex.pl ${CHROOTDIR}/usr/ports/packages/

"Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)"
Отправлено Burmuley , 11-Апр-05 09:55 
Очень странно. У меня disc1 получился 840 Мб.
Это без всяких дополнительных пакетов :-/

"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено butcher , 11-Апр-05 13:08 
disc1 обычно весит чуть больше 200 МБ. Покажи вывод:
# cd ${CHROOTDIR}/R/cdrom/disc1 && du -chs *

"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено Burmuley , 14-Апр-05 09:13 
Разобраля что и почему...
поле сборки системы в ${CHROOTDIR} и при сборке уже R/cdrom/disk1, disk2 etc. он помещает в диски еще и каталоги ${CHROOTDIR}/bin, ${CHROOTDIR}/sbin, ${CHROOTDIR}/usr (все кроме ports и src). Интересно зачем? Еще так что-то и не собирается дисрибьюция crypto.

ЗЫ: немного не совсем в тему. Пытался сделать себе локальный репозитарий cvs (пользовал cvs-supfile из examples). указал src-all, port-all, cvs-all. в папочку /usr/home/ncvs сожил src, ports, в итоге: он обновил только src и удалил все порты :-/ больше ничего не сделал. Сказал что finished succeful. Это как понимать?


"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено butcher , 15-Апр-05 10:01 
Странно это всё, не должен копировать.
Должно быть cvsroot-all вместо cvs-all
После синхронизации в ncvs должны быть такие каталоги:
CVS
CVSROOT
CVSROOT-doc
CVSROOT-ports
CVSROOT-projects
CVSROOT-src
doc
ports
src

Попробуйте cvsup-файл из статьи..


"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено Burmuley , 18-Апр-05 17:32 
А заем на miniinst Xfree(Xorg)? Глянул miniinst от 5.2.1 и 5.3...там только perl  пакетах.

"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено butcher , 19-Апр-05 08:59 
>А заем на miniinst Xfree(Xorg)? Глянул miniinst от 5.2.1 и 5.3...там только
>perl  пакетах.

Если честно, я никогда не смотрел miniinst диски от производителя ;)
Видел просто, что они маленькие.. по размеру примерно подходили..


"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено zyxman , 18-Авг-06 04:30 
ээххх уважаемый автор..
боюсь, не прочитаете, а надо бы. да еще клюнуть в темечко, чтоб думал прежде чем писать!

Во первых, зачем качать все порты?
я не качаю ports-all, а сделал список потребных веток, исключив например ports-arabic обязательно должно быть ports-base (в примере я указал для краткости ports-all).

дело в том что для cvs очень важен tag.
я не знаю наверняка все его значения для всего, но я лично использую примерно такое:

*default release=cvs tag=RELENG_5
src-all
# однако!!!
doc-all tag=.
ports-all tag=.
cvsroot-all tag=.

RELENG_5 означает что я тяну 5-stable - как мне кажется, оптимальная ветка - достаточно матерая (надежно) и не старая, что понижает шансы найти несобираемые пакеты или серьезные дырки в секюрити.
если для ports-all или doc-all указать tag=RELENG_5, оно удалит почти все папки!
или их не создаст..

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


"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено necotyan , 18-Авг-06 08:59 
А *default prefix у Вас наверняка указывает совсем не туда же где живые порты да?

"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено butcher , 19-Апр-05 08:58 
>поле сборки системы в ${CHROOTDIR} и при сборке уже R/cdrom/disk1, disk2 etc.
>он помещает в диски еще и каталоги ${CHROOTDIR}/bin, ${CHROOTDIR}/sbin, ${CHROOTDIR}/usr (все
>кроме ports и src). Интересно зачем?

Начал собирать 5.4-STABLE, тоже так получилось. Посмотрел изменения между в Makefile между 5.3 и 5.4.. Появилась опция SEPARATE_LIVEFS, из-за неуказания которой всё копируется в disc1.
Будет время набросаю ещё дополнение к статье с учётом нововведений + ещё напишу как собирать релиз без доступа к репозитарию во время сборки.


"Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)"
Отправлено Pleshner , 20-Апр-05 09:53 
На самом деле для создания релиза не нужен CVSup-ится для создания CVS-репозитария (если проявить минимум сообразительности). Вывод: из всех возможных способов вы рассказали о самом сложном для новичков способе - следовательно статья методически неверна.

"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено Vladimir , 20-Апр-05 10:25 
> Вывод: из всех возможных способов вы рассказали
>о самом сложном для новичков способе - следовательно статья методически неверна.
>

Статья _методически_ верна. И описывает верную последовательность создания релиза. А то, что Вы ухитряетесь сделать релиз минуя описаные шаги говорит о Вашем умении. Напишите статью верную по Вашему мнению и новички ее опробуют. Далее будет видно какая из статей более верна. А мерить будем по количеству заданных вопросов новичками.

Мне вот тоже интересно как сделать _только_ загрузочную версию СД-РОМа. А то приходится собирать все 3 ИЗО диска.


"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено butcher , 21-Апр-05 16:49 
>Мне вот тоже интересно как сделать _только_ загрузочную версию СД-РОМа. А то
>приходится собирать все 3 ИЗО диска.

Ответ на ваш вопрос лежит в файле src/release/Makefile
Cоздание ISO не самая долгая процедура, какую версию системы вы собираете и  какой именно диск вам нужен?


"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено Vladimir , 21-Апр-05 17:09 
Мне необходим один только bootonly диск. То есть там есть лоадер и кернел. Более там ничего нет. Для собирания онного диска я делаю следующие телодвижения: удаляю из usr/obj/usr/src/release release.3, cdrom.1 cdrom.3 iso.1, затем запускаю компиляцию каждого в той же последовательности.



"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено butcher , 21-Апр-05 16:45 
>На самом деле для создания релиза не нужен CVSup-ится для создания CVS-репозитария
>(если проявить минимум сообразительности).
>Вывод: из всех возможных способов вы рассказали
>о самом сложном для новичков способе - следовательно статья методически неверна.

На мой взгляд, этот способ прощё, чем заниматься хаканьем скриптов, тем более для новичков, и более правилен с точки зрения рекомендаций, даваемых разработчиками ОС. А на счёт верности методики, не мне судить, я не педагог, но ИМХО, из статьи можно получить представление как это всё работает.

На счёт репозитария, я лично нисколько не жалею что он у меня есть, в любое время я могу получить из него любую интересующую информацию по состоянию системы, чем и довольно часто пользуюсь.


"Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)"
Отправлено Pleshner , 17-Авг-05 16:33 
Оопс, просмотрел дисскусию...

Итак, способов создания ISO без CVS rep - много, от самого простого (для него даже моей квалификации непрограммиста хватило): позаменял в release/Makefile все cvs на cp. Отключил копирование doc и ports. Для быстроты выполнения make release поубирал строки удаления ранее
созданного дерева релиза. Hу и для создания исошника пришлось установить из портов cdtools. Всё. Никаких нафиг CVS rep. Есть способы ещё более быстрые, но рискованнее и чуть сложнее: не надо ни cvs репозитория, ни пропатчивания release/Makefile с заменой вызовов cvs на cp или mount_null. Это - совершенно штатный способ, только опущена подготовка chroot с копией world и src/ports, ибо это у нас и так есть, только не в chroot. Изрядно быстрее ;-)

Файлик этот создает make release в конце подготовки chroot и в нем же запускает. Но можно и просто запустить, вредных последствий не будет - проверено НЕОДНОКРАТНО ;-)

Вот пример хака:
=== Cut ===
#!/bin/sh
set -ex
_RELTARGET=${1:-doRELEASE}
export DISTRIBUTIONS="bin catpages manpages games proflibs dict info doc
compat1x compat20 compat21 compat22 compat3x compat4x crypto krb4 krb5"
export BUILDNAME=4.7-20021122-STABLE
export VNDEVICE=vn0
export OBJFORMAT=elf
export MODULES_WITH_WORLD=YES
export RELEASETAG="RELENG_4"
export NODOC=yes
export ALLLANG=yes
export AUTO_KEYBOARD_DETECT="0"
export RELNOTES_LANG=en_US.ISO8859-1
export TARGET="i386"
export TARGET_ARCH="i386"
export FIXCRYPTO="bin/ed usr.sbin/ppp usr.sbin/pppd usr.sbin/tcpdump/tcpdump \
usr.sbin/sendmail"
export RELEASEDIR=/R
export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
export MANBUILDCAT=YES
if [ ! -f /tmp/.world_done ]; then
    cd /usr/src
    make TARGET_ARCH=i386 TARGET=i386  -DNOCLEAN buildworld && \
    touch /tmp/.world_done
fi
cd /usr/src/release
make obj
make ${_RELTARGET}
echo ">>> make release for i386 finished on `LC_ALL=C TZ=GMT date`"
=== Cut ===

Если вы поймёте как это работает, то сможете не только не заниматься выкачиванием мегов ненужного CVS rep, но и ускорить сборку ISO в 2-3 раза.


"Создание релиза FreeBSD (freebsd install make_world cvsup up..."
Отправлено butcher , 18-Авг-05 08:38 
>cdtools. Всё. Никаких нафиг CVS rep. Есть способы ещё более быстрые,
>но рискованнее и чуть сложнее: не надо ни cvs репозитория, ни
>пропатчивания release/Makefile с заменой вызовов cvs на cp или mount_null.

Если человек в состоянии разбираться с Makefile'ами системы, то читать эту статью, в принципе, не обязательно.
А по поводу способов - да, их много, это как обычно - в юнихах всегда есть много способов, чтобы сделать что-то.


"Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)"
Отправлено anonymous , 02-Дек-05 20:25 
неплохая статья, я бы добавил, что в 5-, 6-, 7- ветках можно штатно собирать без репозитория из имеющихся сырцов, указав EXTSRCDIR=/usr/src. ранее приходилось ручками в Makefile править "cvs -R bla-bla" на "cp -R /usr/src bla-bla"

"Создание релиза FreeBSD (freebsd install make_world cvsup upgrade)"
Отправлено Невменяемый , 31-Июл-11 21:13 
Доброго времени суток.
Подскажите пожалуйста, есть ли возможность собрать систему в iso'шник из-под Win32-платформы?
Хотел сначала из-под OracleVM, но возможности перенести какие либо файлы на основную машину не нашел, вот и задался этим вопросом.
Буду очень благодарен за подсказку.