Создаёт официальные установочные ISO-образы Kali Linux с помощью simple-cdd и debian-cd, поддерживая несколько архитектур, вариантов, зеркал и контейнеризованные сборки.
Сборщик ISO-образов установщика Kali Linux с помощью simple-cdd (и debian-cd).
Это те же самые скрипты сборки, которые команда Kali использует для создания официальных базовых образов Kali Linux, доступных на kali.org/get-kali/.
Эти образы можно использовать для установки Kali с различными настройками в процессе установки, с CD/DVD/Blu-ray/USB/sdCard. Для возможности загрузки в режиме live (например, чтобы попробовать Kali без изменения существующей операционной системы) см. kali-live:
Соберите свой Kali уже сегодня!
Мы рекомендуем выполнять сборку на хосте под управлением Linux, соответствующем желаемой архитектуре.
Есть несколько способов подготовиться к использованию скрипта сборки kali-installer. Вы можете либо:
build.sh — сборка прямо на вашей машинеbuild-in-container.sh — сборка внутри контейнера (например, Docker или Podman) Для работы build.sh потребуется доступ суперпользователя (например, sudo или контейнер с root-правами). Однако KVM не требуется.
Сначала установите git и убедитесь, что репозиторий склонирован локально:
$ sudo apt-get install --no-install-recommends \
git ca-certificates
$ git clone https://gitlab.com/kalilinux/build-scripts/kali-installer.git
$ cd ./kali-installer/
Чтобы собрать напрямую на вашем хосте с помощью build.sh, установите зависимости для сборки:
$ sudo apt-get install --no-install-recommends \
simple-cdd debian-cd \
cpio \
mtools \
dosfstools \
xorriso
Теперь вы можете использовать ./build.sh, который соберёт установочный ISO-образ Kali прямо на вашей машине.
Если вы НЕ используете Kali в качестве базовой ОС, вам потребуется установить kali-archive-keyring из Kali, чтобы simple-cdd мог загружать пакеты Kali.
$ sudo apt-get install --no-install-recommends \
wget ca-certificates
$ wget https://http.kali.org/pool/main/k/kali-archive-keyring/kali-archive-keyring_20YY.X_all.deb
$ sudo apt-get install ./kali-archive-keyring_*_all.deb
$ wget https://http.kali.org/pool/main/d/debian-cd/debian-cd_*_all.deb
$ sudo apt-get install ./debian-cd_*_all.deb
ПРИМЕЧАНИЕ: Замените 20YY.X на значения, указанные здесь, в kali-archive-keyring.
В зависимости от того, когда вы это запускаете, вам также может понадобиться определённая версия simple-cdd (Package Tracker: Debian/Kali) и/или debian-cd (Package Tracker: Debian/Kali).
Теперь вы можете следовать инструкциям Build From The Host (Kali), чтобы установить зависимости для сборки.
Мы пропустим настройку какого-либо контейнерного ПО.
Если вы предпочитаете собирать изнутри контейнера, вам потребуется установить и настроить docker или podman на вашей машине.
docker требует, чтобы пользователь был добавлен в группу Docker, или использования учётной записи root (например, $ sudo ./build-in-container.sh).podman был протестирован с rootful-режимом (например, $ sudo ./build-in-container.sh), однако rootless в настоящее время не поддерживается.build-in-container.sh — это обёртка поверх build.sh. Она определяет, какой OCI-совместимый контейнерный движок использовать, заботится о создании образа контейнера, если он отсутствует, а затем запускает контейнер для выполнения сборки изнутри.
У вас есть три способа предоставить образ контейнера:
$ # Option #1 - Automated build (recommended)
$ ./build-in-container.sh
$ ./build-in-container.sh --force # If you need to rebuild the image from scratch
$
$
$
$ # Option #2 - Manual build
$ docker build -t kali-build/kali-installer .
$ # ...OR...
$ podman build -t kali-build/kali-installer .
$
$
$
$ # Option #3 - Use the pre-generated
$ docker pull registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest
$ docker tag registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest kali-build/kali-installer
$ # ...OR...
$ podman pull registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest
$ podman tag registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest kali-build/kali-installer
$
$ # ...then point the build at it:
$ ./build-in-container.sh # Locally built (automated or manual)
$ IMAGE=registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest ./build-in-container.sh # Pre-generated
Если у вас установлены и docker, и podman, build-in-container.sh по умолчанию будет использовать podman. Чтобы изменить это, добавьте CONTAINER=docker перед ./build-in-container.sh:
$ CONTAINER=docker ./build-in-container.sh [...]
Теперь вы можете использовать ./build-in-container.sh (вместо ./build.sh) для сборки образа.
$ ./build.sh --help
Usage: build.sh [OPTIONS]
Build a Kali Linux Installer image.
Build options:
-a, --arch ARCH Build an image for this architecture (default: amd64)
Supported: amd64 arm64 armhf
-b, --branch BRANCH Kali branch used to build the image (default: kali-rolling)
Supported: kali-rolling kali-dev kali-last-snapshot
-k, --keep Keep intermediary build artifacts
-m, --mirror URL Mirror used to build the image (default: http://http.kali.org/kali)
-o, --output DIR Output directory (default: /home/kali/kali-installer/output)
-v, --variant VARIANT Variant of image to build (default: default)
Supported: default everything netinst purple
-x, --version VERSION What to name the image release as (default: rolling)
-h, --help Show this help and exit
Installer options:
-H, --hostname HOSTNAME Set system host name (default: kali)
-P, --packages PKGS Install extra packages (comma/space separated list)
Apt caching proxy:
Auto-detected: localhost:3142 (apt-cacher-ng), localhost:8000 (squid-deb-proxy).
If detected and http_proxy is not set, http_proxy is exported automatically.
Supported environment variables:
http_proxy HTTP proxy URL, see README.md for details
DEBUG Print extra debug output
Any --flag value can be pre-set via its env var (e.g. ARCH, BUILD_MIRROR, OUT_DIR)
Examples:
build.sh
build.sh --branch kali-rolling
build.sh -b kali-dev -v netinst -a arm64