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

Debian Installer preseed - Feedback on real-use case



Hi,

I developed Debian-preseed scripts to install Debian 6 on VirtualBox. link:
https://forums.virtualbox.org/viewtopic.php?f=10&t=46798

Good news: Debian preseed is found to be powerful & capable of
handling this task.
Thanks to my work, today you can install Debian6-on-Debian6 (inside
VirtualBox) in 10 minutes, 42 seconds (including KDE). Automatically
!..and drink coffee.
Bad news: It is much more complex than necessary. I had to jump though
hoops to make Debian work.

There are many under-water stones that exist for such complex scenarios:

===========================================
1. GTK-based frontend doesn't work with preseed.
===========================================

My isolinux.cfg:
default debian
prompt 0
timeout 1

label debian
  kernel /install.$arch/vmlinuz
  append initrd=/install.$arch/initrd.gz debian-installer/locale=en_US
console-setup/layoutcode=us netcfg/choose_interface=auto
priority=critical preseed/file=/floppy/preseed.cfg --
  #append video=vesa:ywrap,mtrr vga=788
initrd=/install.$arch/gtk/initrd.gz debian-installer/locale=en_US
console-setup/layoutcode=us netcfg/choose_interface=auto
priority=critical preseed/file=/floppy/preseed.cfg --

When I activated the GTK-based debian installer "gtk/initrd.gz", the
GUI booted up, but it started to ask unnecessary questions about
keyboard layout, and more... (it should not, as I provided them in the
command line)

Expected Result:
GTK-based d-i should not ask any more questions than ncurses-based d-i does.

===========================================
2. Debian does not loads "preseed.cfg" automatically.
===========================================
Positive Example: Windows XP -- once you boot the OS from CD, it check
floppy disk for "winnt.sif", and if present, it installs automatically
according to this unattended script; else manual installer starts.

Real-world result:
I had to create re-master custom Debian DVD on-the-fly (using scripting).

It includes only 4 files:
linux
isolinux.bin
isolinux.cfg
initrd

This problem is shared with Red Hat and SUSE distros.

Expected Result:
Bootloader (ISOLINUX?) should check for presence of "preseed.cfg" in
floppy/USB disk/CDROM, and if present, start kernel + this script
automatically.
I'm not sure if it is possible to fix.
in Windows case, the bootloader (Win NT LDR) loads NT kernel, which
does this check on boot.
Any ideas ?

===========================================
3. Debian fails to load "preseed.cfg" from 2nd CDROM
===========================================
In my isolinux.cfg, I tried:
preseed/file=/cdrom/preseed.cfg
preseed/file=/cdrom0/preseed.cfg
preseed/file=/cdrom1/preseed.cfg
...
no go. It can't read.

Works this way: (from floppy)
preseed/file=/floppy/preseed.cfg

Real-world result:
I had to create virtual floppy image with "preseed.cfg".
Red Hat and SUSE do not suffer from this issue.

Expected Result:
preseed/file=/cdromX/preseed.cfg
Users should be able to load preseed.cfg from 1st or 2nd CD-ROM.

===========================================
4. Debian preseed/late_command is a nightmare
===========================================
late_command doesn't support new lines, which makes writing built-in
embedded scripts difficult.

preseed.cfg -- look for late_command scripting:
http://pastebin.com/aDMgyag1

Look equivalent script in Red Hat kickstart:
http://pastebin.com/jEvJkfCL

Red Hat kickstart way:
cat > /tmp/mywork.sh <<EOF
echo "Hello World !"
echo "Hello World Again !"
echo "Hello World Yet Again !"
EOF

Debian preseed way:
d-i preseed/late_command string \
echo 'echo "Hello World !"' > /tmp/mywork.sh
echo 'echo "Hello World Again !"' >> /tmp/mywork.sh
echo 'echo "Hello World Yet Again !"' >> /tmp/mywork.sh

Debian's preseed/late_command is basically unreadable.

Real-world result:
Debian scripts take longer to write, and are difficult to maintain /
read / update.

Expected Result:
Please provide a better embedded scripting options inside d-i.

-- 
-Alexey Eromenko "Technologov"


Reply to: