Kernel/build packages: различия между версиями
Vt (обсуждение | вклад) (Новая страница: «= Самостоятельная сборка ядра с помощью средства пакетирования (hasher) на примере std-def = Все пакеты в Альт собираются с помощью инструмента hasher и ядро не исключение. Для того, чтоб воспроизвести сборку пакета ядра вам понадобится около 24 гигабайт ди...») |
Vt (обсуждение | вклад) Нет описания правки |
||
Строка 4: | Строка 4: | ||
== Настраиваем использование hasher == | == Настраиваем использование hasher == | ||
=== Настройка системы === | |||
Под '''root''' ставим необходимые пакеты и настраиваем hasher: | Под '''root''' ставим необходимые пакеты и настраиваем hasher: | ||
Строка 22: | Строка 23: | ||
allow_ttydev=yes | allow_ttydev=yes | ||
По умолчанию hasher использует системные APT репозитории, но все это настраивается ( | Запускаем необходимый сервис: | ||
root# '''systemctl''' enable --now hasher-privd | |||
=== Настройка пользователя === | |||
По умолчанию hasher использует системные APT репозитории, но все это настраивается (через <code>~/.hasher/config</code> документация в <code>man hsh</code>). | |||
Под пользователем создаем рабочий и конфигурационный каталоги: | |||
$ mkdir -p ~/hasher ~/.hasher | |||
Дополнительно можно сконфигурировать hasher для сборки из Сизифа под x86_64, примеры содержимого конфигурационных файлов | |||
==== Файл ~/.hasher/config ==== | |||
known_mountpoints=/proc,/dev/pts,/dev/kvm | |||
lazy_cleanup=yes | |||
apt_config=~/.hasher/apt.conf | |||
<code>/proc</code> и <code>/dev/kvm</code> пригодятся для тестирования. <code>lazy_cleanup=yes</code> для того чтоб сборочная среда не была очищена после сборки. | |||
==== Файл ~/.hasher/apt.conf ==== | |||
Dir::Etc::main "/dev/null"; | |||
Dir::Etc::parts "/var/empty"; | |||
Dir::Etc::SourceParts "/var/empty"; | |||
Dir::Etc::SourceList "/home/devel/.hasher/sources.list"; | |||
Обратите внимание, что тут указан полный путь к вашему пользователю ''devel'' в параметре <code>SourceList</code>. | |||
==== Файл ~/.hasher/sources.list ==== | |||
rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux Sisyphus/x86_64 classic | |||
rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux Sisyphus/noarch classic | |||
Соответственно, для сборки под p10, вы можете заменить тут <code>Sisyphus</code> на <code>p10/branch</code>, в этом случае <code>[alt]</code> надо заменить на <code>[p10]</code>. Для сборки под другую архитектуру заменяйте <code>x86_64</code>, скажем, на <code>i586</code>. | |||
Для того чтоб убедиться, что hasher настроен и работает можно запустить <code>hsh --init</code>. | |||
== Получаем исходный код == | == Получаем исходный код == | ||
Получите | Получите и проверьте целостность исходного кода как описано в статье "[[Kernel/getting_sources|Получение исходного кода ядер Альт с помощью Git]]". | ||
== Сборка из тэга == | == Сборка из тэга == |
Версия от 10:10, 12 ноября 2022
Самостоятельная сборка ядра с помощью средства пакетирования (hasher) на примере std-def
Все пакеты в Альт собираются с помощью инструмента hasher и ядро не исключение. Для того, чтоб воспроизвести сборку пакета ядра вам понадобится около 24 гигабайт дискового пространства. Сборка не будет на 100% совпадать с оригинальным пакетом так как у вас будет различаться сборочная среда — версии утилит с помощью которых осуществлялась сборка.
Настраиваем использование hasher
Настройка системы
Под root ставим необходимые пакеты и настраиваем hasher:
root# apt-get update root# apt-get install -y hasher
Для вашего пользователя добавляем пользователей-сателлитов. Допустим, у вас рабочий пользователь devel, тогда команды следующие:
root# hasher-useradd devel Adding user devel to group devel_a Adding user devel to group devel_b Adding user devel to group hashman
Не обязательный шаг, но полезный для тестирования — добавляем в /etc/hasher-priv/system
строки:
allowed_mountpoints=/proc,/dev/pts,/dev/shm,/sys allowed_devices=/dev/kvm allow_ttydev=yes
Запускаем необходимый сервис:
root# systemctl enable --now hasher-privd
Настройка пользователя
По умолчанию hasher использует системные APT репозитории, но все это настраивается (через ~/.hasher/config
документация в man hsh
).
Под пользователем создаем рабочий и конфигурационный каталоги:
$ mkdir -p ~/hasher ~/.hasher
Дополнительно можно сконфигурировать hasher для сборки из Сизифа под x86_64, примеры содержимого конфигурационных файлов
Файл ~/.hasher/config
known_mountpoints=/proc,/dev/pts,/dev/kvm lazy_cleanup=yes apt_config=~/.hasher/apt.conf
/proc
и /dev/kvm
пригодятся для тестирования. lazy_cleanup=yes
для того чтоб сборочная среда не была очищена после сборки.
Файл ~/.hasher/apt.conf
Dir::Etc::main "/dev/null"; Dir::Etc::parts "/var/empty"; Dir::Etc::SourceParts "/var/empty"; Dir::Etc::SourceList "/home/devel/.hasher/sources.list";
Обратите внимание, что тут указан полный путь к вашему пользователю devel в параметре SourceList
.
Файл ~/.hasher/sources.list
rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux Sisyphus/x86_64 classic rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux Sisyphus/noarch classic
Соответственно, для сборки под p10, вы можете заменить тут Sisyphus
на p10/branch
, в этом случае [alt]
надо заменить на [p10]
. Для сборки под другую архитектуру заменяйте x86_64
, скажем, на i586
.
Для того чтоб убедиться, что hasher настроен и работает можно запустить hsh --init
.
Получаем исходный код
Получите и проверьте целостность исходного кода как описано в статье "Получение исходного кода ядер Альт с помощью Git".