Mkimage/Desktop

Материал из ALT Linux Wiki
Перейти к: навигация, поиск

Сборка дистрибутивов с помощью 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 всё равно нет.

Ссылки[править]

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