Welcome to the Linux Foundation Forum!

How to customize a Debian ISO using a preseed file with or without Cubic.

marietto Posts: 1
edited October 11 in Debian


I'm on Ubuntu 22.04 and I'm trying to extract all the files from a (bootable) Debian ISO,add some new files and then re-generate a bootable ISO image. I'm trying to accomplish this task using Cubic and without a graphical interface,but only giving the most appropriate commands on the terminal. Below you can see what I tried to do and the commands that I've issued. In both cases,for some unknown reasons,the preseed.cfg file that I have added does not stick. Can someone help me to understand why ? thanks.

1) Using Cubic. I've copied and pasted this preseed.cfg file :

d-i debian-installer/add-kernel-opts string intel_iommu=on
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i passwd/root-password password marietto
d-i passwd/user-fullname string marietto User
d-i passwd/username string marietto
d-i passwd/user-password password a
d-i passwd/user-password-again password a
d-i user-setup/allow-password-weak boolean true

inside the folder : /home/ziomario/Scrivania/PassT-Cubic/Debian-new/custom-disk/preseed/

and then I've checked if it has been recognized and yes,it has been,according with this picture :


I suspect that I should do something else,according to what I read on Cubic : "reference these files in the disk boot configurations by prefixing them with /cdrom" : what does it mean ? I don't understand what I should do. So,at the end,when I have generated the ISO image,the debian installer asks me every question as usual,ignoring the question that I want to skip,according to the preseed file.

2) manually,issuing the following commands on the terminal,like these ones :

chmod +w -R /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce/d-i/  

(I don't have a folder called install.386 or even install amd)gunzip debian-live-11.5.0-amd64-xfce/d-i/initrd.gz

echo preseed.cfg | cpio -H newc -o -A -F debian-live-11.5.0-amd64-xfce/d-i/initrd

gzip debian-live-11.5.0-amd64-xfce/d-i/initrd

chmod -w -R debian-live-11.5.0-amd64-xfce/d-i/

cd debian-live-11.5.0-amd64-xfce/

at this point,since I don't have any md5sum.txt inside the ISO image of the debian live,I have generated this file using this command :

find -type f -exec md5sum "{}" + > md5sum.txt

find -follow -type f ! -name md5sum.txt -print0 | xargs -0 md5sum > md5sum.txt

chmod -w md5sum.txt

at this point I ran this script to generate the ISO image :



# Extract MBR template file to disk
dd if="$orig_iso" bs=1 count=432 of="$mbr_template"

xorriso -as mkisofs \
   -r -J --joliet-long \
   -V 'd-live 11.5.0 xf amd64' \
   -o "$new_iso" \
   -isohybrid-mbr "$mbr_template" \
   -partition_offset 16 \
   -c isolinux/boot.cat \
   -b isolinux/isolinux.bin \
   -no-emul-boot -boot-load-size 4 -boot-info-table \
   -eltorito-alt-boot \
   -e boot/grub/efi.img \
   -no-emul-boot -isohybrid-gpt-basdat -isohybrid-apm-hfsplus \

The ISO image has been generated and it is able to boot,the preseed file is in the right place

I've looked inside the initrd file and I saw that it is there,you can see by yourself :smile:


and then I've tried to install Debian,but again,the preseed.cfg file is ignored.



Upcoming Training