[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Some of the parameters used in my genisoimage command don't produce a bootable ISO image



Hello again.

Now it's the right time to explain the whole project that I'm working on to you,because now I have the missing piece,thanks to Thomas and I can exclude one of the reasons why it does not work. What I would like to do is to use a preseed file to preconfigure some options,so that the debian installer does not ask me the relative questions. I've found this tutorial and I've followed,integrating the Thomas suggestions :


https://github.com/Nidouille/Debian-Automated-Installation


these are the commands that I have issued :


apt update && apt -y install xorriso genisoimage

wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.5.0-amd64-netinst.iso

xorriso -osirrox on -indev /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-11.5.0-amd64-netinst.iso -extract / /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce/

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

gunzip /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce/d-i/initrd.gz

echo /home/ziomario/Scrivania/PassT-Cubic/ISO/preseed/preseed.cfg | cpio -H newc -o -A -F /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce/d-i/initrd

gzip /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce/d-i/initrd

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

cd /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce/

chmod a+w /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce/isolinux/isolinux.bin

cd /home/ziomario/Scrivania/PassT-Cubic/ISO/


./script1.sh


orig_iso=debian-live-11.5.0-amd64-xfce.iso
new_files=debian-live-11.5.0-amd64-xfce
new_iso=debian-live-11.5.0-amd64-mod-xfce.iso
mbr_template=isohdpfx.bin

# 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 \
   "$new_files"
   cd debian-live-11.5.0-amd64-xfce/

LOG :
   
432+0 record in
432+0 record out
432 bytes copied, 0.000426907 s, 1.0 MB/s
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 'stdio:debian-live-11.5.0-amd64-mod-xfce.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 40.3g free
xorriso : WARNING : -volid text problematic as automatic mount point name
xorriso : WARNING : -volid text is too long for Joliet (22 > 16)
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
Added to ISO image: directory '/'='/home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce'
xorriso : UPDATE :    1389 files added in 1 seconds
xorriso : UPDATE :    1389 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 432 bytes from file '/home/ziomario/Scrivania/PassT-Cubic/ISO/isohdpfx.bin'
libisofs: NOTE : Automatically adjusted MBR geometry to 1019/162/32
libisofs: NOTE : Aligned image size to cylinder size by 866 blocks
xorriso : UPDATE :  7.49% done
xorriso : UPDATE :  38.62% done
xorriso : UPDATE : Thank you for being patient. Working since 2 seconds.
xorriso : UPDATE : Thank you for being patient. Working since 3 seconds.
xorriso : UPDATE : Thank you for being patient. Working since 4 seconds.
xorriso : UPDATE : Thank you for being patient. Working since 5 seconds.
xorriso : UPDATE : Thank you for being patient. Working since 6 seconds.
xorriso : UPDATE : Thank you for being patient. Working since 7 seconds.
xorriso : UPDATE : Thank you for being patient. Working since 8 seconds.
xorriso : UPDATE : Thank you for being patient. Working since 9 seconds.
ISO image produced: 1320624 sectors
Written to medium : 1320624 sectors at LBA 0
Writing to 'stdio:debian-live-11.5.0-amd64-mod-xfce.iso' completed successfully.


Yes,the resulting ISO image is bootable,but the preseed file does not stick. The installer stills asks me the questions that it shouldn't , according with the preeseed.cfg file that I've used :

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

so,do you know why it is totally ignored by Debian,according to the commands that I have issued ? Thank you very much.

Il giorno lun 10 ott 2022 alle ore 12:30 Mario Marietto <marietto2008@gmail.com> ha scritto:
Finally,this version works as expected :

script2.sh

orig_iso=debian-live-11.5.0-amd64-xfce.iso
new_iso=debian-live-11.5.0-amd64-modified-xfce.iso
mbr_template=isohdpfx.bin

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

   xorriso \
   -outdev "$new_iso" -blank as_needed \
   -volid d-live \
   -padding 0 \
   -map /home/ziomario/Scrivania/PassT-Cubic/ISO/debian-live-11.5.0-amd64-xfce / \
   -chmod 0755 / -- \
   -boot_image isolinux dir=/isolinux \
   -boot_image isolinux system_area=/home/ziomario/Scrivania/PassT-Cubic/ISO/isohdpfx.bin \
   -boot_image any next \
   -boot_image any efi_path=boot/grub/efi.img \
   -boot_image isolinux partition_entry=gpt_basdat

Il giorno lun 10 ott 2022 alle ore 12:15 Thomas Schmitt <scdbackup@gmx.net> ha scritto:
Hi,

Mario Marietto wrote:
> Drive current: -outdev 'debian-live-11.5.0-amd64-xfce.iso'
> Media current: stdio file, overwriteable
> Media status : is written , is appendable
> Media summary: 1 session, 1310720 data blocks, 2560m data, 40.3g free
> ...
> xorriso : FAILURE : -indev differs from -outdev and -outdev media holds non-zero data

Remove or rename debian-live-11.5.0-amd64-xfce.iso before you try to let
xorriso use this name as target for writing.

Other than with the mkisofs emulation, the native command mode does not
automatically truncate the -outdev target to 0 bytes. That's mainly because
-outdev may also be an optical drive which cannot be truncated.
Instead some optical media can be blanked and some can be overwritten.
Data files as targets are considered to be pseudo-drives which behave like
DVD+RW or BD-RE media.

In any case, if the target looks like containing valid data, the xorriso
user has to invalidate those data explicitely. In case of a data file you
may remove or rename it. For all, real and pseudo drives, the data can be
invalidated by

  xorriso -outdev "$target" -blank as_needed

This works with CD-RW, DVD-RW, DVD+RW, DVD-RAM, BD-RE, block devices, and
data files. Data files don't shrink in sizei by -blank, but can afterwards
be overwritten from their beginning and may grow.

The -outdev target may only exist with a recognizable ISO 9660 filesystem
if the xorriso run uses it also as -indev for multi-session. In that case,
the ISO 9660 filesystem in the image file or on the medium does not get
truncated but rather expanded by a new session.
(The combination of -indev X -outdev X is normally abbreviated as: -dev X)

See this section in man xorriso:
  "Creating, Growing, Modifying, Blind Growing:"


Have a nice day :)

Thomas



--
Mario.


--
Mario.

Reply to: