reorganized Config file
[hdw-linux/hdw-linux.git] / doc / FAI
diff --git a/doc/FAI b/doc/FAI
index 2cbfa00..9917e62 100644 (file)
--- a/doc/FAI
+++ b/doc/FAI
@@ -10,30 +10,33 @@ files:
 ------
 
 ./scripts/Create-FAI
+./fai/*
 ./doc/FAI
 
 procedure
 ---------
 
-       1) install mnimal nfsroot binaries
-          (as described in INSTALL chapter 2.)
+       1) install minimal nfsroot binaries
 
-               vi Config [enter default as a target, specify arch*]
+               vi Config [specify arch* variables]
 
-       note: default target is enough. you dont need to specify fai-server.
-             we are just going to install the nfsroot which will automate
-             the install process. fai-server is actually the target you will
-             need as a running system to have pxeboot/nfsutils and stuff.
+       note: you dont need to specify fai-server as a target. we are just
+             going to install the nfsroot which will automate the install
+             process. the packages of the fai-server target have to be running
+              on the computer on which you are right now following these
+              instructions.
 
-               ./scripts/Helper -create_dist_files
-               ./misc/hdw-tools/hdw-get dist-install /mnt/fai-root \
-                       ./distro/default
+       note: you might want to fetch hdw binaries from a mirror.
+             edit your /etc/hdw-get.conf file.
 
-       2) prepare nfsroot & mount ./fai dir via loopback for configurations
+               ./scripts/Create-FAI <nfsroot>
 
-               ./scripts/Create-FAI /mnt/fai-root
+               where <nfsroot> is the directory to install the fairoot.
 
-       4) adapt configs in ./fai (see chapter "fai config files")
+       2) adapt the hdw-get.conf file in the fai nfsroot tree
+
+       note: again you might want to use a mirror. edit hdw-get.conf, but make
+             sure it is the one from fairoot.
 
        3) edit the following files to match your needs, and restart services
 
@@ -44,13 +47,157 @@ procedure
 
                (have a look at chapter "fai server configuration")
 
-       4) pxeboot your install candidates and watch installation
+       4) adapt configs in ./fai (see chapter "fai config files")
+
+       5) pxeboot your install candidates. this is actually not fully
+          automated. have a look athe bootdisk section if your client does
+          not support pxeboot.
+
+               - type "fai" on pxeboot prompt
+               - after first bootup, use cfdisk to partition your harddisk
+               - touch a disk_ready file in configuration space
+                 (after using cfdisk, sync to disk file!)
+               - reboot and finaly wathc your target system to get hdw'ed :)
+
+       6) optional: login, build a new kernel or do other modifications.
 
 
 fai config files
 ----------------
 
+       config files reside in 1) ./fai/config/<client_ip>/ and 2) ./fai/files/
+       directories.
+
+       config dir:
+
+               - the files reside in a subdirectory, which is simply the
+                 clients ip address, as different clients may need different
+                 config.
+               - files:
+                       1) disk
+                       2) packages
+
+                       disk file is used to determine the partition layout and
+                       used harddisk. the format: (example, its intuitive!)
+
+                       # disk /dev/hda
+                       # swap 7
+                       1       /boot   ext3    format
+                       5       /       ext3    format
+                       6       /home   ext3    preserve
+
+                       packages file contains packages to get installed. you
+                       may use ./scripts/Helper -create_dist_files to create
+                       one. make sure that all the packages are available on
+                       the mirror, otherwise the fai install routine will
+                       break. hint: switch the partitions to "preserve" and
+                       hdw-get will not install already installed packages
+                       again.
+                       
+        files dir:
+
+               - files called DEFAULT in a special directory will be copied to
+                 every client to the file of its dirname.
+               - files named like a clients ip address will be only copied to
+                 that client (again, the file will be the dirname)
+
+               example:
+
+               ./fai/files/etc/X11/XF86Config/DEFAULT will be copied to all
+               clients as /etc/X11/XF86Config file.
+
+
 fai server configuration
 ------------------------
 
-[to be continued]
+there are several files you need to hack. here we go:
+
+       - dhcpd:
+
+               file: /etc/dhcpd.conf
+
+               examples rule, have a look at the configuration for my fai
+               client:
+
+               ...
+               option routers 192.168.10.10;
+               option domain-name-servers 192.168.10.50, 194.25.134.203;
+               host compaq {
+                       fixed-address 192.168.10.80;
+                       hardware ethernet 00:50:8b:cb:8e:d2;
+                       allow booting;
+                       allow bootp;
+                       next-server hackstation; # the fai server
+                       server-name hackstation;
+                       filename "pxelinux.0";
+               }
+               ...
+
+       - tftpboot (you will need tftp-hpa as tftpserver)
+
+               the scripts prepared a working fai config file at
+               /tftpboot/pxelinux.cfg, just add a symbolic link of your clients
+               ip address (in hex, use: gethostip) pointing to fai.
+               ofcourse you need to have the package syslinux installed.
+
+       - nfsd:
+
+               file: /etc/exports
+
+               the scripts added export entries. just substitute "foobar" to
+               the name or ip address of your fai clients.
+
+       - inetd
+
+               file: /etc/inetd.conf
+
+               make sure the tftpboot line is uncommented. if you have problems
+               of tftpd switching to user nobody google for solutions. if you
+               are too lazy substitute "nobody" by "root in inetd.conf. this
+               is dangerous though, you have been warned.
+
+note: restart all the mentioned services.
+
+bootdisk
+--------
+
+for computers old enough to not support pxe but having installed a piece
+of hardware called floppy disk, you may create a bootdisk containing the
+install kernel (the pxe stuff is replaced by the bootdisk).
+
+- compile a customized kernel <= 1.3 mb. do not unset needed features!
+
+       (use ./misc/arch/${hdw_arch}/linux.config as .config + modify)
+
+- copy bzImage to fai/files/boot/vmlinuz_custom/<ip>
+
+- create bootfloppy image
+
+       dd if=/dev/zero of=bootdisk.img bs=1024 count=1440
+       yes | mke2fs -q -i 40000 -m 0 bootdisk.img
+       mkdir -p /mnt/tmp ; mount -o loop bootdisk.img /mnt/tmp
+       mkdir -p /mnt/tmp/{boot,etc} ; cp bzImage /mnt/tmp/boot/vmlinuz
+       cp misc/fai/lilo.conf /mnt/tmp/etc/lilo.conf
+       (change boot, disk map and image values)
+       touch /mnt/tmp/boot/map # enough? if not take yours from /boot
+       lilo -C /mnt/tmp/etc/lilo.conf
+       umount /mnt/tmp
+       (you may store bootdisk.img in the clients config space)
+
+       finaly: (create the boot floppy)
+
+       dd if=bootdisk.img of=/dev/floppy/0
+
+troubleshooting
+---------------
+
+contact me! -> http://www.hackdaworld.dyndns.org/contents/contact/
+email: hackbard@hackdaworld.dyndns.org
+irc: irc.hackdaworld.dyndns.org - #hackdaworld
+
+greets
+------
+
+good luck now, you are own your own! enjoy hdw. :)
+
+regards, hackbard.