Wanneer je je computer voor het eerst opstart, zie je in rap tempo een serie meldingen over het scherm voorbij gaan, die de hardware aangesloten op je computer beschrijft. Deze meldingen worden afgedrukt door de Linux kernel. In deze sectie zal ik de meldingen beschrijven en uitleggen.
Vanzelfsprekend verschillen deze meldingen van machine tot machine. Ik zal de meldingen beschrijven die ik krijg voor mijn machine. Het volgende voorbeeld bevat alle standaardmeldingen en een aantal specifieke meldingen. (Over het algemeen is de machine waar ik dit vandaan haal een minimaal geconfigureerde machine: je zult niet veel apparaatspecifieke configuratie zien.) Dit werd gemaakt met Linux versie 1.3.55; één van de meest recente tijdens dit schrijven.
Het eerste wat Linux doet is bepalen welk type videokaart en scherm je hebt, zodat het een goede fontgrootte uit kan kiezen. (Hoe kleiner het font hoe meer tegelijkertijd op het scherm past.) Linux kan je vragen of je een speciaal font wilt, of het kan zijn dat er een speciaal font is ingecompileerd. [1]
Console: 16 point font, 400 scans Console: colour VGA+ 80x25, 1 virtual console (max 63) |
In dit voorbeeld besloot de eigenaar van de machine tijdens het compileren dat hij standaard een groot font wilde. Let tevens op de onjuiste spelling van het woord "color." Linus leerde klaarblijkelijk de verkeerde versie Engels.
Het volgende dat de kernel zal rapporteren is hoe snel je systeem is, als gemeten door "BogoMIPS". Een "MIP" staat voor een miljoen instructies per seconde, en een "BogoMIP" is een "bogus MIP": hoeveel keren de computer absoluut niets kan doen in een seconde. (Aangezien deze loop in werkelijkheid niets doet, is het getal niet echt een meeteenheid van hoe snel het systeem is.) Linux gebruikt dit nummer wanneer het moet wachten op een hardwareapparaat.
Calibrating delay loop.. ok - 33.28 BogoMIPS |
De Linux kernel vertelt je ook iets over het geheugengebruik:
Memory: 23180k/24576k available (544k kernel code, 384k reserved, 468k data) |
Dit gaf aan dat de machine 24 megabytes geheugen heeft. Een deel van het geheugen werd gereserveerd voor de kernel. De rest ervan kan worden gebruikt door programma's. Dit is het tijdelijke RAM dat alleen voor opslag op korte termijn wordt gebruikt. Je computer heeft ook een permanent geheugen genaamd een harddisk. De inhoud van de harddisk blijft bewaard, ook als de stroom wordt onderbroken.
Tijdens de bootprocedure test Linux verschillende onderdelen van de hardware en drukt meldingen af over deze testen.
This processor honours the WP bit even when in supervisor mode. Good. |
Nu gaat Linux verder met de netwerkconfiguratie. Het volgende zou moeten worden beschreven in De Linux Networking Guide, en het valt buiten het kader van dit document.
Swansea University Computer Society NET3.033 for Linux 1.3.50 IP Protocols: ICMP, UDP, TCP |
Linux ondersteunt een FPU , een floating point unit. Dit is een speciale chip (of deel van een chip, in het geval van een 80486DX CPU ) die rekenkundige bewerkingen uitvoert met decimale getallen. Een aantal van deze chips is slecht, en wanneer Linux deze chips probeert te identificeren, "crasht" de machine. De machine stopt te functioneren. Als dit gebeurt, krijg je het volgende te zien:
Checking 386/387 coupling... |
Checking 386/387 coupling... Ok, fpu using exception 16 error reporting. |
als je een 486DX gebruikt. Als je een 386 met een 387 gebruikt, zul je zien:
Checking 386/387 coupling... Ok, fpu using irq13 error reporting. |
Het voert nu een andere test uit op de "halt" instructie.
Checking 'hlt' instruction... Ok. |
Na de initiële configuratie drukt Linux een regel af om zichzelf te identificeren. Er wordt aangegeven om welke versie het gaat, welke versie van de GNU C Compiler het compileerde en wanneer het werd gecompileerd.
Linux version 1.3.55 (root@mousehouse) (gcc version 2.7.0) #1 Sun Jan 7 14:56:26 EST 1996 |
De seriële driver is begonnen vragen te stellen over de hardware. Een driver is een deel van de kernel dat een apparaat aanstuurt, gewoonlijk een randapparaat. Het is verantwoordelijk voor de details over hoe de CPU communiceert met het apparaat. Hierdoor kunnen mensen die gebruikerstoepassingen schrijven zich concentreren op de toepassing: ze hoeven zich niet bezig te houden met hoe de computer exact werkt.
Serial driver version 4.11 with no serial options enabled tty00 at 0x03f8 (irq = 4) is a 16450 tty01 at 0x02f8 (irq = 3) is a 16450 tty02 at 0x03e8 (irq = 4) is a 16450 |
Hier vond het 3 seriële poorten. Een seriële poort is het equivalent van een DOS COM-poort, en het is een apparaat dat normaal gesproken wordt gebruikt om te communiceren met modems en muizen.
Wat het probeert te zeggen is, is dat de seriële poort 0 (COM1) het adres 0x03f8 heeft. Wanneer het de kernel onderbreekt, gewoonlijk om te zeggen dat het gegevens heeft, gebruikt het IRQ 4. Een IRQ is een ander middel van een randapparaat om met de software te communiceren. Elke seriële poort heeft ook een controllerchip. De gebruikelijke controllerchip voor een poort is een 16450; andere mogelijke waarden zijn 8250 en 16550.
Vervolgens komt de parallelle poortdriver. Een parallelle poort heeft normaal gesproken een verbinding naar de printer en de namen voor de parallelle poorten beginnen (onder Linux) met lp. lp staat voor Line Printer, alhoewel het in moderne tijden zinniger zou zijn als het zou staan voor Laser Printer. (Linux zal echter prima communiceren met elk type parallelle printer: dot matrix, inktjet, of laser.)
lp0 at 0x03bc, (polling) |
Die melding geeft aan dat het een parallelle poort heeft gevonden en er de standaarddriver voor gebruikt.
Linux identificeert vervolgens je harddisks. In het voorbeeldsysteem dat ik je toon, mousehouse, heb ik twee IDE-harddisks geïnstalleerd.
hda: WDC AC2340, 325MB w/127KB Cache, CHS=1010/12/55 hdb: WDC AC2850F, 814MB w/64KB Cache, LBA, CHS=827/32/63 |
De kernel gaat nu verder met het zoeken naar je diskettestations. In dit voorbeeld is de machine met twee diskettestations uitgerust: station "A" is een 5 {1/4} inch disk, en station "B" is een 3 {1/2} inch disk. Linux noemt station "A" fd0 en station "B" fd1.
Floppy drive(s): fd0 is 1.44M, fd1 is 1.2M floppy: FDC 0 is a National Semiconductor PC87306 |
De volgende op te starten driver op mijn voorbeeldsysteem is de SLIP-driver. Het drukt een melding af over zijn configuratie.
SLIP: version 0.8.3-NET3.019-NEWTTY (dynamic channels, max=256) (6 bit encapsulation enabled) CSLIP: code copyright 1989 Regents of the University of California |
De kernel scant ook de harddisks die het vindt. Het zal zoeken naar de verschillende partities die op elk voorkomen. Een partitie is een logische afscheiding op een drive die wordt gebruikt om er voor te zorgen dat besturingssystemen elkaar niet in de weg zitten. In dit voorbeeld had de computer twee harddisks (hda, hdb) met respectievelijk vier partities en één partitie.
Partition check: hda: hda1 hda2 hda3 hda4 hdb: hdb1 |
Tenslotte mount Linux de rootpartitie. De rootpartitie is de diskpartitie waar het Linux besturingssysteem op voorkomt. Wanneer Linux deze partitie "mount", maakt het de partitie beschikbaar voor gebruik.
VFS: Mounted root (ext2 filesystem) readonly. |
| [1] | "Compileren" is het proces waarbij een computerprogramma dat een mens schrijft wordt vertaald naar iets dat de computer begrijpt. Een feature welke is "ingecompileerd" is opgenomen in het programma. |