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

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 9 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{h0|Сборка дистрибутивов с помощью mkimage-profiles-desktop}}
{{h0|Сборка дистрибутивов с помощью mkimage-profiles-desktop}}
{{викифицировать}}
{{викифицировать}}
{{Устарело}}


Предполагается использование бранчей [ftp://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/branch 4.0], [ftp://ftp.altlinux.org/pub/distributions/ALTLinux/4.1/branch 4.1], [ftp://ftp.altlinux.org/pub/distributions/ALTLinux/5.0/branch 5.0] либо текущего Sisyphus.
'''[[Mkimage/Profiles/Desktop|Текущая версия]] (актуальна для 5.1/branch+)'''
 
== устаревший вариант ==
 
Предполагается использование бранчей [ftp://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/branch 4.0], [ftp://ftp.altlinux.org/pub/distributions/ALTLinux/4.1/branch 4.1]. При сборке на старых бранчах могут потребоваться модификации или откат профиля до соответствующего периода. Над этим потихоньку работаем.


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


Далее (поправьте <tt>boyarsh</tt> на используемый логин! проверьте глазами получившееся):
Далее (поправьте <tt>/home/boyarsh</tt> на используемый путь! проверьте глазами получившееся):
<source lang="bash">
<source lang="bash">
mkdir -p ~/git
mkdir -p ~/git
Строка 44: Строка 49:
</source>
</source>


NB: для ветки 4.1 сборка не проверялась, известна пара не очень существенных проблем; для ветки 5.0 по состоянию на конец зимы 2008/2009 работы потихоньку начаты.
NB: для ветки 4.1 сборка не проверялась, известна пара не очень существенных проблем; на ветке 5.0 по состоянию на лето 2009 выпущены альфа-бета, известна пара регрессий, но уже можно собираться (ветка master у mike@ или boyarsh@).


== Модификация ==
== Модификация ==
Изучение существующих примеров удобней начинать с корневого <tt>[[Makefile.in|Makefile.in]]</tt> и далее по <tt>profiles/*/[[Makefile.in|Makefile.in]]</tt> и <tt>profiles/packages-lists/*</tt>. Стоит обратить внимание, что <tt>IMAGE_PACKAGES</tt> в профильном мэйкфайле может содержать как включаемые файлы-списки, так и имена пакетов (если как файлы они не будут найдены).
Загляните в [http://git.altlinux.org/people/boyarsh/packages/?p=mkimage-profiles-desktop.git;a=blob;f=README;hb=HEAD README].
 
Изучение существующих примеров удобней начинать с корневого <tt>Makefile.in</tt> и далее по <tt>profiles/*/Makefile.in</tt> и <tt>profiles/packages-lists/*</tt>. Стоит обратить внимание, что <tt>IMAGE_PACKAGES</tt> в профильном мэйкфайле может содержать как включаемые файлы-списки, так и имена пакетов (если как файлы они не будут найдены).


=== Хуки и скрипты ===
=== Хуки и скрипты ===
Строка 56: Строка 63:
== Проблемы ==
== Проблемы ==


=== Нет графики при загрузке образа, первая стадия задаёт вопросы ===
=== Использование своего apt.conf ===
Если не поднялся gfxboot и propagator выпал из автоматического режима — наверняка переменные <tt>INFO_THEME</tt> и <tt>DESKTOP_FLAVOUR</tt> (по состоянию на сегодня) не долетели до <tt>profiles/Makefile</tt>; попробуйте прибить руками и посмотреть, не в этом ли дело:
При использовании своего apt.conf была замечена такая проблема - при сборке дистрибутива apt проверял репозиторий, указанный в своем apt.conf, а затем обновлял списки пакетов из текущего системного репозитория. Чтобы заставить apt проверять только свой репозиторий и не смотреть в сторону /etc/apt/apt.conf необходимо в свой apt.conf добавить следующее
<pre>INFO_THEME='desktop' \
<pre>
DESKTOP_FLAVOUR='personal' \
Dir::Etc::SourceParts "/var/empty";
MKI_OUTNAME=rescue.iso \
</pre>
            make -C profiles</pre>


=== Старые грабли ===
=== Старые грабли ===
Вынесены [[Mkimage/Desktop/OldTroubles|отдельной страницей]].  Могут понадобиться при сборке образов на базе бранчей 4.0/4.1 из профилей соответствующих веток/времён.
Вынесены [[Mkimage/Desktop/OldTroubles|отдельной страницей]].  Могут понадобиться при сборке образов на базе бранчей 4.0/4.1 из профилей соответствующих веток/времён.
=== Сообщения об ошибке в части установки firmware для wi-fi адаптеров ===
при сборке под конец возможны такие сообщения
<pre>
mkmodpack: warning: Firmware file "tehuti/firmware.bin" for module "tehuti" not found
mkmodpack: warning: Firmware file "i2400m-fw-sdio-1.3.sbcf" for module "i2400m-sdio" not found
mkmodpack: warning: Firmware file "i2400m-fw-usb-1.3.sbcf" for module "i2400m-usb" not found
mkmodpack: warning: Firmware file "i2400m-fw-usb-1.4.sbcf" for module "i2400m-usb" not found
mkmodpack: warning: Firmware file "ar9170-2.fw" for module "ar9170usb" not found
mkmodpack: warning: Firmware file "ar9170-1.fw" for module "ar9170usb" not found
mkmodpack: warning: Firmware file "FW13" for module "b43" not found
mkmodpack: warning: Firmware file "FW10" for module "b43legacy" not found
mkmodpack: warning: Firmware file "iwlwifi-3945-2.ucode" for module "iwl3945" not found
mkmodpack: warning: Firmware file "iwlwifi-4965-2.ucode" for module "iwlagn" not found
mkmodpack: warning: Firmware file "iwlwifi-5150-2.ucode" for module "iwlagn" not found
mkmodpack: warning: Firmware file "iwlwifi-5000-2.ucode" for module "iwlagn" not found
mkmodpack: warning: Firmware file "iwlwifi-6050-2.ucode" for module "iwlagn" not found
</pre>
Это нормально. Поддержки wifi в propagator всё равно нет.


== Ссылки ==
== Ссылки ==
* [[WhiteLabel|«Белая этикетка»]] — повышение ортогональности профилей («расплетание спагетти»)
* [[WhiteLabel]] — повышение ортогональности профилей («расплетание спагетти»)
* [http://lists.altlinux.org/pipermail/devel/2008-August/077836.html Обзор планов mike@ по лету 2008]
* [http://lists.altlinux.org/pipermail/devel/2008-August/077836.html Обзор планов mike@ по лету 2008]


[[Категория:Mkimage]]
[[Категория:Mkimage]]

Текущая версия от 16:51, 21 декабря 2023

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

42px-Wikitext-ru.svg.png
Эту статью следует викифицировать.
48px-Mail-mark-junk red.svg.png
Эта статья конкретно протухла.
Статья уже не подходит под современные реалии, под современные версии Альта или сломана совсем. Возможно, её уже не доработать и не поместить в архив.


Текущая версия (актуальна для 5.1/branch+)

устаревший вариант

Предполагается использование бранчей 4.0, 4.1. При сборке на старых бранчах могут потребоваться модификации или откат профиля до соответствующего периода. Над этим потихоньку работаем.

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

Далее (поправьте /home/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 по состоянию на лето 2009 выпущены альфа-бета, известна пара регрессий, но уже можно собираться (ветка master у mike@ или boyarsh@).

Модификация

Загляните в README.

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

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

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

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

Проблемы

Использование своего apt.conf

При использовании своего apt.conf была замечена такая проблема - при сборке дистрибутива apt проверял репозиторий, указанный в своем apt.conf, а затем обновлял списки пакетов из текущего системного репозитория. Чтобы заставить apt проверять только свой репозиторий и не смотреть в сторону /etc/apt/apt.conf необходимо в свой apt.conf добавить следующее

Dir::Etc::SourceParts "/var/empty";

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

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

Сообщения об ошибке в части установки firmware для wi-fi адаптеров

при сборке под конец возможны такие сообщения

mkmodpack: warning: Firmware file "tehuti/firmware.bin" for module "tehuti" not found
mkmodpack: warning: Firmware file "i2400m-fw-sdio-1.3.sbcf" for module "i2400m-sdio" not found
mkmodpack: warning: Firmware file "i2400m-fw-usb-1.3.sbcf" for module "i2400m-usb" not found
mkmodpack: warning: Firmware file "i2400m-fw-usb-1.4.sbcf" for module "i2400m-usb" not found
mkmodpack: warning: Firmware file "ar9170-2.fw" for module "ar9170usb" not found
mkmodpack: warning: Firmware file "ar9170-1.fw" for module "ar9170usb" not found
mkmodpack: warning: Firmware file "FW13" for module "b43" not found
mkmodpack: warning: Firmware file "FW10" for module "b43legacy" not found
mkmodpack: warning: Firmware file "iwlwifi-3945-2.ucode" for module "iwl3945" not found
mkmodpack: warning: Firmware file "iwlwifi-4965-2.ucode" for module "iwlagn" not found
mkmodpack: warning: Firmware file "iwlwifi-5150-2.ucode" for module "iwlagn" not found
mkmodpack: warning: Firmware file "iwlwifi-5000-2.ucode" for module "iwlagn" not found
mkmodpack: warning: Firmware file "iwlwifi-6050-2.ucode" for module "iwlagn" not found

Это нормально. Поддержки wifi в propagator всё равно нет.

Ссылки

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