Verder Terug Inhoud

8. Diverse onderwerpen

8.1 Terugbrengen van de grootte van het root-bestandssysteem

Soms is een root-bestandssysteem zelfs na compressie te groot voor op een diskette. Hier zijn een aantal manieren om de grootte van je bestandssysteem te beperken, opgesomd in aflopende volgorde van effectiviteit:

Verhoog de dichtheid van de disk

Standaard worden diskettes op 1440K geformatteerd, maar formaten met hogere dichtheden zijn beschikbaar. fdformat zal disks met de volgende formaten formatteren: 1600, 1680, 1722, 1743, 1760, 1840, en 1920. De meeste 1440K drives zullen 1722K ondersteunen en dit is wat ik altijd voor bootdisks gebruik. Zie de manpage van fdformat en /usr/src/linux/Documentation/devices.txt.

Vervang je shell

Een aantal van de populaire shells voor Linux, zoals bash en tcsh, zijn groot en vereisten heel wat library's. Lichtgewicht alternatieven bestaan, zoals ash, lsh, kiss en smash, die heel veel kleiner zijn en waarvoor minder (of geen) library's nodig zijn. De meeste van deze vervangingen van de shell zijn beschikbaar vanaf http://metalab.unc.edu/pub/Linux/system/shells/. Zorg ervoor dat iedere shell die je gebruikt capabel is commando's in alle rc bestanden uit te voeren die je op je bootdisk opneemt.

Strip library's en binary's

Veel library's en binary's zijn kenmerkend niet gestript (waaronder debugging symbolen). Het uitvoeren van 'file' op deze bestanden zal je aangeven 'not stripped' als dit zo is. Het is bij het kopiëren van binaire bestanden naar je root-bestandssysteem een goede gewoonte gebruik te maken van:

        objcopy --strip-all FROM TO

Gebruik bij het kopiëren van library's:

        objcopy --strip-debug FROM TO

Verplaats niet-kritieke bestanden naar een utility-disk

Als een aantal van je binary's niet onmiddellijk nodig zijn om te booten of in te loggen, kun je ze naar een utility-disk verplaatsen. Zie voor details sectie Bouwen van een utility-disk. Bovendien zou je kunnen overwegen tevens modules naar een utility-disk te verplaatsen.

8.2 Niet-ramdisk root-bestandssystemen

In de sectie Bouwen van een root-bestandssysteem werden instructies gegeven voor het bouwen van een gecomprimeerd root-bestandssysteem die naar ramdisk wordt geladen zodra het systeem boot. Deze methode heeft vele voordelen, de reden dat het in het algemeen wordt gebruikt. Een aantal systemen met weinig geheugen kunnen het zich echter niet de RAM die hiervoor nodig is veroorloven, en hierop moet het root-bestandssysteem direct vanaf de diskette worden gemount.

Dergelijke bestandssystemen zijn in feite eenvoudiger te bouwen dan gecomprimeerde root-bestandssystemen omdat ze op een diskette kunnen worden gebouwd in plaats van op een ander device, en ze niet hoeven te worden gecomprimeerd. We zullen de procedure waarin het verschilt van de instructies hiervoor uiteenzetten. Houd in gedachten dat als je hiervoor kiest, je veel minder ruimte beschikbaar zal hebben.

  1. Bereken hoeveel ruimte je beschikbaar zal hebben voor root-bestanden. Als je een enkele boot/root-disk aan het bouwen bent, moet je alle blokken voor de kernel plus alle blokken voor het root-bestandssysteem op die ene disk passen.
  2. Door gebruik te maken van mke2fs, maak je een root-bestandssystem op een diskette van passende grootte.
  3. Stel het bestandssysteem samen zoals hiervoor beschreven.
  4. Unmount het bestandssysteem wanneer je klaar bent en transporteeer het naar een diskbestand, maar comprimeer het niet.
  5. Transporteer de kernel naar een diskette, zoals hiervoor is beschreven. Bij het berekenen van het ramdisk word, stel je bit 14 op nul, om aan te geven dat het root-bestandssysteem niet naar ramdisk zal worden geladen. Voer rdev's zoals beschreven uit.
  6. Transporteer als voorheen het root-bestandssysteem.

Er zijn verscheidene shortcuts te nemen. Als je een uit twee disk bestaande set aan het bouwen bent, kun je het complete root-bestandssysteem direct op de tweede disk bouwen en hoef je het niet naar een harddiskbestand en dan weer terug te transporteren. Ook is het zo dat als je een enkele boot/root-disk aan het bouwen bent en gebruik maakt van LILO, je een enkel bestandssysteem op de gehele disk, met de kernel, LILO en root-bestanden kunt bouwen en als laatste stap gewoonweg LILO kunt uitvoeren.

8.3 Bouwen van een utility-disk

Het bouwen van een utility-disk is relatief eenvoudig --- maak gewoon een bestandssysteem aan op een geformatteerde disk en kopieer er bestanden naar. Mount het handmatig nadat het systeem is geboot om het met een bootdisk te gebruiken.

In de instructies hiervoor, gaven we al aan dat de utility-disk als /usr gemount zou kunnen worden. In dit geval, zouden binaire bestanden in een /bin directory op je utility-disk geplaatst kunnen worden, zodat het plaatsen van /usr/bin in je path ze zal benaderen. Extra library's benodigd voor de binary's worden op de utility-disk geplaatst in /lib.

Er zijn verscheidene belangrijke punten om in gedachten te houden wanneer je een utility-disk aan het ontwerpen bent:

  1. Plaats kritieke systeembinary's of library's niet op de utility-disk, aangezien het niet te mounten zal zijn totdat het systeem is geboot.
  2. Je kunt een diskette en een floppy tape-drive niet simultaan benaderen. Dit betekent dat als je een floppy tape-drive hebt, het niet mogelijk zal zijn het te benaderen als je utility-disk is gemount.
  3. Toegang tot de bestanden op de utility-disk zal traag zijn.

In appendix Voorbeeld utility disk directory listing worden voorbeeldbestanden op een utility-disk getoond. Hier zijn een aantal ideeën voor bestanden die je wellicht van nut vindt: programma's voor het bestuderen en manipuleren van disks format, fdisk) en bestandssystemen (mke2fs, fsck, debugfs, isofs.o), een lichtgewicht teksteditor (elvis, jove), compressie en archief- utility's (gzip, tar, cpio, afio), tape utility's (mt, tob, taper), communicatie-utility's (ppp.o, slip.o, minicom) en utility's voor devices (setserial, mknod).


Verder Terug Inhoud