Penguin
Note: You are viewing an old revision of this page. View the current version.

AutoInstall by Progeny!

An AutomatedInstallation tool for Debian.

Bought to you by CraigBox and NeilFenemor with help from JohnMcPherson and DanielLawson


autoinstall depends far too much on having a 1720Kb floppy disc around - so lets blow that away and use a CDRW.

Run make-autoinst-initrd(1) to get your linux and initrd.gz file. This is the end of the involvement with the tools that are provided for autoinstall.

Make a conf dir, copy the examples from /usr/share/doc/autoinstall/ into it. Run autoinst-read-debconf debconf.cfg in this directory to backup your debconf database.

(cd conf && tar cf - . | gzip -9) > conf.tgz

Go get isolinux - part of the syslinux(1) suits - and get it to boot your kernel and initrd file.

I recommend using isolinux-debug.bin until you get things working right - apt-get(8) source syslinux, and then make isolinux-debug.

Create a cdrom/ directory somewhere. Create a cdrom/isolinux/, put isolinux{-debug}.bin in there. Create an cdrom/isolinux/isolinux.cfg file with your lilo(8)-like boot options - you can just use

timeout 100 default linux initrd=initrd.gz prompt 1

Copy your kernel (linux) and initrd (initrd.gz) into the cdrom/isolinux/ directory.

Copy conf.tgz into the cdrom/ directory; it will be mounted off the CD when the system boots off it.

In the cdrom/ directory, issue

mkisofs -o ../bootcd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat \

  • no-emul-boot -boot-load-size 4 -boot-info-table .

Now cdrecord that baby and watch things fly.

(Note: You'll need to change linuxrc inside your initrd, to get to mount your data off /cdrom instead of /dev/fd0u1720, unless you want to use a disk as well (whats the point, really?) It's in /usr/lib/autoinstall.)

Search for autoinst_config_drive = "/dev/fd0u1720" and replace with

autoinst_config_drive = "/dev/hdc" autoinst_config_fstype = "iso9660"


Kernel 2.4 keeps its modules somewhere else: a patch for /usr/lib/autoinstall/mkmodules

--- mkmodules.old Thu Feb 28 14:16:36 2002

  • ++ mkmodules Thu Aug 22 10:46:32 2002

@@ -133,7 +133,7 @@

if not os.path.exists(depmodrealpath)
continue
  • moddir = "%s/%s" % (modroot, os.path.basename(os.path.dirname(depmodpath)))
  • moddir = "%s" % (os.path.dirname(depmodpath)?) if not os.path.isdir(moddir):
  • os.mkdir(moddir)
  • os.makedirs(moddir)

os.system("cp %s %s" % (depmodrealpath, moddir))


Part of LinuxInstallationNotes