# FreeBSD kvikstart Guide

Alfred
Perlstein

    alfred@FreeBSD.org

$FreeBSD$
&tm-attrib.freebsd; &tm-attrib.intel; &tm-attrib.general;

Denne artikel viser metoden hvorved man kan få maskiner til at installere FreeBSD ved hjælp af &intel; PXE metoden til at boote en maskine over et netværk.

&trans.da.jespersen;

## Introduktion

Denne procedure vil gøre Serveren både usikker og farlig. Det er bedst bare at holde Serveren på sin egen hub og ikke på nogen måde tilgængelig for andre maskiner end klienterne.

Terminologi:

Server: | Maskinen der tilbyder netboot og installations muligheder.
Klient: | Maskinen der skal have FreeBSD installeret på sig.

Kræver: Klienter der understøtter &intel; PXE netboot muligheden, en Ethernet forbindelse.

Lad mig gerne vide hvis du falder over noget du har problemer med, eller forslag til yderligere dokumentation.

Hvis du skal bruge nogen til at træne/implementere et specifikt netinstallations system for dig, så send mig venligst en e-mail så vi kan diskutere vilkår.

Jeg vil også gerne takke &a.ps; og &a.jhb; for, at lave det meste af programmeringsarbejdet på pxeboot, interfacet til &intel; PXE (netboot) systemet.

## Server Konfiguration

1. Installér DHCP: Installér `net/isc-dhcp3` du kan bruge denne config fil `dhcpd.conf`, put den ind i `/usr/local/etc/`.

2. Slå tftp til:

   1. Lav mappen `/usr/tftpboot`

   2. Tilføj denne linie til din `/etc/inetd.conf`:

          tftp    dgram   udp     wait    nobody  /usr/libexec/tftpd    tftpd /usr/tftpboot

3. Slå NFS til:

   1. Tilføj dette til `/etc/rc.conf`:

          nfs_server_enable="YES"

   2. Tilføj dette til `/etc/exports`:

          /usr -alldirs -ro

4. Genstart for at slå de nye services til eller start dem manuelt.

## Bootstrap opsætning

1. Download bootfiler: Download kern.flp og mfsroot.flp floppy imagesne.

2. Opsætning af ftp/pxe-boot mappen:

   1. Put pxeboot i boot mappen:

          &prompt.root; rm -rf /usr/obj/*
          &prompt.root; cd /usr/src/sys/boot
          &prompt.root; make
          &prompt.root; cp /usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot

   2. Mount `kern.flp` filen ved hjælp af vndevice og kopier dens indhold til `/usr/tftpboot`:

          &prompt.root; vnconfig vn0 kern.flp    # associer et vndevice med filen
          &prompt.root; mount /dev/vn0 /mnt      # mount det
          &prompt.root; cp -R /mnt /usr/tftpboot # kopier indholdet til /usr/tftpboot
          &prompt.root; umount /mnt              # unmount det
          &prompt.root; vnconfig -u vn0          # disassocier vndevicet fra filen

3. Kompiler en tilpasset kernel for klienterne (for at undgå device konfigurations skærmen ved boot) og put den i `/usr/tftpboot`.

4. Lav en speciel `loader.rc` og installer det i `/usr/tftpboot/boot/loader.rc` så den ikke prompter for den anden disk, her er min.

5. Pak installeren og hjælpeprogrammerne fra mfsroot disken ud og dekomprimer dem, put dem ned i`/usr/tftpboot` også:

       &prompt.root; vnconfig vn0 mfsroot.flp         # associer et vndevice med filen
       &prompt.root; mount /dev/vn0 /mnt              # mount det
       &prompt.root; cp /mnt/mfsroot.gz /usr/tftpboot # kopier indholdet til /usr/tftpboot
       &prompt.root; umount /mnt                      # unmount det
       &prompt.root; vnconfig -u vn0                  # disassocier vndevicet fra filen
       &prompt.root; cd /usr/tftpboot                 # skift mappe til pxeboot mappen
       &prompt.root; gunzip mfsroot.gz                # dekomprimer mfsroot

6. Lav dit sysinstall script `install.cfg`, du kan bruge mit som en skabelon, men du er nød til at editere det.

7. Kopier sysinstall scriptet ind i det udpakkede og dekomprimerede mfsroot image:

       &prompt.root; cd /usr/tftpboot
       &prompt.root; vnconfig vn0 mfsroot
       &prompt.root; mount /dev/vn0 /mnt
       &prompt.root; cp install.cfg /mnt
       &prompt.root; umount /mnt
       &prompt.root; vnconfig -u vn0

## Installations opsætning

1. Put installations filerne i en mappe der kan nås via NFS på Serveren. Lav en mappe der svarer til 'nfs' direktivet i `install.cfg` filen og lav et spejl af FreeBSD installations filerne der, du skal have det til at se ud nogenlunde sådan her:

       ABOUT.TXT       TROUBLE.TXT     compat20        floppies        ports
       ERRATA.TXT      UPGRADE.TXT     compat21        games           proflibs
       HARDWARE.TXT    XF86336         compat22        info            src
       INSTALL.TXT     bin             compat3x        kern.flp
       LAYOUT.TXT      catpages        crypto          manpages
       README.TXT      cdrom.inf       dict            mfsroot.flp
       RELNOTES.TXT    compat1x        doc             packages

2. Kopier de komprimerede pakker ind i packages/All mappen under `nfs`.

3. Vær sikker på, at du har en `INDEX` fil gjort klar i packages mappen. Du kan lave dine egne `INDEX` notater sådan her:

       alfred-1.0||/|Alfred install bootstrap||alfred@FreeBSD.org||||

   Så kan du installere tilpassede pakker, specielt din egen tilpassede post-install pakke.

## Tilpasset Post-Install Pakke

Du kan bruge scriptet `pkgmaker.sh` til at lave en tilpasset pakke til post install. Ideen er at have den til at installere og konfigurere de specielle ting du vil have gjort. `pkgmaker` Køres i mappen ovenover den pakke du ønsker at lave med det ene argument fra pakken (f. eks mypkg) som så vil lave en mypkg.tgz som du så kan inkludere i din sysinstall pakke.

Inde i din mappe med tilpassede pakker vil du have en fil kaldet `PLIST` som indeholder alle de filer du ønsker at installere og få inkorporeret i din pakke.

Du vil også ønske dig at have nogle filer kaldet `pre` og `post` i den mappe, disse er shell scripts som du vil eksekverer før og efter din pakke er installeret.

Siden denne pakke er i din `install.cfg` fil burde den blive kørt og lave den sidste konfiguration for dig.