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"
--- mkmodules.old Thu Feb 28 14:16:36 2002
@@ -133,7 +133,7 @@
- if not os.path.exists(depmodrealpath)
- continue
os.system("cp %s %s" % (depmodrealpath, moddir))
os.mkdir("modules") modroot = "modules/%s" % kernelversion os.mkdir(modroot) os.system("cp -r %s/%s/* %s" % (modpath, kernelversion, modroot))
Then it copies the entire modules tree.
To do this you will need to make a bigger initrd: in /usr/bin/make-autoinst-initrd, replace the lines
dd if=/dev/zero of=$TMPPATH/initrd bs=1024 count=4096 /sbin/mke2fs -Fq -N 2048 $TMPPATH/initrd
with
dd if=/dev/zero of=$TMPPATH/initrd bs=1024 count=8192 /sbin/mke2fs -Fq -N 4096 $TMPPATH/initrd
to make an 8mb ramdisk instead. Then, edit conf/isolinux/isolinux.cfg to append "ramdisk_size=8192" to your kernel parameters. Thanks to DanielLawson for the heads up on this one.
Part of LinuxInstallationNotes
3 pages link to AutoInstall: