De Loopback Root FileSystem HOWTO

v1.1, 24 september 1999

In deze HOWTO wordt uitgelegd hoe het Linux loopback device kan worden gebruikt voor een installatie in het Linux native bestandssysteemformaat dat zonder opnieuw te partitioneren vanaf een DOS-partitie kan worden gedraaid. Tevens worden andere gebruiken met dezelfde techniek besproken.

Introductie

CopyrightDe Loopback Root Filesystem HOWTO Copyright (C) 1998,99 Andrew M. Bishop (amb@gedanken.demon.co.uk).Deze documentatie is vrije documentatie; je kunt het herdistribueren en/of wijzigen onder de voorwaarden van de GNU General Public Licentie zoals gepubliceerd door de Free Software Foundation; óf versie 2 óf (naar keuze) een eventuele latere versie.Dit programma is gedistribueerd in de hoop dat het van nut zal zijn, maar ZONDER GARANTIE; zonder zelfs de impliciete garantie van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL. Zie de GNU General Public Licentie voor meer details.De GNU General Public Licentie is verkrijgbaar vanaf of, schrijf naar de Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA
Grondbeginselen van Loopback Devices en RamdisksAls eerste zal ik een aantal van de algemene grondbeginselen beschrijven die worden gebruikt bij het instellen van een loopback filesystem als het root-device.

Loopback DevicesEen loopback device onder Linux is een virtueel device dat net als ieder ander media-device kan worden gebruikt.Voorbeelden van gewone media-devices zijn harddisk-partities zoals /dev/hda1, /dev/hda2, /dev/sda1, of gehele disks zoals het diskettestation /dev/fd0 enz. Het zijn allen devices die kunnen worden gebruikt om bestanden en directory-structuren te bevatten. Ze kunnen met het benodigde bestandssysteem (ext2fs, msdos, ntfs enz.) worden geformatteerd en vervolgens worden gemount.Het loopback filesystem associeert een bestand op een ander bestandssysteem als een compleet device. Dit kan dan net als enig ander device worden geformatteerd en gemount. Om dit te kunnen doen wordt het device genaamd /dev/loop0, /dev/loop1, enz. geassocieerd met het bestand en vervolgens wordt dit nieuwe virtuele device gemount.
Hoe een Loopback Root Device aan te makenNu dat de algemene grondbeginselen zijn uitgelegd, kan de te gebruiken methode voor het aanmaken van het loopback-device worden uiteengezet.

BenodigdhedenOm het loopback rootdevice aan te maken zijn een aantal dingen benodigd.Een werkend Linux-systeem.Een manier om grote bestanden naar de DOS-doelpartitie te kopiëren.Het belangrijkste is de toegang tot een geïnstalleerd Linux-systeem. Dit omdat het loop-device alleen onder Linux kan worden aangemaakt. Dit betekent dat het niet mogelijk is een werkend systeem vanuit het niets te booten. De benodigdheden van het Linux-systeem waar je gebruik van maakt is dat je er een kernel op kunt compileren.Als het loopback-device éénmaal is aangemaakt, zal het een groot bestand zijn. Ik heb bestanden van 80 MB gebruikt, maar ook al was dit voldoende voor een X-terminal, mogelijk dat het niet genoeg is als je het voor veel meer wilt gebruiken. Dit bestand moet naar de DOS-partitie worden gekopieerd, dus er moet óf van een netwerk, óf van een heleboel diskettes gebruik worden gemaakt.De benodigde software bestaat uit:LOADLIN versie 1.6 of hogerEen versie van mount welke loopback-devices ondersteuntEen kernelversie welke de benodigde opties ondersteunt.Dit zou voor recente Linux-installaties standaard aanwezig moeten zijn.
Het booten van het SysteemAlles wat je nodig hebt om vanaf dit nieuwe root-device te booten, is dat de diskette geprepareerd zoals hiervoor is beschreven in het diskettestation is gedaan om vanaf te booten.Je zal de volgende reeks gebeurtenisssen te zien krijgen. DOS bootAUTOEXEC.BAT startLOADLIN wordt uitgevoerdDe Linux-kernel wordt naar het geheugen gekopieerdDe initiële ramdisk wordt naar het geheugen gekopieerdDe Linux-kernel is begonnen aan de uitvoeringHet bestand /linuxrc op de initiële ramdisk wordt uitgevoerdDe DOS-partitie is gemount en de root en swap-devices ingesteldDe bootreeks continueert vanaf het loopback-deviceWanneer het systeem hiermee klaar is, kun je de opstartdiskette verwijderen en het Linux-systeem gebruiken.

Mogelijke Problemen Met OplossingenEr zijn een aantal fasen waarin dit proces zou kunnen mislukken, ik zal proberen uit te leggen wat dat zijn en wat te controleren.Wanneer DOS boot is eenvoudig te herkennen door de melding MS-DOS Starting ... op het scherm. Als deze melding niet verschijnt, dan is de diskette óf niet opstartbaar of het systeem kan niet worden opgestart vanaf het diskettestation.Wanneer de commando's in het AUTOEXEC.BAT bestand worden uitgevoerd, zouden deze standaard naar het scherm moeten worden geëchoot. In dit geval gaat het slechts om een enkele regel waarmee LOADLIN wordt opgestart.Wanneer LOADLIN wordt uitgevoerd, zal het twee zeer zichtbare dingen doen, als eerste zal het de kernel in het geheugen laden, ten tweede zal het de ramdisk naar het geheugen kopiëren. Beiden zijn te herkennen aan een Loading... melding.De kernel begint zichzelf te comprimeren, hierdoor kunnen crs fouten ontstaan als de kernel-image beschadigd is. Vervolgens zal het de initilisatiereeks starten, welke zeer woordenrijk met diagnostische meldingen is. Tijdens deze fase is het laden van het initiële ramdisk-device ook zichtbaar.Tijdens de uitvoering van het bestand /linuxrc zijn er geen diagnostische meldingen, maar die kun je zelf als hulp bij het debuggen toevoegen. Als het in dit stadium niet lukt het loopback-device als het root-device in te stellen, dan zie je wellicht een melding dat er geen root-device is en breekt de kernel af.De normale bootreeks van het nieuwe root-device zal nu verdergaan en hierbij worden heel wat meldingen weergegeven. Er kunnen problemen optreden met het read-write mounten van het root-device, maar de commandoregel-optie 'ro' van LOADLIN kan dit verhelpen. Andere problemen die op kunnen treden bestaan daaruit dat de bootreeks van slag is over waar het root-device is, dit is waarschijnlijk te wijten aan een probleem met /etc/fstab.Wanneer de bootreeks is voltooid, blijft er nog een probleem over dat programma's van slag zijn of de DOS-partitie wel of niet is gemount. Daarom is het een goed idee het eerder beschreven nep mount commando te gebruiken. Dit maakt 't leven er een stuk eenvoudiger op als je de bestanden op het DOS-device wilt benaderen.
Andere Mogelijkheden met het Loopback Root DeviceNu het principe van het booten van een bestandssysteem in een bestand op een DOS-partitie is bewezen, zijn er veel andere dingen die je nu kunt doen.

DOS Harddisk InstallatieAls het mogelijk is Linux vanaf een bestand op een DOS-harddisk te booten door gebruik te maken van een opstartdiskette, dan is het uiteraard ook mogelijk dit te doen door de harddisk zelf te gebruiken.Een configuratie bootmenu kan worden gebruikt met de optie om LOADLIN vanuit AUTOEXEC.BAT uit te voeren. Hierdoor zal de bootreeks sneller zijn, maar verder is het identiek.