Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Установить инструмент debootstrap и QEMU, выполнив команду:

Command

sudo apt install debootstrap qemu-user-static

Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)


Инструмент debootstrap используется для подготовки окружения сборки. Для установки инструмента выполнить команду:

Command

sudo apt install debootstrap qemu-user-static

Для создания окружения сборки используется команда следующего вида:

Command

sudo debootstrap --arch=<архитектура> --components=<компоненты> <кодовое_имя_репозитория> <название_каталога_chroot> <ссылка_на_репозиторий>

Подготовка окружения сборки

панель
Tabs Container
directionhorizontal
Tabs Page
titleСборка для amd64

Подготовка окружения сборки выполняется в следующем порядке:

  • выполнить команду создания chroot-окружения:
    Command

    sudo debootstrap --arch=amd64 --components=main,contrib,non-free 1.7_x86-64 chroot-amd64 http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/

  • в файл chroot-amd64/etc/apt/sources.list добавить репозитории:
    Блок кода
    deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
    deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
  • выполнить команды для подготовки каталога сборки:
    Command

    echo "export LC_ALL=C" | sudo tee -a chroot-amd64/root/.bashrc
    sudo chroot chroot-amd64 apt update
    sudo chroot chroot-amd64 apt install devscripts quilt equivs
    sudo chown -R "${USER}:${USER}" chroot-amd64/opt/

Tabs Page
titleСборка для arm64

Подготовка окружения сборки выполняется в следующем порядке:

  • выполнить команду создания chroot-окружения:
    Command

    sudo debootstrap --arch=arm64 --components=main,contrib,non-free 4.7_arm chroot-arm64 http://download.astralinux.ru/astra/stable/4.7_arm/repository-base/

  • в файл chroot-amd64/etc/apt/sources.list добавить репозитории:
    Блок кода
    deb https://download.astralinux.ru/astra/stable/4.7_arm/repository-base/ 4.7_arm main contrib non-free
    deb https://download.astralinux.ru/astra/stable/4.7_arm/repository-extended/ 4.7_arm main contrib non-free
  • выполнить команды для подготовки каталога сборки:
    Command

    echo "export LC_ALL=C" | sudo tee -a chroot-arm64/root/.bashrc
    sudo chroot chroot-arm64 /debootstrap/debootstrap --second-stage
    sudo chroot chroot-arm64 apt update
    sudo chroot chroot-arm64 apt install devscripts quilt equivs
    sudo chown -R "${USER}:${USER}" chroot-arm64/opt/ 

Сборка пакетов

, предназначенных для процессорной архитектуры arm64, выполняется в следующем порядке:

Tabs Container
directionhorizontal
Tabs Page
titleСборка для amd64

Сборка пакета выполняется в следующем порядке:

  • выполнить команды монтирования каталогов в каталог сборки:
    Command

    sudo mount -t proc proc chroot-amd64/proc
    sudo mount -t sysfs sys chroot-amd64/sys
    sudo mount -t devpts devpts chroot-amd64/dev/pts
    sudo mount -o bind /dev/shm chroot-amd64/dev/shm

  • скопировать каталог проекта в каталог chroot-amd64/opt и перейти в chroot-окружение, выполнив команды:
    Command

    cp -a plasma-mobile-5.24.2 plasma-mobile_5.24.2.orig* chroot-amd64/opt/
    sudo chroot chroot-amd64

  • выполнить команды сборки пакета:
    Command

    cd /opt/plasma-mobile-5.24.2
    mk-build-deps -i -r
    dpkg-buildpackage -us -uc -ui -j$(nproc)

Собранный пакет будет расположен в каталоге chroot-amd64/opt.

Если есть необходимость очистить окружение сборки, выполнить команды:

Command

dpkg -l | grep build-deps
apt purge '*build-deps*'
apt autoremove --purge

После сборки пакета необходимо размонтировать каталоги, выполнив команды:

Command

sudo umount chroot-amd64/proc
sudo umount chroot-amd64/sys
sudo umount chroot-amd64/dev/pts
sudo umount chroot-amd64/dev/shm

Tabs Page
titleСборка для arm64

Сборка пакета выполняется в следующем порядке:

  • выполнить команды монтирования каталогов в каталог сборки:
    Command

    sudo mount -t proc proc chroot-arm64/proc
    sudo mount -t sysfs sys chroot-arm64/sys
    sudo mount -t devpts devpts chroot-arm64/dev/pts
    sudo mount -o bind /dev/shm chroot-arm64/dev/shm

  • скопировать каталог проекта в каталог chroot-arm64/opt и перейти в chroot-окружение, выполнив команды:
    Command

    cp -a plasma-mobile-5.24.2 plasma-mobile_5.24.2.orig* chroot-arm64/opt/
    sudo chroot chroot-arm64

  • выполнить команды сборки пакета:
    Command

    cd /opt/plasma-mobile-5.24.2
    mk-build-deps -i -r
    dpkg-buildpackage -us -uc -ui -j$(nproc)

Собранный пакет будет расположен в каталоге chroot-arm64/opt.

Если есть необходимость очистить окружение сборки, выполнить команды:

Command

dpkg -l | grep build-deps
apt purge '*build-deps*'
apt autoremove --purge

После сборки пакета необходимо размонтировать каталоги, выполнив команды:

Command

sudo umount chroot-arm64/proc
sudo umount chroot-arm64/sys
sudo umount chroot-arm64/dev/pts
sudo umount chroot-arm64/dev/shm

================================================================================================================================================ 

Сборка пакетов, предназначенных для процессорной архитектуры arm64, выполняется в следующем порядке:

установить инструмент debootstrap и QEMU, выполнив команду:
Commandsudo apt install debootstrap qemu-user-static

  • подготовить окружение chroot, выполнив команды:
    Command

    NDK_DIR=/opt/build-environments/4.7.5
    REPO_URL=ftp://10.177.113.135/maintainers/experimental/alse-X.7/4.7/RC/4.7.5.3-testing-20240119
    sudo debootstrap --arch=arm64 --foreign --components=main,contrib,non-free 4.7_arm "${NDK_DIR}" "${REPO_URL}"
    sudo cp -av /usr/bin/qemu-aarch64-static "${NDK_DIR}/usr/bin/"
    echo "export LC_ALL=C" | sudo tee -a "${NDK_DIR}/root/.bashrc"

Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • добавить нужные репозитории в файл файл /opt/build-environments/4.7.5/etc/apt/sources.list;
    Блок кода
    deb [trusted=yes] ftp://10.177.113.135/maintainers/experimental/alse-X.7/4.7/RC/4.7.5.3-testing-20240119 4.7_arm main contrib non-free
    deb [trusted=yes] ftp://10.177.113.135/maintainers/frozen/alse-X.7/4.7/4.7.4.ext1.2/extended-4.7.4.ext1.2-repository 4.7_arm main contrib non-free
  • подготовить окружение сборки, выполнив команды:
    Command

    sudo chroot /opt/build-environments/4.7.5 /debootstrap/debootstrap --second-stage
    sudo chroot /opt/build-environments/4.7.5 apt update
    sudo chroot /opt/build-environments/4.7.5 apt install devscripts quilt

  • подготовить общий каталог для сборки пакетов, выполнив команду:
    Command

    sudo chown -R "${USER}:${USER}" /opt/build-environments/4.7.5/opt/

    Информация

    Простой сценарий, подготавливающий окружение сборки в соответствии с приведенным выше описанием, доступен по ссылке make_chroot_astralinux-4.7_arm64.sh;

  • собрать пакеты (на примере пакета plasma-mobile), выполнив команды:
    Command

    cp -a plasma-mobile-5.27.2 plasma-mobile_5.27.2.orig* /opt/build-environments/4.7.5/opt/
    sudo chroot /opt/build-environments/4.7.5
    cd /opt/plasma-mobile-5.27.2
    mk-build-deps -ir
    debuild

  • очистить окружение сборки, выполнив команды:
    Command

    dpkg -l | grep build-deps
    apt purge '*build-deps*'
    apt autoremove --purge