Penguin
Annotated edit history of AutoInstall version 11, including all changes. View license author blame.
Rev Author # Line
11 CraigBox 1 !!This method is outdated; read about
2
3 * UbuntuRemastering (applies to Debian Sarge and up also)
4 * [Debian preseed installation|http://www.debian-administration.org/articles/394]
5
6 !!AutoInstall by Progeny
9 CraigBox 7
8 An AutomatedInstallation tool for [Debian].
9
10 Bought to you by CraigBox and NeilFenemor with help from JohnMcPherson and DanielLawson
11
12 -----
13
14 autoinstall depends __far__ too much on having a 1720Kb floppy disc around - so lets blow that away and use a CDRW.
15
16 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.
17
18 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.
19
20 (cd conf && tar cf - . | gzip -9) > conf.tgz
21
22 Go get isolinux - part of the syslinux(1) suits - and get it to boot your kernel and initrd file.
23
24 I recommend using isolinux-debug.bin until you get things working right - apt-get(8) source syslinux, and then make isolinux-debug.
25
26 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
27
28 timeout 100
29 default linux initrd=initrd.gz
30 prompt 1
31
32 Copy your kernel (''linux'') and initrd (''initrd.gz'') into the cdrom/isolinux/ directory.
33
34 Copy conf.tgz into the cdrom/ directory; it will be mounted off the CD when the system boots off it.
35
36 In the cdrom/ directory, issue
37
38 mkisofs -o ../bootcd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat \
39 -no-emul-boot -boot-load-size 4 -boot-info-table .
40
41 Now cdrecord that baby and watch things fly.
42
43 (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.)
44
45 Search for autoinst_config_drive = "/dev/fd0u1720" and replace with
46
47 autoinst_config_drive = "/dev/hdc"
48 autoinst_config_fstype = "iso9660"
49
50 -----
51
52 Kernel 2.4 keeps its modules somewhere else: a patch for /usr/lib/autoinstall/mkmodules:
53
54 --- mkmodules.old Thu Feb 28 14:16:36 2002
55 +++ mkmodules Thu Aug 22 10:46:32 2002
56 @@ -133,7 +133,7 @@
57 if not os.path.exists(depmodrealpath):
58 continue
59
60 - moddir = "%s/%s" % (modroot, os.path.basename(os.path.dirname(depmodpath)))
61 + moddir = "%s" % (os.path.dirname(depmodpath)[[5:])
62 if not os.path.isdir(moddir):
63 - os.mkdir(moddir)
64 + os.makedirs(moddir)
65 os.system("cp %s %s" % (depmodrealpath, moddir))
66 -----
10 CraigBox 67
68 A better idea when using a CD is to replace the mkmodules script (or at least the bit at the end) with a nice simple one:
69
70 # Copy the modules in.
71 os.mkdir("modules")
72 modroot = "modules/%s" % kernelversion
73 os.mkdir(modroot)
74 os.system("cp -r %s/%s/* %s" % (modpath, kernelversion, modroot))
75
76 Then it copies the entire modules tree.
77
78 To do this you will need to make a bigger initrd: in /usr/bin/make-autoinst-initrd, replace the lines
79
80 dd if=/dev/zero of=$TMPPATH/initrd bs=1024 count=4096
81 /sbin/mke2fs -Fq -N 2048 $TMPPATH/initrd
82
83 with
84
85 dd if=/dev/zero of=$TMPPATH/initrd bs=1024 count=8192
86 /sbin/mke2fs -Fq -N 4096 $TMPPATH/initrd
87
88 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.
9 CraigBox 89
90 Part of LinuxInstallationNotes