::: {#ht-loader} This content cannot be displayed without JavaScript.
Please enable JavaScript and reload the page. :::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: {#ht-wrap-container} :::: {#ht-sidebar-dragbar} ::: ht-sidebar-drag-handle []{.drag-handle-1} []{.drag-handle-2} []{.drag-handle-3} ::: ::::
:::: ht-content-header ::: {#ht-breadcrumb}
- Альтэл :::
mkimage-profile под qemu-aarch64, MCom-03 (СКИФ) ALT Linux
::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: {#main-content .wiki-content .sp-grid-section index-for-search=”true”} \
:::::::::::::::::::::::::: {.confbox .programlisting style=”counter-reset: scroll-code-numbering 1”} ::: title Первое вхождение в chroot окружение. Руководство по настройке. :::
:::::::::::::::::::::::: {.fadetogrey .syntaxhighlighter .scroll-html-formatted-code xmlns=”http://www.w3.org/1999/xhtml” data-title=”Первое вхождение в chroot окружение. Руководство по настройке.” linenumbers=”false” firstline=”1”} ::: line # При вхождении в chroot окружение у Вас права администратора (root) {.plain} :::
::: line :::
::: line # Deafault репозиторий - /etc/apt/sources.list.d/local.list{.plain} :::
::: line :::
::: line # Обновление пакетов{.plain} :::
::: line apt-get update{.plain} :::
::: line :::
::: line # Установка пакетов необходимых для mkimage-profile{.plain} :::
::: line apt-get install -y mkimage{.plain} :::
::: line apt-get install -y mkimage-preinstall{.plain} :::
::: line apt-get install -y hasher{.plain} :::
::: line apt-get install -y git-core{.plain} :::
::: line :::
::: line # Добавьте уже существующего пользователя elvees{.plain} :::
::: line hasher-useradd elvees{.plain} :::
::: line :::
::: line # Добавить строку: allowed_mountpoints=/proc{.plain} :::
::: line echo {.plain}"allowed_mountpoints=/proc"{.string} | tee -a /etc/hasher-priv/system{.plain} :::
::: line :::
::: line # Переход в elvees account (пароль- elvees, root пароль - elvees){.plain} :::
::: line su - elvees{.plain} ::: :::::::::::::::::::::::: ::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::: {.confbox .programlisting style=”counter-reset: scroll-code-numbering 1”} ::: title ... продолжение. Настройка mkimage-profiles под пользователем elvees :::
::::::::::::::::::::::::::::::::::::::: {.fadetogrey .syntaxhighlighter .scroll-html-formatted-code xmlns=”http://www.w3.org/1999/xhtml” data-title=”… продолжение. Настройка mkimage-profiles под пользователем elvees” linenumbers=”false” firstline=”1”} ::: line # создание рабочих директорий{.plain} :::
::: line mkdir -p ~/out ~/tmp ~/hasher ~/build ~/wrk{.plain} :::
::: line :::
::: line export TMPDIR=~/tmp{.plain} :::
::: line echo {.plain}"export TMPDIR=~/tmp"{.string} | tee -a ~/.bashrc{.plain} :::
::: line :::
::: line export BUILDDIR=~/build{.plain} :::
::: line echo {.plain}"export BUILDDIR=~/build"{.string} | tee -a ~/.bashrc{.plain} :::
::: line :::
::: line export DEBUG={.plain}2{.value} :::
::: line echo {.plain}"export DEBUG=2"{.string} | tee -a ~/.bashrc{.plain} :::
::: line :::
::: line cd wrk{.plain} :::
::: line :::
::: line # клонирование локального репозитория mkimage-profiles{.plain} :::
::: line git clone https:{.plain}//git.elvees.com/altel-basic/mkimage-profiles{.comments} :::
::: line :::
::: line cd mkimage-profiles{.plain} :::
::: line :::
::: line # лист целевых сборок{.plain} :::
::: line make help/distro{.plain} :::
::: line :::
::: line # тестовая сборка{.plain} :::
::: line make grub.iso{.plain} :::
::: line :::
::: line # боевая сборка{.plain} :::
::: line make regular-jeos-systemd.iso{.plain} :::
::: line ** goal: regular-jeos-systemd.iso{.plain} :::
::: line ** BRANCH/ARCH: p10/aarch64{.plain} :::
::: line 20{.value}:{.plain}59{.value}:{.plain}30{.value} cleaning up{.plain} :::
::: line 20{.value}:{.plain}59{.value}:{.plain}45{.value} initializing BUILDDIR: build/{.plain} :::
::: line 20{.value}:{.plain}59{.value}:{.plain}47{.value} preparing distro config: build/distcfg.mk{.plain} :::
::: line 21{.value}:{.plain}02{.value}:{.plain}49{.value} starting image build: tail -f build/build.log{.plain} :::
::: line 21{.value}:{.plain}52{.value}:{.plain}46{.value} done ({.plain}49{.value}:{.plain}57{.value}){.plain} :::
::: line ** image: ~/out/alt-p10-jeos-systemd-{.plain}20250723{.value}-aarch64.iso [{.plain}1{.value}.2G]{.plain} :::
::: line # Победа!{.plain} ::: ::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::
::::::::::::::: {.confbox .programlisting style=”counter-reset: scroll-code-numbering 1”} ::: title Пример повторного входа в систему и сборки произвольного дистрибутива :::
::::::::::::: {.fadetogrey .syntaxhighlighter .scroll-html-formatted-code xmlns=”http://www.w3.org/1999/xhtml” data-title=”Пример повторного входа в систему и сборки произвольного дистрибутива” linenumbers=”false” firstline=”1”} ::: line ssh user{.plain}@10{.color1}.113.{.plain}10.114{.value} :::
::: line Password:{.plain} :::
::: line [user{.plain}@emgfmt7tp4lue{.color1} ~]$ su{.plain} :::
::: line Password:{.plain} :::
::: line [root{.plain}@emgfmt7tp4lue{.color1} ~]# altch{.plain} :::
::: line (chroot)root:/${.plain} :::
::: line (chroot)root:/$su - elvees{.plain} :::
::: line [elvees{.plain}@emgfmt7tp4lue{.color1} ~]$cd wrk/mkimage-profiles/{.plain} :::
::: line [elvees{.plain}@emgfmt7tp4lue{.color1} mkimage-profiles]$make help/distro{.plain} :::
::: line [elvees{.plain}@emgfmt7tp4lue{.color1} mkimage-profiles]$make regular-mate.iso{.plain} ::: ::::::::::::: :::::::::::::::
В дальнейшем можно улучшать и расширять chroot окружение, как обычную операционную систему:
добавить другие репозитории - http://dist.elvees.com/mcom03/altlinux/2025.05/sources.list.d/elvees.list{.external-link} (done)
изучить СКИФ ALT Linux - https://dist.elvees.com/mcom03/altlinux/2025.05/doc/{.external-link}
Benchmarks:
Нативная сборка: OS altlinux p10, x86_64. alt-p10-jeos-systemd-latest-x86_64.tar - ~7min
QEMUшная сборка: СКИФ ALT Linux, qemu-aarch64, alt-p10-jeos-systemd-20250723-aarch64.iso - 50 min
Приложение:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Сборка qemu aarch64 из исходников под ALT Linux.{.ht-post-nav-prev}
Решение проблемы с gpg подписью base/release{.ht-post-nav-next}
{#ht-jump-top .sp-aui-icon-small .sp-aui-iconfont-arrows-up} ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
