X-Git-Url: https://hackdaworld.org/gitweb/?p=hdw-linux%2Fhdw-linux.git;a=blobdiff_plain;f=doc%2FFAI;h=9917e6213821fbe889d25f592b04c9723900c605;hp=2cbfa0065b3190ca9c6d2005b41e3995d6195ad4;hb=4dfe4bc90c6670e31d52449b3294467e879eda28;hpb=5ec575d2b0a8b430079f5dd375565fd99876db19 diff --git a/doc/FAI b/doc/FAI index 2cbfa00..9917e62 100644 --- 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 - ./scripts/Create-FAI /mnt/fai-root + where 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// 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/ + +- 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.