::: {#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}
- Альтэл :::
Сборка qemu aarch64 из исходников под ALT Linux.
::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: {#main-content .wiki-content .sp-grid-section index-for-search=”true”} ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: {#src-257635965_safe-id-aWQt0KHQsdC-0YDQutCwcWVtdWFhcmNoNjTQuNC30LjRgdGF0L7QtNC90LjQutC-0LLQv9C-0LRBTFRMaW51eC4tSG9zdDrQkNGA0YXQuNGC0LXQutGC0YPRgNCweDg2XzY0Lk9DQUxUTGludXgu .section .section-1}
Host: Архитектура x86_64. OC ALT Linux. {#host-архитектура-x86_64.-oc-alt-linux. .heading}
::::::::::::::::::: {.confbox .programlisting style=”counter-reset: scroll-code-numbering 1”} ::: title Alt Linux (p10) :::
::::::::::::::::: {.fadetogrey .syntaxhighlighter .scroll-html-formatted-code xmlns=”http://www.w3.org/1999/xhtml” data-title=”Alt Linux (p10) ” linenumbers=”false” firstline=”1”} ::: line cat /etc/os-release{.plain} :::
::: line :::
::: line NAME={.plain}"alt-platform-builder"{.string} :::
::: line VERSION={.plain}"10.1"{.string} :::
::: line ID=altlinux{.plain} :::
::: line VERSION_ID={.plain}10.1{.value} :::
::: line PRETTY_NAME={.plain}"alt-platform-builder 10.1 (Aronia)"{.string} :::
::: line ANSI_COLOR={.plain}"1;33"{.string} :::
::: line CPE_NAME={.plain}"cpe:/o:alt:platform-builder:10.1"{.string} :::
::: line BUILD_ID={.plain}"alt-platform-builder 10"{.string} :::
::: line ALT_BRANCH_ID={.plain}"p10"{.string} :::
::: line HOME_URL={.plain}"https://www.basealt.ru/platform"{.string} :::
::: line BUG_REPORT_URL={.plain}"https://bugs.altlinux.org/"{.string} :::
::: line LOGO=basealt{.plain} ::: ::::::::::::::::: :::::::::::::::::::
::::::::::::::::::::::::::::::: {.confbox .programlisting style=”counter-reset: scroll-code-numbering 1”} ::: title Сборка qemu-user-aarch64 :::
::::::::::::::::::::::::::::: {.fadetogrey .syntaxhighlighter .scroll-html-formatted-code xmlns=”http://www.w3.org/1999/xhtml” data-title=”Сборка qemu-user-aarch64” linenumbers=”false” firstline=”1”} ::: line echo {.plain}"Скачиваем последнюю версию qemu ..."{.string} :::
::: line wget --no-check-certificate https:{.plain}//download.qemu.org/qemu-10.0.2.tar.xz{.comments} :::
::: line tar -xJf qemu-{.plain}10.0{.value}.{.plain}2{.value}.tar.xz{.plain} :::
::: line :::
::: line INSTALL_DIR={.plain}"/usr/bin"{.string} :::
::: line TARGET={.plain}"aarch64-linux-user"{.string} {.plain} :::
::: line :::
::: line cd qemu-{.plain}10.0{.value}.{.plain}2{.value} :::
::: line mkdir build && cd build{.plain} :::
::: line :::
::: line echo {.plain}"Конфигурируем сборку..."{.string} :::
::: line ../configure --target-list={.plain}"$TARGET"{.string} --{.plain}static{.keyword} --enable-user --disable-system{.plain} :::
::: line :::
::: line # собираем{.plain} :::
::: line make -j$(nproc){.plain} :::
::: line :::
::: line # проверка, что статическая{.plain} :::
::: line ldd ./qemu-aarch64{.plain} :::
::: line ` statically linked`{.plain} :::
::: line :::
::: line # далее все под root{.plain} :::
::: line install -v -m {.plain}755{.value} ./qemu-aarch64 {.plain}"$INSTALL_DIR/qemu-aarch64.static"{.string} :::
::: line ln -sfv {.plain}"qemu-aarch64.static"{.string} {.plain}"$INSTALL_DIR/qemu-aarch64-static"{.string} || echo {.plain}"Ошибка создания симлинка"{.string} :::
::: line :::
::: line echo {.plain}"Проверяем установку:"{.string} :::
::: line "$INSTALL_DIR/qemu-aarch64"{.string} --version || echo {.plain}"Установленный бинарник не работает"{.string} ::: ::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: {.confbox .programlisting style=”counter-reset: scroll-code-numbering 1”} ::: title Создание chroot окружения. Запуск binfmt сервиса :::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: {.fadetogrey .syntaxhighlighter .scroll-html-formatted-code xmlns=”http://www.w3.org/1999/xhtml” data-title=”Создание chroot окружения. Запуск binfmt сервиса” linenumbers=”false” firstline=”1”} ::: line export LFS={.plain}"/alt-chroot"{.string} # Директория для chroot-окружения{.plain} :::
::: line ROOTFS={.plain}"mcom03-altlinux-p10-rootfs.tar.gz"{.string} :::
::: line URL={.plain}"https://dist.elvees.com/mcom03/altlinux/2025.05/"{.string} :::
::: line :::
::: line # Проверка существования директории{.plain} :::
::: line if{.keyword} [ ! -d {.plain}"$LFS"{.string} ]; then{.plain} :::
::: line ` export LFS={.plain}“/alt-chroot”`{.string} :::
::: line ` mkdir -p {.plain}“$LFS”{.string} || echo {.plain}“Не удалось создать ${LFS}”`{.string} :::
::: line fi{.plain} :::
::: line :::
::: line bashrc_file={.plain}"/etc/profile"{.string} :::
::: line :::
::: line alias_definition={.plain}'alias altch="/sbin/chroot /alt-chroot /usr/bin/env -i HOME=/root TERM=xterm-256color PS1=\"(chroot)\\u:\\w\\$\" PATH=/bin:/sbin:/usr/local/bin:/usr/bin /bin/bash --login"'{.string} :::
::: line :::
::: line # Определяем alias в текущей сессии{.plain} :::
::: line eval {.plain}"$alias_definition"{.string} :::
::: line :::
::: line # Добавляем alias в /etc/profile, если еще нет{.plain} :::
::: line if{.keyword} ! grep -q {.plain}'^alias altch='{.string} {.plain}"$bashrc_file"{.string}; then{.plain} :::
::: line ` echo {.plain}“$alias_definition”{.string} | sudo tee -a {.plain}“$bashrc_file”{.string} > /dev/{.plain}null`{.keyword} :::
::: line ` echo {.plain}“Алиас altch добавлен в $bashrc_file”`{.string} :::
::: line else{.keyword} :::
::: line ` echo {.plain}“Алиас altch уже присутствует в $bashrc_file”`{.string} :::
::: line fi{.plain} :::
::: line :::
::: line # {.plain} :::
::: line wget ${URL}${ROOTFS}{.plain} :::
::: line tar -xzf ${ROOTFS} -C {.plain}"$LFS"{.string} {.plain} :::
::: line :::
::: line # добавим автоматическое монтирование в /etc/fstab{.plain} :::
::: line echo "proc /alt-chroot/proc proc defaults {.plain}0{.value} {.plain}0{.value} :::
::: line sysfs /alt-chroot/sys sysfs defaults {.plain}0{.value} {.plain}0{.value} :::
::: line tmpfs /alt-chroot/run tmpfs defaults {.plain}0{.value} {.plain}0{.value} :::
::: line /dev /alt-chroot/dev none bind {.plain}0{.value} {.plain}0{.value} :::
::: line /dev/pts /alt-chroot/dev/pts none bind {.plain}0{.value} {.plain}0{.value}" | tee -a /etc/fstab{.plain} :::
::: line :::
::: line mount $LFS/dev{.plain} :::
::: line mount $LFS/dev/pts{.plain} :::
::: line mount $LFS/proc{.plain} :::
::: line mount $LFS/sys{.plain} :::
::: line mount $LFS/run{.plain} :::
::: line ` `{.plain} :::
::: line if{.keyword} [ -h $LFS/dev/shm ]; then{.plain} :::
::: line ` mkdir -pv $LFS/$(readlink $LFS/dev/shm)`{.plain} :::
::: line else{.keyword} :::
::: line ` mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm`{.plain} :::
::: line fi {.plain} :::
::: line :::
::: line # копируем некоторые файлы из host в chroot{.plain} :::
::: line if{.keyword} [ -h $LFS/etc ]; then{.plain} :::
::: line ` mkdir -pv $LFS/etc`{.plain} :::
::: line fi{.plain} :::
::: line :::
::: line if{.keyword} [ -h $LFS/etc/apt/apt.conf.d/ ]; then{.plain} :::
::: line ` mkdir -pv $LFS/etc/apt/apt.conf.d/`{.plain} :::
::: line fi{.plain} :::
::: line :::
::: line # copy some files form host to chroot{.plain} :::
::: line # nameserver такой же, как в родительской системе{.plain} :::
::: line cp -fL /etc/resolv.conf $LFS/etc/resolv.conf{.plain} :::
::: line :::
::: line # apt proxy{.plain} :::
::: line cp -f /etc/apt/apt.conf.d/proxy.conf $LFS/etc/apt/apt.conf.d/{.plain} :::
::: line :::
::: line # правило для binfmt{.plain} :::
::: line rule={.plain}":qemu-aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64.static:F"{.string} :::
::: line :::
::: line echo $rule | tee -a /lib/binfmt.d/qemu-aarch64-{.plain}static{.keyword}.conf{.plain} :::
::: line :::
::: line echo {.plain}"Перезагрузка демона systemd..."{.string} :::
::: line systemctl daemon-reload || echo {.plain}"Сбой systemctl daemon-reload"{.string} :::
::: line :::
::: line echo {.plain}"Перезапуск службы binfmt..."{.string} :::
::: line systemctl restart systemd-binfmt.service || echo {.plain}"Сбой перезапуска binfmt"{.string} :::
::: line :::
::: line echo {.plain}"Проверка статуса службы..."{.string} :::
::: line systemctl status systemd-binfmt.service --no-pager || echo {.plain}"Ошибка проверки статуса binfmt"{.string} :::
::: line :::
::: line echo {.plain}"Наберите altch, чтобы войти в chroot"{.string} ::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::: {.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 # p10{.plain} :::
::: line mkdir /alt-chroot/mirror.yandex.ru{.plain} :::
::: line echo {.plain}"/mnt/altelos/Public/mirror.yandex.ru /alt-chroot/mirror.yandex.ru none bind,ro 0 0"{.string} | tee -a /etc/fstab{.plain} :::
::: line :::
::: line # p11{.plain} :::
::: line mkdir /alt-chroot/ALTLinux{.plain} :::
::: line echo {.plain}"/home/user/altrepo/distributions/ALTLinux /alt-chroot/ALTLinux none bind,ro 0 0"{.string} | tee -a /etc/fstab{.plain} :::
::: line :::
::: line echo "rpm [p10] file:{.plain}///mirror.yandex.ru/altlinux/p10/branch aarch64 classic{.comments} :::
::: line rpm [p10] file:{.plain}///mirror.yandex.ru/altlinux/p10/branch noarch classic" > /alt-chroot/etc/apt/sources.list.d/local.list{.comments} ::: ::::::::::::: :::::::::::::::
Вот сводная таблица основных характеристик и особенностей сборки MCom-03 (СКИФ) ALT Linux{.external-link} :
::: tablewrap Пункт Описание ————————— ————————————————————————————– Дистрибутив ALT Linux P10 с поддержкой модулей на базе микросхемы 1892ВА018 (СКИФ, MCom-03) Рабочее окружение Xfce с выводом на HDMI-монитор Пользователи по умолчанию пользователь: elvees / elvees; суперпользователь: root / elvees Поддерживаемые модули ROCK Pi N10 с ELV-MC03-SMARC r1.1, ELV-SMARC-CB r1.0 и r2.10.3 с ELV-MC03-SMARC r1.1 RPM-репозитории Апстрим ALT Linux P10 + latest для поддержки микросхемы (ядро, модули, user-space) Обновление Через apt-get dist-upgrade или выборочно мета-пакеты ядра Поддержка HDMI Скрипт mcom03-hdmi-setup.sh для перезапуска HDMI и настройки PLL Поддержка аудио ALSA; systemd-демон elvees-alsa-prepare для asound.state Поддержка DSP Пакет elcore50-toolchain (тулчейн DSP, не установлен по умолчанию) Поддержка GPU Отсутствует (драйверы GPU не включены) Поддержка VPU Плагины GStreamer для аппаратного ускорения Форматы прошивки Архив корневой fs для SD/eMMC (tar2dev), QSPI образы Система загрузки Поддержка UEFI, скрипты прошивки tar2dev-uefi Ядро Linux Версия 5.10, каждый релиз обновляет ядро и модули Системное время и NTP Есть поддержка systemd-timesyncd, настройка через timedatectl set-ntp true Особенности set-hostname формирует имя из названия модуля и серийного номера ::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::: {#src-257635965_safe-id-aWQt0KHQsdC-0YDQutCwcWVtdWFhcmNoNjTQuNC30LjRgdGF0L7QtNC90LjQutC-0LLQv9C-0LRBTFRMaW51eC4tLi4u0L_RgNC-0LTQvtC70LbQtdC90LjQtdC30LTQtdGB0Yw .section .section-1}
... продолжение здесь {#продолжение-здесь .heading}
::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
mkimage-profile под qemu-aarch64, MCom-03 (СКИФ) ALT Linux{.ht-post-nav-next}
{#ht-jump-top .sp-aui-icon-small .sp-aui-iconfont-arrows-up} ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
