LFS 7.4: Succes!

Door Sjaaksken op vrijdag 18 april 2014 11:19 - Reacties (9)
Categorie: -, Views: 3.228

Enkele maanden geleden begon ik met het trage proces om een LFS build (linux from scratch) zelf te compileren. Na in het verleden reeds enkele mislukte pogingen ondernomen te hebben, is het mij ditmaal toch gelukt om deze build te vervolledigen.

Waarom je het eigenlijk zo moeilijk maken, als er toch zoveel linuxdistrubities zijn die veel meer tweaks en grafische pracht allemaal voorgeconfigureerd hebben, vraagt men mij meestal. Het antwoord is simpel: "omdat het kan" (en omdat ik het wil kunnen). Het leert je trouwens ook om de technologie die achter linux steekt, stapje voor stapje te beginnen begrijpen. De structuur van het systeem wordt er op deze manier echt ingeramd en de onmisbare tools tonen snel waarom ze zo onmisbaar zijn: indien je ergens in het proces één fout maakt, kan je meestal vanaf 'scratch' herbeginnen ofwel vanaf je laatste backup.

Toch heeft LFS ook veel voordelen: je hebt volledige controle over de software, en je kan op elk moment een backup nemen, waardoor je bv. verschillende versies van je systeem kan maken met elk een ander doel, zonder al te veel werk opnieuw te moeten doen. Je kan bv. een router/firewall maken en gebaseerd op dezelfde LFS build, een NAS systeem of een ftp server. Wie bv. een LFS systeem in een gevirtualiseerde omgeving bouwt, kan zo snel heel specifieke systemen maken, geoptimaliseerd en afgeslankt voor dat ene doel. Met de moderne distributies zoals ubuntu, die gebruiksvriendelijkheid en beheersbaarheid voorop plaatsen, is dat veel moeilijker. Hoe minder paketten te onderhouden zijn, hoe minder kans op kwetsbaarheden, desalnietemin vraagt het up-to-date houden van een LFS systeem wel meer handmatig werk dan een moderne distro met packagemanager.

Hoe begin je nu aan een LFS systeem? Eigenlijk door leentje-buur te spelen bij een al bestaand linux systeem (op een livecd of reeds geïnstalleerd). Je gebruikt de daar aanwezige paketten om zelf eerst een tijdelijk systeem te compileren. Dat tijdelijk systeem bevat eigenlijk de core-tools nodig om linux te kunnen compileren. Eens dit tijdelijk systeem alle nodige paketten bevat, mag je nog eens opnieuw beginnen met het compileren van deze zelfde paketten, maar ditmaal wel voor écht. Als je de lijst van paketten (dat zijn er nog wel wat) één voor één afgewerkt hebt, kan je beginnen aan het klapstuk: de kernel compileren. Spannend!

De kernel is echt dé kern (el) van je OS. Hierin zitten alle benodigde features om het systeem en de hardware correct te laten lopen. Met LFS dien je dit slechts éénmaal te compileren. Als je later een BLFS systeem bouwt (Beyond LFS), dan wordt een kernel compilatie echt routine, aangezien je voor veel specifieke hardware een optie moet activeren in de kernel en deze kernel dan gehercompileerd dient te worden. Maar daarover meer in een volgende blog. (zie BLFS).

Hetgeen volgt is pure ComputerLinuxRomantiek: het installeren van de bootloader én booten in je verse lean mean LFS machine. Als je alle stappen dusver doorlopen hebt is het installeren van een bootloader een makkie, waarna je de hele boel mag herstarten. Grub (de bootloader) komt te voorschijn en als alles goed gaat: BAM --> LFS.

LFS Kernel configuration

htop screenshot


En nu kan het echte werk beginnen!

edit:screenshots toegevoegd