Mkimage/Desktop: различия между версиями

Материал из ALT Linux Wiki
м (moved to Mkimage/debug)
Строка 55: Строка 55:


== Проблемы ==
== Проблемы ==
=== altlinux-release-* ===
С одной стороны, <tt>altlinux-release</tt> стал виртуальным пакетом.
С другой — сейчас его требует <tt>basesystem</tt>.
Результат таков, что сперва в базовую систему устанавливается какой-либо из кандидатов (сейчас это обычно <tt>altlinux-release-terminal</tt> по лексикографическому старшинству), а потом apt не может его заменить уже явно указанным.
Объезд: прибить в конфигурации гвоздиком нужный вариант.
[http://lists.altlinux.org/pipermail/devel/2008-May/074887.html Более системные варианты] объездов и решений в данный момент [http://lists.altlinux.org/pipermail/devel/2008-May/074555.html обсуждаются в devel@].
<pre>> WARNING: The following essential packages will be removed
> This should NOT be done unless you know exactly what you are doing!
>  altlinux-release-terminal (due to basesystem)
http://lists.altlinux.org/pipermail/devel/2007-December/067565.html
http://lists.altlinux.org/pipermail/devel/2007-December/067569.html</pre>
''boyarsh@ в devel@''
краткая суть объезда:
свой <tt>apt.conf</tt>:
<pre>Dir::Etc::SourceList    /home/boyarsh/branch+boyarsh.list;
RPM::Ignore { "vim-plugin-vimruby"; };
Dir::Etc::pkgpriorities "/tmp/.private/boyarsh/mkimage-profiles-desktop/pkgpriorities";</pre>
<tt>pkgpriorities</tt>:
<pre>Important:
  basesystem
  altlinux-release-desktop
Required:
  apt
  Standard:
  kernel-doc
  libpam0
  libpam0-devel
  maxima-bin-gcl
  postfix
  python-dev
  python-modules-tkinter</pre>


=== Нет графики при загрузке образа, первая стадия задаёт вопросы ===
=== Нет графики при загрузке образа, первая стадия задаёт вопросы ===
Строка 95: Строка 62:
MKI_OUTNAME=rescue.iso \
MKI_OUTNAME=rescue.iso \
             make -C profiles</pre>
             make -C profiles</pre>
=== Старые грабли ===
Вынесены [[Mkimage/Desktop/OldTroubles|отдельной страницей]].  Могут понадобиться при сборке образов на базе бранчей 4.0/4.1 из профилей соответствующих веток/времён.


== Ссылки ==
== Ссылки ==

Версия от 14:24, 23 сентября 2009

Сборка дистрибутивов с помощью mkimage-profiles-desktop

42px-Wikitext-ru.svg.png
Эту статью следует викифицировать.


Предполагается использование бранчей 4.0, 4.1, 5.0 либо текущего Sisyphus.

Может понадобиться организовать отдельный apt.conf, хотя проблема с altlinux-release и хак с pkgpriorities неактуальны при использовании IMAGE_INIT_LIST из mkimage-0.0.8 в свежих снапшотах профиля (исправлено в конце июля 2008).

Далее (поправьте boyarsh на используемый логин! проверьте глазами получившееся):

mkdir -p ~/git
cd ~/git
git clone git://git.altlinux.org/people/boyarsh/packages/mkimage-profiles-desktop
mkdir -p ~/mkimage
cp -a mkimage-profiles-desktop ~/mkimage
cd ~/mkimage/mkimage-profiles-desktop
autoconf
./configure --with-aptconf=/home/boyarsh/apt/apt.conf.M40+boyarsh
make rescue.cd


x86_64

В mkimage-profiles-desktop по умолчанию даже при сборке на архитектуре x86_64 выставляется i586[1]; посему для сборки 64-битного варианта требуется передать configure-скрипту ключик --with-arch=x86_64, а также убедиться, что в sources.list, упомянутом в --with-aptconf=/где/тут/apt.conf (по умолчанию /etc/apt/apt.conf и соответственно /etc/apt/sources.list) — упомянуты репозитории x86_64 и noarch.

./configure --with-aptconf=/etc/apt/apt.conf.M41 --with-arch=x86_64
make rescue.cd

ALTSP5

Если есть желание или необходимость сделать модификацию ALT Linux 4.0 Terminal — начинать стоит с:

apt-get install etersoft-build-utils
$EDITOR /etc/apt/sources.list.M40
git clone git://git.altlinux.org/people/mike/packages/mkimage-profiles-desktop
cd mkimage-profiles-desktop
git fetch git://git.altlinux.org/people/mike/packages/mkimage-profiles-desktop terminal-4.0.0:terminal-4.0.0
git checkout terminal-4.0.0
autoconf
./configure --with-aptconf=/etc/apt/apt.conf.M40 --with-distro=terminal --with-version=4.0 \
--with-design=terminal --with-license=terminal --with-release=terminal --with-language=ru_RU \
--with-kernel=std-smp
nice time make ltsp-kde.cd

NB: для ветки 4.1 сборка не проверялась, известна пара не очень существенных проблем; для ветки 5.0 по состоянию на конец зимы 2008/2009 работы потихоньку начаты.

Модификация

Изучение существующих примеров удобней начинать с корневого Makefile.in и далее по profiles/*/Makefile.in и profiles/packages-lists/*. Стоит обратить внимание, что IMAGE_PACKAGES в профильном мэйкфайле может содержать как включаемые файлы-списки, так и имена пакетов (если как файлы они не будут найдены).

Хуки и скрипты

Q: чем различаются install2/{image-scripts.d, scripts.d}/?

A: image-scripts выполняются в chroot собранной стадии. scripts — в инструментальном chroot-е после установки пакетов и до архивации результата, что позволяет копировать файлы из/в chroot

Проблемы

Нет графики при загрузке образа, первая стадия задаёт вопросы

Если не поднялся gfxboot и propagator выпал из автоматического режима — наверняка переменные INFO_THEME и DESKTOP_FLAVOUR (по состоянию на сегодня) не долетели до profiles/Makefile; попробуйте прибить руками и посмотреть, не в этом ли дело:

INFO_THEME='desktop' \
DESKTOP_FLAVOUR='personal' \
MKI_OUTNAME=rescue.iso \
            make -C profiles

Старые грабли

Вынесены отдельной страницей. Могут понадобиться при сборке образов на базе бранчей 4.0/4.1 из профилей соответствующих веток/времён.

Ссылки

  1. в конце концов, десктоп сейчас обычно 32-битный, а вот сборочный сервер — 64-битный… хотя после ветки 4.1 и официального выпуска 64-битного десктопа это соображение может быть и пересмотрено