1. Inledning

1.1. Introduktion

    Blue Linux är en Linux distribution vars primära mål är att kunna köras på datorer utan hårddisk. Detta är endast möjligt om datorn i fråga är utrustad med diskettenhet och CD läsare, något som de flesta datorer har i dagsläget. Det går givetvis alldeles utmärkt att köra Blue Linux på datorer med hårddiskar, men hårddisken kommer inte att användas av själva systemet. Blue Linux skall kunna köras i både textläge, och med det grafiska X Window System. Blue Linux lämpar sig även i miljöer som skolor, där man inte kan installera Linux på hårddisken. Med hjälp av ett menysystem, baserat på whiptail, kommer vissa inställningar kunna göras på ett enkelt sätt.

1.2. Linux

    Linux är det absolut hetaste operativsystemet i dagsläget, och vi skall försöka förklara varför. Ett operativsystem jobbar mycket med själva hårdvaran i datorn, och inte med användaren som vanliga program gör. De vanligaste operativsystemen är idag DOS, Windows, MacOS och diverse UNIX kloner (däribland Linux). Alla operativsystem har både för- och nackdelar. Bortsett från Linux, kostar alla nämnda operativsystem pengar; man betalar alltså en licensavgift för att få använda operativsystemet. Detta gör att Linux skiljer sig ganska mycket från mängden, och vi hade tänkt klargöra även andra skillnader.

    I början av 90-talet började Linus Torvalds, som studerade vid universitetet i Helsingfors, med att skapa en UNIX kopia som skulle vara fri, och kunna köras på vanliga PC datorer. Med hjälp av Internet kom han i kontakt med en mängd personer som hjälpte honom i utvecklingsarbetet, och antalet medhjälpare blev fler och fler med åren. Linux är egentligen bara en liten del, kärnan, av det som man brukar benämna Linux. Utanför kärnan finns förstås en mängd program som fyller diverse funktioner, som gör Linux till ett fullfjädrat operativsystem. För att sedan kunna använda Linux till något krävs en hel del program. För att göra det smidigt finns det så kallade distributioner, som innehåller, förutom själva Linux kärnan, mängder av program. En distribution består oftast av en eller flera CD skivor, samt i en del fall även manualer. Så gott som alla dessa distributioner kan man ladda hem från Internet helt gratis. Köper man dem får man betala några hundra kronor, för att täcka manual och CD kostnader. Oavsett om man köper en distribution, eller om man laddar hem den, så får man kopiera den fritt, och sprida den bäst man vill. Nuvarande stabila version av Linux är 2.2.14.

    Nu är det kanske dags att förklara varför allt är så fritt och gratis med Linux. Att ta betalt för ett program är inte särskilt populärt i Linux kretsar. Poängen med Linux från början var just att det skulle vara fritt att använda, och att alla skulle ha tillgång till källkoden för att kunna hjälpa till och göra förbättringar. Både själva Linux, och de flesta Linux programmen ligger under den så kallade GPL (General Public License) licensen. Man får göra i stort sett vad man vill med ett program med GPL licens. En annan benämning för nästan samma sak är Open Source, som också innebär fri källkod. Open Source omfattar dock fler licenser än GPL, bland annat QPL och så vidare.

    Blue Linux är baserat på Debian GNU Linux 2.2 (kodnamn potato), en av de populäraste Linuxdistributionerna. Denna distribution, som består av hela 4 CD skivor, har vi alltså utgått ifrån, och gjort en del modifieringar så att den skall passa vårat syfte bättre. Varför vi valde Debian beror på att deras paket system är mycket flexibelt, samt att Debian är utrymmessnålare och mer anpassningsbart än den marknadsledande (och mer kommersiella) distributionen RedHat. Det skulle givetvis gå att basera Blue Linux på nästan vilken Linux distribution som helst, men vi bedömer att det blir smidigare med Debian. Varför projektet överhuvudtaget är baserat på Linux är ganska självklart, inget annat operativsystem är så lätt att konfigurera i detalj. Windows är inte alls lika flexibelt, och DOS är föråldrat. Det är alltså praktiskt omöjligt att göra något liknande i ett annat operativsystem än Linux.

    Det är alltså tack vare Open Source som vi överhuvudtaget får ta en färdig produkt, göra modifieringar och ge resultatet ett nytt namn. Vi har dock inte behövt ändra något i själva källkoden till vare sig Linux eller något annat program. Vi har dock ändrat på en hel del filer, bland annat en del skript. Detta har vi gjort för att uppnå vårt mål med hårddiskoberoende system krävs alltså att man har så stora möjligheter att ändra på det befintliga systemet att alla andra operativsystem är helt uteslutna. Att försöka sig på samma ska med Windows skulle vara omöjligt, dels eftersom vi inte har tillgång till källkoden, och dels eftersom Windows är mer kommersiell, och att licensen därmed inte tillåter modifieringar av operativsystemet.

    Till skillnad från Windows är Linux mycket stabilt och säkert. Dessutom är Linux mycket flexiblare och mindre prestanda krävande. Internet är en central del i Linux, vilket kanske inte är så konstigt eftersom utvecklingen av Linux sker med hjälp av just Internet. Linux används ofta som webserver eller filserver och i vissa fall som arbetsstation. Men givetvis har systemet vissa nackdelar också. Ett vanligt argument mot icke Windows operativsystem är programutbudet, och visst så är programutbudet till Linux inte lika stort som motsvarande till Windows, men luckan blir mindre och mindre för varje dag. En annan nackdel, som kanske är ännu mera påtaglig, är användarvänligheten. Att sätta igång att arbeta med Windows klarar de flesta av, men att ge sig på Linux kräver lite mer av användaren. Numera har man från många Linuxdistributörers sida börjat med mer grafiska och lätt konfigurerande installationsprogram. Enligt vissa bedömare är det fel att påstå att Linux inte är användarvänligt. De menar på att Linux är användarvänligt, men inte nybörjarvänligt, och inte idiotvänligt; med andra ord så är Linux både lättanvänt och praktiskt när man väl behärskar det. Det ligger nog något i det, Linux har en större inlärningströskel; men när man väl har kommit över den är det inte längre några problem.

1.3. Problem och lösningar

    Att förutse alla tänkbara problem går inte, utan vi försöker förutse en del, och lösa resten efter hand. Det mest omfattande problemet som vi har att lösa är att köra Linux från en CD skiva, utan hårddiskinblandning. Det är ju dessutom just det som skall göra vår Linux distribution unik. Att uppnå detta mål innebär att man under drift inte kan skriva några data till någon lagringsenhet, förutom disketter. Tyvärr tillhandahåller en diskett bara små lagringsmängder (1.4 MB), och dessutom är de långsamma. En CD skiva rymmer 650 MB, men detta utrymme är som sagt inte skrivbart. Men det finns ett sätt att lösa detta, utan att blanda in hårddisk eller CD-ROM, nämligen ramdiskar. En ramdisk är ett block i internminnet som emulerar lagringsenhet. Ramdiskarna raderas när Linux stängs av, men under drift kan man både läsa och skriva i mån av utrymme. De delar av filsystemet som under drift kräver datalagring (dev, etc, home, root, tmp och var), placerar vi på ramdiskar, resten får ligga på den skrivskyddade CD skivan.

    Under vissa delar av utvecklingsarbetet kan det vara praktiskt att skrivskydda hårddisken, för att se hur systemet uppför sig när filsystemet inte är skrivbart. Därmed slipper man bränna ut filsystemet på CD skiva för att testa dess funktionalitet. Egentligen är det fel att säga att man skrivskyddar hårddisken. Det man egentligen gör är att man startar Linux med en parameter som anger att Linuxpartitionen inte skall vara skrivbar. I lilo (Linux Loader) anger man linux root=/dev/hda5 ro, där ro betyder att filsystemet skall vara skrivskyddat.

    Under utvecklingsarbetet måste man ha ett fungerade Linux system på datorn, eftersom en del moment måste utföras från en annan installation.

    Nu är uppläggningen klar, teorierna färdiga att testas, och då återstår det bara att se om allt fungerar som vi planerat. I Linux brukar man lösa de flesta problem med mottot RTFM (som står för det lite vulgära Read The Fucking Manual). Med andra ord, om man kör fast skall man inte gråta för det, då är det bara sätta igång att läsa manualer och så vidare. I Linux finns inbyggd dokumentation till det mesta. Man behöver bara skriva man cpio för att få hjälp med cpio kommandot.