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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
панель
Tabs Container
directionhorizontal
Tabs Page
titleСборка для 1.7

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

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

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

Command

sudo apt install debootstrap qemu-user-static

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

...

  • :
    Command

    sudo apt install debootstrap qemu-user-static

...

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

...

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

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

...

directionhorizontal

...

titleСборка для amd64

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

...

  • NDK_DIR=/opt/build-environments/astralinux-1.7
    REPO_URL=http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/

...

  • sudo debootstrap --arch=amd64 --components=main,contrib,non-free 1.7_x86-64

...

  • "${NDK_DIR}" "${REPO_URL}"


  • echo "export LC_ALL=C" | sudo tee -a

...

  • "${NDK_DIR}/root/.bashrc

...

titleСборка для arm64

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

...

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:
    Command

    sudo mount -t proc proc ${NDK_DIR}/proc/
    sudo mount -o bind /sys/ ${NDK_DIR}/sys/
    sudo mount -o bind /dev/ ${NDK_DIR}/dev/
    sudo mount -o bind /dev/pts ${NDK_DIR}/dev/pts

  • добавить нужные репозитории в файл /opt/build-environments/astralinux-1.7

...

  • /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

...

  • sudo

...

  • chroot

...

  • /

...

  • opt/build-environments/astralinux-1.7 apt update
    sudo chroot

...

  • /opt/build-environments/astralinux-1.7 apt install devscripts quilt

...

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

    sudo chown -R "${USER}:${USER}"

...

  • /opt/

...

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

...

directionhorizontal

...

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

...

  • build-environments/astralinux-1.7/opt/

    Информация

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

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

    cp

...

  • -a plasma-mobile-5.

...

  • 27.2 plasma-mobile_5.

...

  • 27.2.orig*

...

  • /opt/

...

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

...

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

...

Command

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

...

  • build-environments/astralinux-1.7/opt/
    sudo chroot /opt/build-environments/astralinux-1.7
    cd /opt/plasma-mobile-5.

...

  • 27.2
    mk-build-deps -

...

  • ir
    dpkg-buildpackage -us -uc -ui -j$(nproc)

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

...

  • очистить окружение сборки,

...

  • выполнив команды:
    Command

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

...

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

    sudo umount

...

  • ${NDK_DIR}/proc/
    sudo umount

...

  • ${NDK_DIR}/sys/
    sudo umount

...

  • ${NDK_DIR}/dev/

...


  • sudo umount

...

  • ${NDK_DIR}/dev/

...

  • pts

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

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

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

...

  • sudo apt install debootstrap qemu-user-static

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

    NDK_DIR=/opt/build-environments/astralinux-4.7

...


  • REPO_URL=

...

  • http://

...

  • download.

...

  • astralinux.

...

  • ru/

...

  • astra/

...

  • stable/4.7_arm/

...

  • repository-base/
    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"

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

    sudo mount -t proc proc ${NDK_DIR}/proc/
    sudo mount -o bind /sys/ ${NDK_DIR}/sys/
    sudo mount -o bind /dev/ ${NDK_DIR}/dev/
    sudo mount -o bind /dev/pts ${NDK_DIR}/dev/pts

  • добавить нужные репозитории в файл /opt/build-environments/astralinux-4.7

...

  • /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

    sudo chroot /opt/build-environments/astralinux-4.7

...

  • /debootstrap/debootstrap --second-stage
    sudo chroot /opt/build-environments/astralinux-4.7

...

  • apt update
    sudo chroot /opt/build-environments/astralinux-4.7

...

  • apt install devscripts quilt

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

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

...

  • /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/astralinux-4.7

...

  • /opt/
    sudo chroot /opt/build-environments/astralinux-4.7

...


  • cd /opt/plasma-mobile-5.27.2
    mk-build-deps -ir

...

  • dpkg-buildpackage -us -uc -ui -j$(nproc)

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

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

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

    sudo umount ${NDK_DIR}/proc/
    sudo umount ${NDK_DIR}/sys/
    sudo umount ${NDK_DIR}/dev/
    sudo umount ${NDK_DIR}/dev/pts