# Begin van het project

## Een beknopte historie van GNU/Linux

In de beginjaren '90 bestonden GNU/Linux systemen uit weinig meer dan een Linux kernel van beta kwaliteit en een kleine verzameling software geport van het GNU project. Het was een echt hacker's besturingssysteem. Er bestonden geen CD-ROM's of GUI installatietools; alles moest worden gecompileerd en geconfigureerd door de eindgebruiker. Een Linux Expert zijn betekende het systeem van binnen en buiten kennen.

Zo ongeveer halverwege het decennium begonnen GNU/Linux distributies te verschijnen. Eén van de eerste was (Slackware) in 1993 en sindsdien doken er vele anderen op. Zelfs al zijn er tegenwoordig veel Linux varianten, het hoofddoel van de distributie blijft hetzelfde. De distributie automatiseert veel van de taken die komen kijken bij een GNU/Linux installatie en configuratie die de last op de schouders van de systeembeheerder overnemen. Een Linux Expert zijn betekent nu op welke knop je moet klikken in een GUI beheertool.

Recent bleek dat er werd gesmacht naar de terugkeer van die "goeie ouwe tijd " van Linux toen mannen nog mannen waren, systeembeheerders hardcore geeks en alles werd gecompileerd vanuit de broncode. Een opmerkelijke indicatie van deze beweging was de publicatie van de Linux From Scratch HOWTO versie 1.0 van Gerard Beekmans in 1999. Een Linux Expert zijn betekent wederom weten hoe het zelf te doen.

Zie voor meer historische informatie Ragib Hasan's "History of Linux" op http://ragib.hypermart.net/linux/

## Het doel van Pocket Linux

Het doel van Pocket Linux is mensen te ondersteunen en aan te moedigen die zelf een GNU/Linux systeem op willen bouwen vanuit niets anders dan de broncode. Het is niet bedoeld als een systeem met alle features, maar in plaats daarvan de lezer de smaak te pakken te laten krijgen wat er komt kijken bij het bouwen van een besturingssysteem vanuit de broncode. Na voltooiing van het Pocket Linux systeem zou de lezer over voldoende kennis moeten beschikken om met zelfvertrouwen aan vrijwel elk project te bouwen waarin alleen gebruik wordt gemaakt van de broncode. Deze richting aangegeven kunnen we een paar beperkingen opleggen aan het project.

- Het belangrijkste is ons te concentreren op het opdoen van kennis. Het project moet niet alleen beschrijven hoe iets te doen, maar het moet ook beschrijven waarom het moet worden gedaan.

- De benodigde te besteden tijd moet minimaal en beheersbaar zijn.

- Het project moet niet verlangen dat er in extra hardware wordt geïnvesteerd of bestaande hardware opnieuw moet worden geconfigureerd om een labomgeving op te zetten.

- Lezers hoeven geen kennis te hebben van programmeertalen om het project te kunnen voltooien.

- In de geest van GNU/Linux blijvend zou alle software die in het project wordt gebruikt, moeten vallen onder de GNU/GPL of een andere vergelijkbare liberale, open-source licentie.

## Werken binnen de beperkingen

Het Pocket Linux project heeft zijn naam te danken aan het feit dat de bulk van het project op twee diskettes past, wat het mogelijk maakt het gehele werkende systeem mee te vervoeren in iemands broekzak. Dit heeft als voordeel dat er geen extra hardware nodig is, aangezien elke PC van de diskette kan worden geboot zonder enig OS te ontwrichten dat op de harddisk staat. Het gebruik van diskettes addresseert ook deels het aspect van de te besteden tijd, omdat de projectomvang en complexiteit noodzakelijkerwijs worden beperkt tot de 1.44 Megabyte omvang van de installatiemedia.

Om de te besteden tijd verder terug te dringen, is het Pocket Linux project in verscheidene fasen onderverdeeld, elk in een enkel hoofdstuk. Elke fase bouwt slechts aan een klein deel van het totaalproject, maar tegelijkertijd resulteert de slotepisode van elk hoofdstuk in een zelfomvattend werkend systeem. Deze stap-voor-stap benadering zou lezers in staat moeten stellen zelf het tempo te bepalen en niet de behoefte te voelen zich te haasten door snel resultaten te willen zien.

Hoofdstukken zijn verder onderverdeeld in vier secties. De eerste twee secties, Analyse en Ontwerp, richten zich op de theorie wat in elke fase wordt bewerkstelligd en waarom. De laatste twee secties, Constructie en Implementatie, geven details over de stappen die nodig zijn voor het feitelijke bouwen. Gevorderde lezers, die wellicht al bekend zijn met de theorieën die in een bepaald hoofdstuk worden uitgelegd, worden aangemoedigd de secties Analyse en Ontwerp in het belang van tijd over te slaan. De scheiding tussen theorie en praktijkoefeningen zouden het de lezers van alle vaardigheidsniveaus mogelijk moeten maken het project te voltooien zonder zich of volledig verloren te voelen of verveeld door teveel detail.

Ten slotte zal er bij het Pocket Linux project naar worden gestreeft daar waar mogelijk GNU/GPL software te gebruiken en andere open-source gelicentieerde software wanneer er geen GNU/GPL alternatief is. Ook verlangt Pocket Linux geen complexere kennis van programmeertalen dan een BASH-shellscript.