Crea imágenes ISO oficiales del instalador de Kali Linux con simple-cdd y debian-cd, con soporte para múltiples arquitecturas, variantes, réplicas y compilaciones en contenedores.
Generador de imágenes ISO del instalador de Kali Linux, mediante simple-cdd (con debian-cd).
Estos son los mismos scripts de compilación que el equipo de Kali utiliza para generar las imágenes base oficiales de Kali Linux, disponibles en kali.org/get-kali/.
Estas imágenes se pueden usar para instalar Kali con diversas personalizaciones durante la configuración, desde un CD/DVD/Blu-ray/USB/sdCard. Para poder arrancar en modo live (por ejemplo, probar Kali sin alterar ningún sistema operativo existente), consulta kali-live:
¡Compila tu Kali hoy mismo!
Recomendamos compilar en un host basado en Linux, que coincida con la arquitectura deseada.
Hay varias formas de prepararse para usar el script de compilación kali-installer. Puedes:
build.sh - Compilar directamente desde tu máquinabuild-in-container.sh - Compilar desde dentro de un contenedor (como Docker o Podman) Para que build.sh funcione, requerirá acceso de superusuario (por ejemplo, sudo o un contenedor con privilegios de root). Sin embargo, KVM no es necesario.
Primero instala git y asegúrate de que el repositorio esté clonado localmente:
$ sudo apt-get install --no-install-recommends \
git ca-certificates
$ git clone https://gitlab.com/kalilinux/build-scripts/kali-installer.git
$ cd ./kali-installer/
Para compilar directamente en tu host, con build.sh, instala las dependencias de compilación:
$ sudo apt-get install --no-install-recommends \
simple-cdd debian-cd \
cpio \
mtools \
dosfstools \
xorriso
Ahora puedes usar ./build.sh, que compilará una ISO del instalador de Kali directamente en tu máquina.
Si NO estás usando Kali como sistema operativo base, necesitarás instalar el kali-archive-keyring de Kali para que simple-cdd pueda obtener los paquetes de 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
NOTA: Reemplaza 20YY.X con los valores mostrados aquí, en kali-archive-keyring.
Dependiendo de cuándo ejecutes esto, también podrías necesitar una versión concreta de simple-cdd (Package Tracker: Debian/Kali) y/o debian-cd (Package Tracker: Debian/Kali).
Ahora puedes seguir Build From The Host (Kali) para instalar las dependencias de compilación.
Omitiremos la configuración de cualquier software de contenedores.
Si prefieres compilar desde dentro de un contenedor, necesitarás instalar y configurar docker o podman en tu máquina.
docker requiere que el usuario se añada al grupo Docker, o usar la cuenta root (p. ej. $ sudo ./build-in-container.sh).podman se ha probado con rootful (p. ej. $ sudo ./build-in-container.sh), sin embargo, rootless no es compatible en este momento.build-in-container.sh es un wrapper sobre build.sh. Detecta qué motor de contenedores compatible con OCI usar, se encarga de crear la imagen de contenedor si falta, y luego inicia el contenedor para realizar la compilación desde dentro.
Tienes tres formas de proporcionar la imagen de contenedor:
$ # 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
Si tienes instalados tanto docker como podman, build-in-container.sh usará podman por defecto. Para cambiar esto, añade el prefijo CONTAINER=docker antes de ./build-in-container.sh:
$ CONTAINER=docker ./build-in-container.sh [...]
Ahora puedes usar ./build-in-container.sh (en lugar de ./build.sh), para construir una imagen.
$ ./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