IMPORTANT:
You can only edit the Live/DVD/USB iso of your distro!
For example debian live iso.
Requirements:
xorriso
squashfs-tools
wget
sudo apt-get install xorriso squashfs-tools wget
Usage:
Step 1. Download this Repository. Run:
git clone https://github.com/Farmer-Markus/Distro-Customizer
cd Distro-Customizer
Step 2. Download your distro you want to customize. In my case debian with the gnome desktop:
wget https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-12.5.0-amd64-gnome.iso
Step 3. After downloading the live iso run:
./DecompressIso.sh <Your iso>
In my case:
./DecompressIso.sh debian-live-12.5.0-amd64-gnome.iso
This should create a folder named iso with the boot stuff of the iso.
It also extracts filesystem.squashfs with the linux live system and extracts its content into a folder named squashfs-root.
After finishing you can access the live system with:
sudo chroot squashfs-root
Now you can customize the filesystem like install/remove packages with apt.
If you want to build your final distribution run:
CompressIso.sh
It may asks you to remove old filesystem.squashfs. Yust type y to replace the original with your new custom filesystem.
It should start compressing your customized linux filesystem. This can take several minutes.
After finishing you can put your custom iso onto an USB device or run it in a virtual machine.
If you have any problems you can open an issue or an request.
https://dev.to/otomato_io/how-to-create-custom-debian-based-iso-4g37