4. Een bestandssysteem uit het niets opbouwen

Omdat ATA-compatibele compact-flash-kaarten door FreeBSD als normale IDE harde schijven worden gezien, kunt u theoretisch FreeBSD vanaf het netwerk installeren door de floppies kern en mfsroot of een CD te gebruiken.

Zelfs een kleine installatie van FreeBSD die normale installatieprocedures gebruikt kan echter een systeem produceren met een omvang van meer dan 200 MB. Omdat de meeste mensen kleinere flash-geheugenapparaten zullen gebruiken (128 MB wordt als redelijk groot gezien - 32 of zelfs 16 MB is gebruikelijk) is een installatie dat de normale mechanismen gebruikt niet mogelijk er is simpelweg niet genoeg schijfruimte voor zelfs de kleinste van de conventionele installaties.

De gemakkelijkste manier om over deze beperking heen te komen is om FreeBSD met conventionele middelen naar een normale harde schijf te installeren. Kleedt, nadat de installatie voltooid is, het besturingssysteem uit tot een grootte die op uw flash-medium past, en pak vervolgens het gehele bestandssysteem in. De volgende stappen leiden u door het proces heen van een normaal flash-geheugen voorbereiden op uw ingepakte bestandssysteem. Omdat er geen normale installatie wordt uitgevoerd, moeten bewerkingen zoals partitioneren, labelen, het aanmaken van bestandssystemen, etcetera met de hand uitgevoerd worden. Naast de floppies kern en mfsroot heeft u ook de floppy fixit nodig.

  1. Het flash-media-apparaat partitioneren

    Kies nadat er met de floppies kern en mfsroot is opgestart custom uit het installatiemenu. Kies partition in het aangepaste installatiemenu. In het partitiemenu dient u alle bestaande partities te wissen met de toets d. Maak nadat alle bestaande partities gewist zijn een partitie aan met de toets c en accepteer de standaardwaarde voor de grootte van de partitie. Zorg ervoor dat het type van de partitie op 165 is ingesteld wanneer daar naar wordt gevraagd. Schrijf nu deze partitietabel naar schijf door op de toets w te drukken (dit is een verborgen optie op dit scherm). Wanneer u een ATA-compatibele flash-kaart gebruikt, dient u de opstartbeheerder van FreeBSD te gebruiken. Druk nu op de toets q om het partitiemenu te verlaten. Het menu van de opstartbeheerder wordt nog een keer aan u getoond - herhaal de keuze die u eerder heeft gemaakt.

  2. De bestandssystemen op uw flash-geheugenapparaat aanmaken

    Verlaat het aangepaste installatiemenu, en kies van het hoofdinstallatiemenu de optie fixit. Geef na het binnengaan van de fixit-omgeving het volgende commando:

    # disklabel -e /dev/ad0c
    

    Op dit punt bent u de tekstverwerker vi binnengegaan onder toezien van het commando disklabel. Vervolgens dient u een regel met a: aan het einde van het bestand toe te voegen. Deze regel dient er als volgt uit te zien:

    a:      123456  0       4.2BSD  0       0
    

    Hierbij is 123456 een getal dat exact gelijk is aan het getal in de bestaande regel met c: voor de grootte. In feite dupliceert u de bestaande regel met c: als een regel met a:, met daarbij 4.2BSD als type van het bestandssysteem. Sla het bestand op en verlaat de tekstverwerker.

    # disklabel -B -r /dev/ad0c
    # newfs /dev/ad0a
    
  3. Uw bestandssysteem op het flash-medium plaatsen

    Koppel het nieuw voorbereide flash-medium aan:

    # mount /dev/ad0a /flash
    

    Activeer deze machine in het netwerk zodat we ons tar-bestand kunnen overzenden en het op het bestandssysteem van het flash-medium kunnen uitpakken. Een manier om dit te doen is:

    # ifconfig xl0 192.168.0.10 netmask 255.255.255.0
    # route add default 192.168.0.1
    

    Nu de machine op het netwerk is, kan het tar-bestand worden overgezonden. U kunt nu tegen een dilemma aanlopen - als bijvoorbeeld uw flash-geheugen 128 MB groot is, en uw tar-bestand groter is dan 64 MB, kan uw tar-bestand niet op het zelfde moment op het flash-medium staan als dan wanneer u het uitpakt - u zult schijfruimte tekort komen. Een oplossing voor dit probleem is, wanneer u FTP gebruikt, om het bestand uitpakt terwijl u het over FTP verzendt. Als u de overdracht op deze manier aanpakt, zult u nooit het tar-bestand en de inhoud ervan op hetzelfde moment op uw schijf hebben:

    ftp> get tar-bestand.tar "| tar xvf -"
    

    Als uw tar-bestand met gzip is ingepakt, kunt u dit ook voor elkaar krijgen:

    ftp> get tar-bestand.tar "| zcat | tar xvf -"
    

    Nadat de inhoud van uw ge-tar-de bestandssysteem op het bestandssysteem van uw flash-geheugen staan, kunt u het flash-geheugen afkoppelen en opnieuw opstarten:

    # cd /
    # umount /flash
    # exit
    

    Aangenomen dat u uw bestandssysteem correct heeft geconfigureerd toen het gebouwd werd op de normale harde schijf (met uw bestandssystemen als alleen-lezen aangekoppeld en met de nodige opties in de kernel gecompileerd) zou u nu succesvol uw embedded FreeBSD-systeem moeten kunnen opstarten.