Construit des images ISO officielles de l'installateur Kali Linux avec simple-cdd et debian-cd, prenant en charge plusieurs architectures, variantes, miroirs et builds conteneurisés.
Constructeur d'ISO d'installation de Kali Linux, via simple-cdd (avec debian-cd).
Ce sont les mêmes build-scripts que l'équipe Kali utilise pour générer les images de base officielles de Kali Linux, disponibles sur kali.org/get-kali/.
Ces images peuvent être utilisées pour installer Kali avec diverses personnalisations lors de la configuration, depuis un CD/DVD/Blu-ray/USB/sdCard. Pour pouvoir démarrer en mode live (par exemple essayer Kali sans modifier aucun système d'exploitation existant), voir kali-live :
Construisez votre Kali, dès aujourd'hui !
Nous recommandons de construire sur un hôte Linux, correspondant à l'architecture souhaitée.
Il existe différentes façons de se préparer à utiliser le build-script kali-installer. Vous pouvez soit :
build.sh - Construire directement depuis votre machinebuild-in-container.sh - Construire depuis un conteneur (tel que Docker ou Podman) Pour que build.sh fonctionne, il nécessitera un accès super utilisateur (par exemple sudo ou un conteneur rootful). Cependant, KVM n'est pas requis.
Installez d'abord git, et assurez-vous que le dépôt est cloné localement :
$ sudo apt-get install --no-install-recommends \
git ca-certificates
$ git clone https://gitlab.com/kalilinux/build-scripts/kali-installer.git
$ cd ./kali-installer/
Pour compiler directement sur votre hôte, avec build.sh, installez les dépendances de compilation :
$ sudo apt-get install --no-install-recommends \
simple-cdd debian-cd \
cpio \
mtools \
dosfstools \
xorriso
Vous pouvez maintenant utiliser ./build.sh, qui construira une ISO d'installation Kali directement sur votre machine.
Si vous n'utilisez PAS Kali comme système d'exploitation de base, vous devrez installer le paquet kali-archive-keyring de Kali afin que simple-cdd puisse récupérer les paquets 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
NOTE : Remplacez 20YY.X par les valeurs indiquées ici, dans kali-archive-keyring.
Selon le moment où vous exécutez cette commande, vous pourriez également avoir besoin d'une certaine version de simple-cdd (Package Tracker : Debian/Kali) et/ou de debian-cd (Package Tracker : Debian/Kali).
Vous pouvez maintenant suivre Build From The Host (Kali) pour installer les dépendances de compilation.
Nous passerons sous silence la configuration de tout logiciel de conteneur.
Si vous préférez compiler depuis un conteneur, vous devrez installer et configurer soit docker, soit podman sur votre machine.
docker nécessite que l'utilisateur soit ajouté au groupe Docker, ou l'utilisation du compte root (par ex. $ sudo ./build-in-container.sh).podman a été testé en mode rootful (par ex. $ sudo ./build-in-container.sh), toutefois le mode rootless n'est pas pris en charge pour le moment.build-in-container.sh est un wrapper au-dessus de build.sh. Il détecte quel moteur de conteneur conforme à OCI utiliser, se charge de créer l'image de conteneur si elle est absente, puis démarre le conteneur pour effectuer la compilation depuis celui-ci.
Vous avez trois façons de fournir l'image de conteneur :
$ # 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 vous avez à la fois docker et podman installés, build-in-container.sh utilisera par défaut podman. Pour changer cela, préfixez CONTAINER=docker avant ./build-in-container.sh :
$ CONTAINER=docker ./build-in-container.sh [...]
Vous pouvez maintenant utiliser ./build-in-container.sh (plutôt que ./build.sh), pour construire une image.
$ ./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)