4mb Laptop HOWTO

Bruce Richardson <brichardson@lineone.net> Vertaald door: Ellen Bokhorst 25 maart 2000

Hoe een "volwassen" Linux distributie op een small-spec (4mb RAM, <=200mb hard disk) laptop te plaatsen.

Inhoudsopgave

1 Introductie 3 1.1 Waarom dit document werd geschreven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Wat voor nut heeft een kleine laptop? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Waarom de laptop niet gewoon upgraden? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Hoe zit het met 4mb desktop machines? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 Waar dit document niet voor is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.6 Waar dit document is te vinden. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.7 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 De Laptops 4

2.1 Basisspecificaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.1 Compaq Contura Aero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.2 Toshiba T1910 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Het probleem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 De oplossing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Gemaakte keuzes 5 3.1 Wat te gebruiken om de initiële rootpartitie aan te maken? . . . . . . . . . . . . . . . . . . . 5 3.2 De distributie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2.1 Maar ik vind Slackware maar niks! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3 Welke installatiemethode te gebruiken? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.4 Partitielay-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.4.1 Basisbenodigdheden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4.2 Hoe complex wordt de lay-out? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.5 Welke componenten installeren? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 De voorinstallatieprocedure 8 4.1 muLinux voorbereiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2 Bereid de installatierootbestanden voor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3 Maak de partities aan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3.1 Een mini-Linux en een ext2 bestandssysteem - een belangrijke noot. . . . . . . . . . . 9 4.3.2 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5 De installatie 10 5.1 Boot de machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2 Floppy/Parport CD-ROM installatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.3 Network/PCMCIA installatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.3.1 PCMCIA installatie op de Aero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.4 Set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5.4.1 AddSwap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.4.2 Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.4.3 Kiezen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.4.4 Installatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.4.5 Configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.4.6 Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5.5 Configuratie voor de herstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.6 Configuratie na de herstart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5.6.1 Hergebruik de tijdelijke root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.6.2 Andere configuratie fijnafstemmingen . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Conclusie 13

7 Appendix A: 14

7.1 A - Basis Linux systeem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.1.1 Packages overwogen om weg te laten: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.1.2 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.2 AP - Niet-X applicaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 Packages overwogen om op te nemen: . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

7.3 D - Ontwikkeltools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

7.3.1 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.4 E - Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

7.4.1 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.5 F - FAQ’s en HOWTO’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

7.5.1 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.6 K - Kernel Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

7.6.1 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.7 N - Netwerktools en applicaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7.7.1 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7.8 Tetex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7.8.1 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7.9 Y - BSD spellenverzameling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7.9.1 Geïnstalleerde packages: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7.10 Eindresultaat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

8 Appendix B: Bronnen relevant voor deze HOWTO 18

1 Introductie

1.1 Waarom dit document werd geschreven

Ik wist twee oudere laptops te bemachtigen, beiden met slechts 4mb RAM en kleine (<=200mb) harddisks. Ik wilde hierop Linux installeren. De documentatie voor dergelijke laptops raadt altijd aan een mini-Linux of een oude (en daardoor compacte) versie van één van de professionele distributies te installeren. Ik wilde een up-to-date professionele distributie installeren.

1.2 Wat voor nut heeft een kleine laptop?

Volop. Hierop zal geen X worden gedraaid en het zal geen ontwikkelaarsbox worden (zie 3.5 (Welke componenten installeren?)), maar als je je goed voelt bij de console dan heb je een machine waarmee je kunt e-mailen, netwerken, schrijven, enz. Laptops kunnen ook uitstekend dienst doen voor diagnostische/reparatie tools en de utility’s daarvoor zullen makkelijk op kleine laptops passen.

1.3 Waarom de laptop niet gewoon upgraden?

Het upgraden van oude laptops is niet veel goedkoper dan het upgraden van nieuwere modellen. Dat is nogal veel geld voor een oude machine, vooral in aanmerking genomen dat de fabrikant het niet meer ondersteunt en losse onderdelen moeilijk zijn te vinden.

1.4 Hoe zit het met 4mb desktop machines?

De procedure beschreven in dit document zal zeer goed werken op een desktop PC. Aan de andere kant is het upgraden van een desktop veel makkelijker en goedkoper dan het upgraden van een laptop. Zelfs als je niet kiest voor upgraden dan nog zijn er eenvoudiger opties. Je kunt er nog altijd de harddisk uithalen, deze in een krachtiger machine plaatsen, er Linux op installeren, het zodanig inkrimpen dat het op de harddisk past om de harddisk vervolgens terug te plaatsen in de oude machine.

1.5 Waar dit document niet voor is

Dit document is geen algemene HOWTO over het installeren van Linux op laptops of ook maar een specifieke HOWTO voor één van de twee machines die hier worden genoemd. Hierin wordt simpelweg een manier beschreven om een omvangrijke Linux distributie samen te persen in een zeer kleine ruimte, waarbij twee specifieke machines als voorbeeld worden genomen.

1.6 Waar dit document is te vinden.

De laatste kopie van dit document is in verscheidene formaten te vinden op http://website.lineone.net/˜ brichardson/linux/4mb_laptops/.

1.7 Copyright

Dit document is auteursrechtelijk beschermd (c) door Bruce Richardson 2000. Het mag onder voorwaarden uiteengezet in de LDP-licentie op sunsite.unc.edu/LDP/COPYRIGHT.html gedistribueerd.

Deze HOWTO is vrije documentatie; je kunt het onder de voorwaarden van de LDP licentie redistribueren en/of wijzigen. Dit document wordt gedistribueerd in de hoop dat het van nut zal zijn, maar zonder enige garantie; zelfs zonder de impliciete garantie van verkoopbaarheid of geschiktheid voor een bepaald doel. Zie de LDP licentie voor meer details.

Toshiba en T1910 zijn handelsmerken van Toshiba Corporation. Compaq en Contura Aero zijn handelsmerken van Compaq Computer Corporation.

2 De Laptops

In deze sectie worden de laptops beschreven waarop ik deze procedure heb toegepast, de problemen die ik tegenkwam tijdens het installeren van Linux op deze laptops en de oplossingen voor deze problemen (in grote lijnen).

2.1 Basisspecificaties

2.1.1 Compaq Contura Aero

• 25MHz 486SX CPU

• 4mb RAM

• 170mb Hard Disk

• 1 PCMCIA Type II slot

• Extern PCMCIA 3.5"diskettestation^{1}

2.1.2 Toshiba T1910

• 33MHz 486SX CPU

• 4mb RAM

• 200 mb Hard Disk

• Intern 3.5"diskettestation

• 1 PCMCIA Type II/III slot

1Het PCMCIA diskettestation heeft een eigen interface welke deels wordt bestuurd door Aero’s unieke BIOS. De Linux PCMCIA drivers kunnen er niet mee overweg. Volgens de PCMCIA-HOWTO zal het als een standaardstation functioneren als het station is verbonden wanneer de laptop boot en de Card Services zullen de socket negeren, maar het is niet hot-swappable. Ik bemerkte echter dat het station ontoegankelijk werd zodra de Card Services opstartte, tenzij er zich een gemounte disk in het station bevond. Dit heeft implicaties voor het installatieproces - deze worden behandeld op relevante momenten.

2.2 Het probleem

De kleine harddisks en het gebrek aan een intern diskettestation op de Aero maken dat de installatie wat lastiger verloopt dan normaal, maar het werkelijke probleem wordt gevormd door het RAM. Geen van de huidige distributies biedt een installatiedisk waarmee in 4mb geboot kan worden, zelfs niet als de gehele harddisk is geformatteerd als swappartitie.

De standaardinstallatie maakt gebruik van een bootdisk om een rootpartitie image te decomprimeren (of van een tweede diskette of vanaf CD-ROM) naar een ramdisk. De rootimage heeft bij benadering een omvang van 4mb. In dit scenario is dat alle beschikbare RAM. Probeer het en het loopt vast tijdens het uitpakken van het rootimage.

2.3 De oplossing

Het antwoord is het elimineren van de ramdisk. Als je root op een fysieke partitie kunt mounten, dan heb je voldoende geheugen om de installatie uit te voeren. Aangezien de ongecomprimeerde ramdisk te groot is voor een diskette, is de enige plaats die overblijft op de harddisk van de laptop. De stappen zijn:

1. Zoek naar iets dat in 4mb ram boot en waarmee ook ext2 partities kunnen worden aangemaakt.

2. Gebruik het om een swappartitie en een kleine ext2 partitie op de harddisk van de laptop aan te maken.

3. Decomprimeer de installatie root-image en kopieer het naar de ext2 partitie.

4. Boot de laptop van de installatie bootdisk, het verwijzend naar de ext2 partitie op de harddisk.

5. Vanaf hier zou de installatie min of meer normaal moeten verlopen.

De enige vraag was of een distributie (onder normale omstandigheden) niet kon worden geïnstalleerd op de laptops er wel op zou kunnen draaien. Het beknopte antwoord is "Ja".

Als je een oude Linux goeroe bent, dan is dat alles wat je moet weten. Zo niet, lees dan verder - een aantal eerder genoemde stappen zijn niet zo simpel als ze eruitzien.

3 Gemaakte keuzes

In deze sectie worden de beschikbare keuzes beschreven, welke opties praktisch zijn, welke ik heb gekozen en waarom.

3.1 Wat te gebruiken om de initiële rootpartitie aan te maken?

Het beste hulpmiddel hiervoor is een mini-Linux. Er is een brede keuze aan kleine Linux distributies op het Net, maar de meeste daarvan kunnen niet in 4mb RAM worden geboot. Ik vond er twee die dit wel doen:

SmallLinux http://smalllinux.netpedia.net/ SmallLinux boot in slechts 2mb RAM, maar de rootdisk kan niet uit het diskettestation worden genomen, wat jammer is, omdat het verder alles biedt wat we nodig hebben (d.w.z. fdisk, mkswap en mkfs.ext2). SmallLinux kan de benodigde partities aanmaken, maar het kan niet worden gebruikt om de rootpartitie te kopiëren. muLinux http://sunsite.auc.dk/mulinux/

muLinux boot wel in 4mb, maar slechts in de beperkte single-user modus. In deze modus zijn fdisk en mkswap beschikbaar, maar mkfs.ext2 en de library’s die nodig zijn, staan in de /usr partitie die in de onderhoudsmodus niet beschikbaar is. Voor het gebruik van muLinux voor de gehele voorinstallatieprocedure moeten de bestanden die nodig zijn om ext2 bestandssystemen aan te maken, worden geëxtraheerd uit de usr diskimage en naar diskette worden gekopieerd.

Dit geeft de keuze uit of het gebruik van SmallLinux om de partities aan te maken en muLinux om de rootpartitie te kopiëren of het gebruik van muLinux voor het uitvoeren van de gehele taak. Aangezien ik twee laptops had, probeerde ik beiden.

3.2 De distributie

De keuze voor Slackware nam niet veel tijd in beslag. Afgezien van het feit dat ik het prettig vind, het nog niet zoveel heb gebruikt en er meer van wil leren, nam ik de volgende punten in overweging:

• Slackware is één van de meest flexibele distributies. Het wordt geleverd met een brede variëteit aan bootdiskkernels geschikt voor veel verschillende machines. Dit maakt het heel goed geschikt voor het soort hacken wat in dit scenario nodig is.

• Slackware ondersteunt alle methoden opgesomd in 3.3 (Welke installatiemethode te gebruiken?).

• Slackware is een distributie die door één persoon is ontworpen. Ik ben er zeker van dat Patrick Volkerding er geen bezwaar tegen heeft als ik zeg dat dit betekent dat configuratietools eenvoudiger en beter gestroomlijnd zijn. Naar mijn mening maakt dit de taak de installatie in te krimpen dat het past makkelijker.

Versie 7.0 was de laatste versie toen ik dit probeerde, dus die gebruikte ik.

3.2.1 Maar ik vind Slackware maar niks!

Je hoeft het niet te gebruiken. Ik kan geen antwoord geven voor alle distributies, maar ik weet dat Debian, Red Hat en SuSE een breed bereik aan installatiemethoden bieden en een ëxpertïnstallatieprocedure bevatten^{2} welke hier kan worden gebruikt. De meeste stappen die in dit document worden beschreven kunnen zonder wijzigingen op andere distributies worden toegepast.

Als je de expert methode van je voorkeursdistributie nog niet eerder gebruikte, voer dan een testrun uit op een simpele desktopcomputer om er aan te wennen en de opties die het biedt te onderzoeken.

3.3 Welke installatiemethode te gebruiken?

Floppy Install Dit betekent 15 diskettes, wat je slechts een absoluut minimale installatie geeft en een tweede fase vereist om de applicaties te verkrijgen die je hebben wilt. Het is ook erg langzaam op dergelijke low-spec computers. Dit is een laatste redmiddel als je het via de anderen methoden niet voor elkaar krijgt.

2Doet Debian het ook nog anders?

Parallel-port Install Waarbij op de parallelle poort een IDE device, parallelle kabel of pocket ethernetadaptor is^{3} aangesloten. Dit zou een goede keus zijn voor de Aero, waarbij het PCMCIA slot vrij blijft voor het diskettestation.

PCMCIA Install Als bovenstaand, dit zou een CD-ROM of netwerkinstallatie kunnen zijn. Dit zou de beste methode kunnen zijn voor de T1010, voor de Aero is het wat lastiger.

ISA/PCI Ethernet Install Geen optie voor de laptops natuurlijk, maar opgenomen voor het geval je doelcomputer een desktop-PC is.

De tools die ik ter hand had dicteerde een PCMCIA netwerkinstallatie. Ik zal aangeven waar de stappen verschillen voor de andere methoden. Welke methode je ook kiest, je hebt een higherspec computer beschikbaar nodig, zelfs als je alleen de diskettes maar hoeft aan te maken voor een installatie via diskettes.

3.4 Partitielay-out

3.4.1 Basisbenodigdheden

Voor deze procedure zijn minstens twee Linux native partities nodig in aanvulling op een swappartitie. Aangezien één van de ext2 partities tijdens de installatie in gebruik zal zijn als een tijdelijke root zal het niet beschikbaar zijn als een doelpartitie en zou deze klein moeten zijn, alhoewel niet kleiner dan 5mb. Het is verstandig deze partitie aan te maken die je als /home zult hergebruiken als de installatie eenmaal is voltooid. Een andere optie zou kunnen zijn het opnieuw als een DOS-partitie aan te maken zodat je naderhand een dual-boot laptop hebt.

3.4.2 Hoe complex wordt de lay-out?

Er is geen ruimte om al te slimme truuken uit te halen hier. Er is een argument voor een enkele ext2 partitie en het gebruik van een swapbestand om een verspilling van ruimte te voorkomen, maar ik raad je toch ten zeerste een aparte partitie aan voor /usr. Als je slechts één partitie hebt en er iets mee misgaat, dan wordt je wellicht geconfronteerd met een volledige herinstallatie. Een aparte /usr en kleine partitie voor / geeft een herstelactie een beter vooruitzicht. Op beide machines maakte ik in totaal 4 partities aan:

1. Een swap partitie – 16mb op de T1910, 20 op de Aero (het is waarschijnlijker dat ik het geheugen op de Aero zal upgraden).

2. /home (tijdelijke root tijdens de installatie) – 10mb

3. / – 40mb op de T1910, 30mb op de Aero.

4. /usr – De rest.

Daarbovenop gebruikt de Aero hda3 voor een DOS-partitie van 2mb met configuratie-utility’s. Zie de Aero FAQ’s voor details.

3Een pocket lan adaptor installatie zal op deze computers erg langzaam zijn.

3.5 Welke componenten installeren?

De volledige glibc library’s alleen al zou de harddisks volledig opvullen, dus er kan geen sprake zijn van het bouwen van een ontwikkelaarsmachine. Het ziet ernaar uit dat een minimale X-installatie wel zou passen, maar ik ben er zeker van dat het heel traag zou zijn en ik wil het hoe dan ook toch niet. Ik besloot het volgende te installeren (zie voor een volledige opsomming 7 (Appendix A)):

• De core Linux utility’s

• Gemengde tekstapplicaties vanuit de ap1 bestandsset:

• Info/FAQ/HOWTO documentatie

• Basisnetwerkutility’s

• De BSD spellen

Deze selectie komt overeen met het soort computer dat is beschreven in 1.2 (Wat voor nut heeft een kleine laptop?).

4 De voorinstallatieprocedure

In deze sectie wordt het aanmaken van een swappartitie en een tijdelijke rootpartitie op de harddisk van de laptop behandeld. Niets hier is specifiek voor Slackware.

4.1 muLinux voorbereiding

Als je alleen muLinux gaat gebruiken voor deze procedure, dan hoef je alleen een disk voor te bereiden met hierop mkfs.ext2 en ondersteunende library’s. Decomprimeer USR.bz2 van de muLinux setupbestanden en mount het als een loop file-system. Als je je bevindt in dezelfde directory als het USR bestand en je het wilt mounten als /tmpusr dan bestaat de reeks hiervoor uit:

losetup /dev/loop0 USR
mount -t ext2 /dev/loop0 /tmpusr

>Kopieer van daaruit mkfs.ext2, libext2fs.so.2, libcomerr.so.2 en libuuid.so.1 naar een diskette.

4.2 Bereid de installatierootbestanden voor.

Kies de rootdisk die je wilt. Ik gebruikte het color rootbestand zonder problemen, maar het text rootbestand zou iets sneller kunnen zijn bij deze lage geheugenwaarden. Decomprimeer het image en mount het als een loopdevice. De procedure is hetzelfde als in bovenstaande sectie, maar het rootdiskimage is nu een minix bestandssysteem.

Vervolgens heb je 3 1722 diskettes nodig of 4 1440 diskettes met ext2 bestandssysteem, 1722 diskettes is beter, aangezien je dan niet de /lib directory hoeft op te splitsen. Geef een diskette tweemaal het standaardaantal inodes zodat er de /dev directory oppast. Dat is 432 nodes voor een 1722 disk of 368 voor een 1440. Als je /dev/fd0H1722 of /dev/fd0H1440 opgeeft, dan hoeft je verder geen andere parameters op te geven, dus geef voor een 1722 disk op:

mke2fs -N 432 /dev/fd0H1722

Al je het rootimage als /tmproot hebt gemount en de doeldiskette als /floppy dan cd je naar /tmproot. Voor het kopiëren van de directory dev is de opdracht:

cp -dpPR dev/* /floppy/

Voor de andere directory’s met bestanden (in bin, etc, lib, mnt, sbin, usr, var) is het

cp -dpPr naam_directory/* /floppy/

Laat de lege directory’s voor wat ze zijn (floppy, proc, root, tag, tmp), omdat je deze simpelweg op de laptop aan kunt maken. boot en cdrom zijn softlinks respectievelijke verwijzend naar /mnt/boot en /var/log/mount, ook die kun je op de laptop aanmaken.

4.3 Maak de partities aan

4.3.1 Een mini-Linux en een ext2 bestandssysteem - een belangrijke noot.

Om ruimte te besparen, maken ontwerpers van kleine Linux distributies soms gebruik van oudere libc5 library’s en daar waar ze gebruik maken van up-to-date libc6, laten ze veel van de opties gecompileerd in volledige distributies weg, waaronder een aantal optionele features van het ext2 bestandssysteem. Dit heeft twee consequenties:

• Een ext2 disk proberen te mounten met een modern Linux systeem kan foutmeldingen geven als je het read-write mount. Zorg dat je de optie -r gebruikt wanneer je diskettes op de laptops mount.

• Het is niet verstandig mkfs.ext2 te gebruiken dat wordt geleverd met de mini-Linux om bestandssystemen aan te maken op de partities waarop Slackware zal worden geïnstalleerd. Het zou alleen moeten worden gebruikt om het bestandssysteem op de tijdelijke rootpartitie aan te maken. Zodra de installatie compleet is, kan deze partitie opnieuw worden geformatteerd en worden hergebruikt.

4.3.2 Procedure

Als je de installatie uitvoert op een Aero, zorg dan dat het diskettestation is ingevoegd voordat je het systeem aanzet en verwijder deze niet.

1. Boot vanaf de mini-Linux ^{4}

2. Gebruik fdisk om de partitie aan te maken.

3. Reboot bij het verlaten van fdisk (bij muLinux kun je nu simpelweg de computer uit en weer aanzetten).

4. Pas mkswap toe op de swappartitie en activeer het vervolgens (dit maakt muLinux heel wat gelukkiger).

5. Mount bij gebruik van muLinux de extra diskette aangemaakt in 4.1 (muLinux Preparation), kopieer mkfs.ext2 naar /bin en de library’s naar /lib.

4Wacht bij muLinux totdat het bootproces een foutmelding geeft over te weinig geheugenruimte en de optie biedt je in een shell te droppen, neem die optie en werk in de beperkte single-user modus die het je geeft.

6. Gebruik mkfs.ext2 om het bestandssysteem op de tijdelijke rootpartitie aan te maken.

7. Als je tot nu toe gebruik maakte van SmallLinux, sluit dan nu af en herstart met behulp van muLinux. Vergeet niet de swappartitie weer te activeren.

8. muLinux zal de bootdiskette hebben gemount op /startup, unmount het om het diskettestation vrij te maken.

9. Mount nu de tijdelijke rootpartitie en kopieer hierop de inhoud van de disks die je aanmaakte in 4.2 (Bereid de installatierootbestanden voor). Wees niet gealarmeerd door de foutmeldingen: als je bijvoorbeeld usr vanaf de diskette naar de tijdelijke rootpartitie kopieert door het intikken van "cp -dpPr usr/* /tmproot/"dan krijg je de foutmelding "cp: sr: no such file or directory". Negeer dit, er is niets mis.

10. cd naar de tijdelijke rootpartitie en maakt de lege folders aan (floppy, proc, root, tag, tmp) en de softlinks boot (verwijzend naar mnt/boot) en cdrom (naar var/log/mount).

11. Unmount de tijdelijke rootpartitie, dit synchroniseert de disk.

12. Je kunt de machine nu simpelweg uitzetten.

5 De installatie

In deze sectie worden niet veel details verstrekt over het Slackware installatieproces. In feite wordt verondersteld dat je er bekend mee bent. In plaats daarvan ligt de nadruk op die onderdelen waarvoor speciale aandacht of ongebruikeljke stappen nodig zijn.

5.1 Boot de machine

Maak een bootdisk van één van de images. Ik raad je aan gebruik te maken van bareapm.i op een laptop en bare.i op een desktop, tenzij je een parallelle poort IDE device (pportide.i) hebt. Boot hier de laptop van. Wanneer de boot: prompt verschijnt, typ je "mount root=/dev/hdax"waarbij x de tijdelijke rootpartitie i. Log in als root. Activeer vervolgens de swappartitie.

5.2 Floppy/Parport CD-ROM installatie

In beide gevallen, zou geen extra werk nodig moeten zijn om de media te benaderen. Start simpelweg setup.

5.3 Network/PCMCIA installatie

Slackware heeft hier aanvullende disks met tools voor en instructies voor hun gebruik groeten je wanneer je inlogt. Gebruik de netwerkdisk op een desktop-PC met ethernetkaart of een laptop met pocket ethernet adaptor. Gebruik de PCMCIA disk voor een PCMCIA installatie. Start setup zodra je netwerkadapter/PCMCIA socket is geïdentificeerd.

5.3.1 PCMCIA installatie op de Aero

Het Slackware installatieproces voert de PCICIA-drivers uit vanaf de aanvullende diskette. Omdat de Aero een PCMCIA diskettestation heeft, betekent dit dat je het diskettestation niet kunt verwijderen om de PCMCIA CD-ROM/ethernetkaart in te voegen. De oplossing is simpel: de PCMCIA setuproutine van Slackware maakt /pcmcia aan en mount hieraan de aanvullende disk, dus 1. Maak de /pcmcia directory zelf aan

2. Mount de aanvullende disk op /mnt. Zorg dat je het type opgeeft als vfat, als je dit niet doet, dan zal het onjuist worden geïdentificeerd als UMSDOS en zullen lange bestandsnamen niet goed worden gekopieerd.

3. cd /mnt;cp -dpPr ./* /pcmcia/

4. Ontkoppel de diskette.

5. Start pcmcia. Wanneer het script een foutmelding geeft over dat er zich geen disk in het station bevindt, druk dan simpelweg op Enter: de Card Service zullen starten. Verbindt je PCMCIA device en druk op Enter.

6. Start setup

5.4 Set-up

Het setupprogramma van Slackware is recht-door-zee. Start met de Keymap sectie en het zal je stap-voor-stap verder brengen.

5.4.1 AddSwap

Je moet deze stap uitvoeren, zodat het ’t juiste record in fstab kan plaatsen, maar zorg ervoor dat mkswap niet wordt uitgevoerd, je maakt reeds gebruik van de partitie.

5.4.2 Target

In deze sectie vraagt Slackware welke partities zullen worden gemount als wat en formatteert ze dan als je dit wilt.

Het veiligste hier is je tijdelijke partitie in het geheel weg te laten en fstab gewoon later te wijzigen zodra je weet dat je het niet meer nodig heb voor tijdelijke doeleinden. Als je het als /home gaat hergebruiken dat is het OK het toe te kennen als /home, uiteraard moet je het nu niet formatteren! Als je van plan bent het als een deel van de directorystructuur te gaan hergebruiken waarin bestanden zullen worden geplaatst tijdens de installatie (zoals bijvoorbeeld /var) dan moet je het in deze stap absoluut negeren: als de installatie eenmaal is voltooid, dan kun de de bestanden ernaar verplaatsen.

5.4.3 Kiezen

Hier kies je welke algemene categoriën software te installeren. Ik koos als volgt:

• A - Basis Linux Systeem

• AP -Niet-X toepassingen

• F - FAQ’s en HOWTO’s

• N - Netwerktools en applicaties

• Y - BSD spellenverzameling

Ik zou je niet aan willen raden hier nog iets aan toe te voegen, als er iets is, houd het dan bij A, AP en N. Dat geeft je een core Linux setup waaraan je naar behoeften toe kunt voegen.

5.4.4 Installatie

Kies de Expert installatiemethode. Hiermee kun je bij het installeren individuele packages selecteren/verwerpen uit de categoriën die je kiest in de selectiestap. In 7 (Appendix A) worden de keuzes die ik maakte doorlopen.

Dit onderdeel duurt ongeveer 3 uur bij een PCMCIA netwerkinstallatie. Je wordt gevraagd individuele packages te selecteren voor de installatie van elke categorie, dus je kunt gewoon weglopen terwijl het wordt doorlopen.

5.4.5 Configuratie

Zodra de packages zijn geïnstalleerd, wordt je gevraagd om de uiteindelijke configuratie voor je machine uit te voeren. Dit bedekt de onderdelen als netwerken, Lilo, het kiezen van een kernel, enz. Een aantal punten waar je op moet letten:

• Als je een PCMCIA-installatie uitvoerde, accepteer dan niet het aanbod om je netwerk met netconfig te configureren. Dit zal je pcmcia-netwerk ruïneren. Wacht totdat je het systeem hebt herstart en bewerk dan het bestand /etc/pcmcia/network.opts

• Dit is het moment waarop je een kernel zou moeten installeren. Voor een laptop is de bareapm kernel het beste, voor een desktop simpelweg de bare kernel.

5.4.6 Exit

Het setupproces is klaar, maar jij nog niet. Herstart je systeem nog niet! Er is nog een ander te voltooien stap.

5.5 Configuratie voor de herstart

Op een normale machine zou je eenvoudigweg rebooten zodra de installatie is voltooid. Als je dat hier doet, dan zul je wellicht 6 of 8 uur moeten wachten tot er een loginprompt verschijnt en nog eens een half uur tot je de opdrachtprompt krijgt. Voor het opnieuw booten moet je de elementen wijzigen of verwijderen die deze vertraging veroorzaken. Hiervoor moet je configuratiebestanden bewerken, dus je moet bekend zijn met vi, ed of sed.

In deze fase is je toekomstige rootpartitie nog steeds gemount als /mnt dus denk eraan dat aan de hier gegeven paden toe te voegen.

/etc/passwd Wijzig dit om de loginshell van root te wijzigen in ash. ash is echt de enige praktische loginshell voor 4mb RAM.

/etc/rc.d/rc.modules Plaats een commentaarteken voor de regel ’depmod -a’. Je hoeft de module-afhankelijkheden alleen bij te werken als je je module-configuratie hebt gewijzigd (zoals bijvoorbeeld bij een hercompilatie of het toevoegen van nieuwe modules). Op een standaardsysteem duurt het slechts één of twee seconden, dus doet het er niet toe dat het elke keer onnodig wordt uitgevoerd. Op een laptop met 4mb kan het wel 8 uur duren. Wanneer je de modulesetup wijzigt, kun je het commentaarteken voor deze regel simpelweg verwijderen en je systeem herstarten. Als alternatief kun je dit deel van het script zodanig herschrijven dat het alleen wordt uitgevoerd, wanneer je achter de bootprompt een parameter opgeeft. Bijvoorbeeld:

     if [ "NEWMODULES" == "1" ] ; then
         depmod -a
     fi

/etc/rc.d/rc.inet2 Dit script start de netwerkservices zoals nfs. Je hebt ze waarschijnlijk niet nodig en zeker niet bij het opstarten. Hernoem dit script in iets als RC.inet2, hiermee zal worden voorkomen dat het tijdens het booten zal worden uitgevoerd en je kunt het handmatig starten wanneer je het nodig hebt.

/etc/rc.d/rc.pcmcia Op de Aero zou je dit script ook moeten hernoemen, anders verlies je het gebruik van je diskettestation bij het opstarten. Het is tevens waard het voor andere kleine laptops in overweging te nemen, je kunt het altijd handmatig uitvoeren voordat je een kaart invoegt.

Zodra deze wijzigingen zijn aangebracht, ben je zover je systeem te herstarten.

5.6 Configuratie na de herstart.

Als je de wijzigingen aanbevolen in sectie 5.5 (configuratie voor de herstart) hebt aangebracht, dan zal het bootproces slechts een paar minuten duren, in tegenstelling tot verscheidene uren. Login als root en controleer of alles goed functioneert.

5.6.1 Hergebruik de tijdelijke root

Zodra je er zeker van bent dat de installatie degelijk is, dan kun je de partitie terugwinnen die je als tijdelijke root gebruikte. Verwijder niet zomaar de inhoud, herformatteer het bestandssysteem. Denk eraan dat het programma mke2fs dat werd geleverd bij de mini-Linux verouderd is.

Als je van plan bent deze partitie als /home te gaan gebruiken, denk er dan aan nog geen gebruikeraccounts aan te maken totdat je deze stap hebt voltooid.

5.6.2 Andere configuratie fijnafstemmingen

In een dergelijke kleine ruimte aan RAM, helpt elk klein beetje. Doorloop de initscripts van SlackWare in de stijl van BSD in /etc/rc.d en plaats een commentaarteken voor alles wat je niet nodig hebt. Kijk eens in de Small Memory mini-HOWTO http://eddie.cis.uoguelph.ca/˜ tburgess/ van Todd Burgess voor meer ideeën.

6 Conclusie

Dat was het dan. Je hebt nu een laptop met kernutility’s en 50 tot 70mb vrij voor wat voor extra’s je dan ook nog nodig hebt. Maak er geen rommeltje van, want het is veel gemakkelijker om een bestaande installatie aan te passen op dergelijke volgepropte oude machines dan het is om helemaal weer overnieuw te beginnen.

7 Appendix A:

In deze appendix staat een opsomming van de packages (als die er zijn) uit elke categorie die kunnen zijn opgenomen in de installatie en geeft mijn redenen voor het opnemen of achterwege laten ervan. Ik ondernam geen poging om X te installeren, dus die categorieën werden genegeerd.

Alhoewel deze appendix in het bijzonder refereert naar de Slackware distributie kan het worden gebruikt als een leidraad voor een van de andere grote distributies.

7.1 A - Basis Linux systeem

De meeste packages in deze categorie zijn essentieel, zelfs die niet zijn opgesomd als vereist door het setupprogramma van Slackware. Daarom heb ik die packages vermeld die redelijkerwijs konden worden weggelaten in plaats van alle niet-verplichte packages die ik installeerde.

7.1.1 Packages overwogen om weg te laten:

kernels (ide, scsi etc.)

Het is niet nodig hier iets van te installeren, je krijg aan het einde van het installatieproces de kans een kernel te selecteren.

aoutlibs Dit is alleen nodig als je van plan bent uitvoerbare bestanden te draaien die zijn gecompileerd in het oude a.out formaat. Het achterwege laten bespaart een hoop ruimte. Achterwege gelaten.

bash1 Bash2 (simpelweg bash genaamd in de lijst met packages onder Slackware ) is nodig voor de configuratiescripts van Slackware, maar er zijn heel veel scripts waarvoor bash1 nodig is. Ik nam het op.

getty agetty is de standaardgetty van Slackware, dit package bevat getty en uugetty als alternatieven. Neem het alleen op als je de extra functionaliteit nodig hebt. Achterwege gelaten.

gpm Persoonlijk vind ik dit onder console erg handig (en de trackball van Aero is erg handig), maar het is niet essentieel. Opgenomen.

icbs2 Niet nodig. Achterwege gelaten.

isapnp Niet nodig hier. Achterwege gelaten.

loadlin Niet nodig voor de hier beschreven setup, tenzij je oude laptop wat eigenaardigheden heeft waardoor een DOS-driver is vereist om wat van zijn devices te initialiseren. Achterwege gelaten. lpr

Je zou kunnen beargumenteren dat je de afdrukken op een dichtbijzijnde desktop maakt, maar ik vind het altijd handig om afdrukmogelijkheden op een laptop te hebben. Opgenomen.

minicom Geen verplichte opname, maar ik wil de laptop een inbelverbinding laten maken. Erg handig. Opgenomen.

pciutils Niet nodig op deze oude laptops. Achterwege gelaten.

quota Niet noodzakelijk, maar het kan worden gebruikt om limieten in te stellen die je beletten dat de beperkte beschikbare ruimte op deze laptops overstroomt. Opgenomen.

tcsh Ik raad het gebruik van ash aan als je loginshell. Neem het alleen op als je het nodig hebt voor scripts. Achterwege gelaten.

umsprogs Je kunt dit weglaten en nog steeds UMSDOS diskettes kunnen benaderen. Achterwege gelaten.

scsimods Heeft geen nut op deze laptops. Achterwege gelaten.

sysklogd Dit kan storen met apmd, maar het voorziet in essentiële informatie. Opgenomen.

7.1.2 Geïnstalleerde packages:

aaa_base, bash, bash1, bin, bzip2, cpio, cxxlibs, devs, e2fsprog, elflibs, elvis, etc, fileutils, find, floppy, fsmods, glibcso, gpm, grep, gzip, hdsetup, infozip, kbd, ldso, less, lilo, man, modules, modutils, pcmcia, sh_utils, shadow, sudo, sysklogd, sysvinit, tar, txtutils, util, zoneinfo Totale omvang: 33.4

7.2 AP - Niet-X applicaties

Geen van deze packages zijn strict genomen essentieel - alhoewel ash echt nodig is voor een zinvolle werking in 4mb. Ze alleen achterwege laten kan je de benodigde ruimte besparen om je favoriete applicatie op te nemen. Ik koos voor een minimale set tools waar ik niet graag zonder doe.

7.2.1 Packages overwogen om op te nemen:

apsfilter Het heeft niet veel zin de mogelijkheid tot afdrukken te hebben als je slechts tekstbestanden kunt afdrukken. Opgenomen. ash

Dit is de shell voor computers met weinig geheugen, slechts 60k in beslag nemend. Gebruik het als de standaardloginshell tenzij je het prettig vindt om elke keer weer 10 seconden te moeten wachten op de opdrachtprompt. Opgenomen.

editors (jed, joe jove vim)

elvis is de standaardeditor voor Slackware en een vereist deel van de installatie. Als je net als ik een fan bent van vi dan is dat alles wat je nodig hebt: de installatie van vim zou een verspillende duplicatie zijn gegeven de ruimtebeperkingen. Als je vi niet uit kunt staan en eerder een editor in de stijl van DOS nodig hebt, dan is joe een kleine editor. Emacs fans met enige zelfdiscipline zouden jed of jove kunnen overwegen in plaats van het enorme complete beest. Achterwege gelaten.

enscript Als je apsfilter reeds hebt, dan heb je deze niet echt nodig. Achterwege gelaten.

ghostscript Met opname van de fonts komt dit ongeveer uit op 7.5mb. Een om achterwege te laten tot na de kerninstallatie, overweeg dan nog of je het nodig hebt. Achterwege gelaten.

groff Nodig voor de manpages. Opgenomen.

ispell Niet essentieel, maar erg handig voor de overenthousiaste typist(e). Opgenomen.

manpages Opgenomen.

mc Slackware biedt een lichtgewicht compilatie aan van mc, maar ik ben gelukkiger achter de opdrachtprompt. Achterwege gelaten.

quota Niet nodig op wat geen multi-user machine is, maar je kunt net als ik het handig vinden om jezelf te beletten te vergeten de weinig ruimte die je hebt te verspillen. Opgenomen.

rpm Laat dit voor wat het is. Als je een rpm hebt die je graag op wilt nemen, gebruik dan rpm2tgz op een desktop machine om het om te zetten in een tgz package. Dan kun je de standaard Slackware installatietools gebruiken. Achterwege gelaten.

sc Een bruikbare kleine spreadsheet zeer klein verpakt. Opgenomen.

sudo Niet essentieel, maar ik vind het hier erg handig: het is een volgepropte omgeving en een lastige herinstallatie als je er een rommel van maakt, sudo helpt bij het aanmaken van gebruikersprofielen met de kracht om dingen te doen die je nodig hebt zonder onzorgvuldig je disk om zeep te helpen. Opgenomen. texinfo

Info documentatie. Opgenomen. zsh

Laat dit weg, tenzij je eraan bent verslaafd of scripts hebt die het moeten gebruiken. Achterwege gelaten.

7.2.2 Geïnstalleerde packages: apsfilter,ash, diff, groff, ispell, manpages, quota, sc, sudo, texinfo Totale omvang: 8.1 mb

7.3 D - Ontwikkeltools

Je zou C of C++ in deze ruimte kunnen plaatsen, maar het glibc library package is te groot, dus zou het nodig zijn om het een en ander in te krimpen. Doe als eerste de hoofdinstallatie en probeer het dan. Er is ruimte voor Perl en Python. 7.3.1 Geïnstalleerde packages: Geen

7.4 E - Emacs

Ik maak geen gebruik van Emacs waardoor ik mezelf wat ruimte bespaarde. Als je aan de andere kant wel een fan bent van Emacs dan gebruik je het waarschijnlijk voor e-mail, news en coderen, dus zul je wat van die ruimte terug claimen door andere packages weg te laten. Als je gebruik wilt maken van Emacs, dan kan het een idee zijn om dit tijdens de core installatie weg te laten. Zodra de laptop draait, kun je naar wens proberen erop te pasen wat je wilt/nodig. 7.4.1 Geïnstalleerde packages: Geen.

7.5 F - FAQ’s en HOWTO’s

Als je alles al weet, dan heb je deze niet nodig. Ik installeerde er erg veel van. 7.5.1 Geïnstalleerde packages: howto, manyfaqs, mini Totale omvang: 12.4 mb

7.6 K - Kernel Source

Je kunt het installeren. Als je als enige de broncode wilt lezen, ga dan je gang.

7.6.1 Geïnstalleerde packages: Geen

7.7 N - Netwerktools en applicaties

Deze packages werden geselecteerd om in de core netwerktools, inbelmogelijkheden , e-mail, web en news te voorzien.

7.7.1 Geïnstalleerde packages: dip, elm, fetchmail, mailx, lynx, netmods, netpipes, ppp, procmail, trn, tcpip1, tcpip2, uucp, wget Totale omvang: 15.1 mb

7.8 Tetex

Een andere set die ternauwernood zal passen. Ik weet niet hoe het in de beschikbare ruimte zou draaien.

7.8.1 Geïnstalleerde packages: Geen

7.9 Y - BSD spellenverzameling

Aan een aantal hiervan ben ik verslaafd. Als ik die laatste 5mb echt nodig heb, dan kunnen deze weg.

7.9.1 Geïnstalleerde packages: bsdgames Totale omvang: 5.4 mb

7.10 Eindresultaat

In totaal namen de geïnstalleerde packages ongeveer 75mb diskruimte in beslag waarvan 19.5mb op de rootpartitie en 55.5 in /usr. Op de Aero bleef daardoor in /usr 39mb over en 74mb op de T1910.

8 Appendix B: Bronnen relevant voor deze HOWTO

Linux Laptop HOWTO

http://www.snafu.de/˜ wehe/Laptop-HOWTO.html Small Memory mini-HOWTO

http://eddie.cis.uoguelph.ca/˜ tburgess/ Linux on Laptops

http://www.cs.utexas.edu/users/kharker/linux-laptop/ HOWTO’s en installatie FAQ’s voor een breed bereik aan computers.

Linux T1910 FAQ http://members.tripod.com/˜ Cyberpvnk/linux.htm

Linux Contura Aero FAQ http://domen.uninett.no/˜ hta/linux/aero-faq.html

Contura Aero FAQ http://www.reed.edu/˜ pwilk/aero/aero.faq Uitgebreide FAQ over alle aspecten van de Contura Aero samengesteld door de moderators van de Aero mailing list. Prima Linux-sectie.