Disclaimer :
Dit document is niet juist en is niet meer onderhouden.
|
De Gentoo Linux alternatieve installatie-methode HOWTO
1.
Over dit document
Wanneer de standaard boot-van-cd installatie methode niet werkt (of als deze
methode je gewoon niet bevalt), dan moet je deze HOWTO zeker lezen. De
bedoeling van dit document is om als een soort van vergaarbak te dienen waarin
de verschillende wijzes beschreven worden waarop Gentoo Linux geïnstalleerd kan
worden. Als je zelf een installatie-methode kent die je erg handig of grappig
vindt, twijfel dan niet om deze installatie-wijze te beschrijven, maar stuur
het in het engels naar mij.
2.
Booten met de LiveCD en de Smart BootManager
Download de Smart BootManager van
http://btmgr.sourceforge.net/download.html. Linux broncode of binair
formaat alsook windows .exe bestanden zijn beschikbaar tesamen met
taalpakketten. Op dit moment raden we je aan om het binair formaat te nemen
aangezien de broncode niet zal compileren met nieuwe versies van nasm.
Compileer het pakket van broncode of neem de binaire versie. Er zijn
verschillende opties die je kan gebruiken terwijl je je boot floppy aanmaakt
zoals hierna vermeld.
Codevoorbeeld 2.1: Smart BootManager Options |
sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]
-t theme select the theme to be used, in which the theme could be:
us = English theme de = German theme
hu = Hungarian theme zh = Chinese theme
ru = Russian theme cz = Czech theme
es = Spanish theme fr = French theme
pt = Portuguese theme
-d drv set the drive that you want to install Smart BootManager on;
for Linux:
/dev/fd0 is the first floppy driver,
/dev/hda is the first IDE harddisk driver.
/dev/sda is the first SCSI harddisk driver.
for DOS:
0 is the first floppy drive
128 is the first hard drive;
-c disable CD-ROM booting feature;
-b backup_file backup the data that will be overwrited for future uninstallation;
-u backup_file uninstall Smart BootManager, should be used alone;
-y do not ask any question or warning.
|
Codevoorbeeld 2.2: Gebruik maken van sbminst om de bootfloppy te maken |
# sbminst -t us -d /dev/fd0
|
Nota:
Vervang fd0 met je floppy device naam indien dit nodig is.
|
Plaats nu simpelweg de floppy in de floppydrive van de computer van welke je de
LiveCD wil booten, tesamen met de LiveCD (in de CD-ROM drive dan) en boot de
computer.
Je zal begroet worden met de Smart BootManager dialog. Selecteer je CD-ROM en
druk op Enter om de LiveCD te booten. Eenmaal geboot ga dan verder met de
standaard installatieinstructies.
Voor meer informatie over Smart BootManager, ga naar
http://btmgr.sourceforge.net.
3.
Knoppix Installatie
Nota:
Knoppix is alleen maar beschikbaar voor x86 gebruikers.
|
Booten van de Knoppix LiveCD is een
manier om een volledig werkend Linux systeem te hebben terwijl je Gentoo aan
het installeren bent. TuxRacer zal je helpen de tijd te doden terwijl je op de
bootstrap aan het wachten bent.
Waarschuwing:
Wees ervan bewust dat je niets kan opsparen in knoppix! Als je iets in je
homedirectory zet, kun je er niet meer aan na een reboot (in Gento dus). Spaar
belangrijke bestanden op een harde schijf en/of andere computer!.
|
Boot van de Knoppix CD. Het doet algemeen gezien een goede hardware detectie.
Het kan wel voorkomen dat je wat bootopties zal moeten meegeven.
Standaard boot Knoppix een KDE 3.0 desktop. Het eerste wat je doet is een
konsole opstarten en sudo passwd root uitvoeren. Hiermee stel je
Knoppix' root paswoord in.
Vervolgens su je naar root en type je usermod -d /root -m root
in. Dit stelt de gebruiker haar root homedirectory in op /root in plaats van
/home/root (welke Knoppix gebruikt). Indien je dat niet doet zal je
foutmeldingen krijgen zoals "/home/root: not found" of iets dergelijks.
Hierna type je exit en su je terug naar root. Hiermee start je de
aanpassingen die je met het usermod commando gemaakt hebt. Maak nu het
/mnt/gentoo aanknopingspunt door mkdir:
Codevoorbeeld 3.1: Het /mnt/gentoo aanknopingspunt aanmaken |
# mkdir /mnt/gentoo
|
Hier kun je ver der de standaard instalatie documentie verder volgen op de
volgende locatie Voorbereiden van de
harde schijven. Hoewel, als je gevraagd wordt het proc systeem te
mounten, gebruik je best het volgende commando in de plaats van het gebruikte.
Codevoorbeeld 3.2: Het pseudo bestandssysteem proc mounten |
# mount -o bind /proc /mnt/gentoo/proc
|
Weet ook dat sommige van de portage-eigenschappen niet werken knoppix. Kijk
zeker uit met userpriv en usersandbox. ALs je errors krijgt,
schakel je sommige of alle extra opties best af.
4.
Installeren vanaf niveau 1 zonder netwerk toegang
Brand een LiveCD iso.
Download de laatste portage snapshot van
http://distro.ibiblio.org/pub/linux/distributions/gentoo/snapshots/
(of van je favoriete mirror). Plaats
deze tarball ergens op een bestaande partitie of brand deze op CD.
Volg alle instructies van de Gentoo Installatie
Handleiding tot chroot
/mnt/gentoo in hoofdstuk 6. Indien je maar 1 CD-ROM hebt, vergeet niet om
de bootoptie docache te gebruiken als je boot, want anders kan je de
LiveCD niet unmounten om je portage snapshot CD te mounten.
Open een nieuwe console (Alt-F2), in deze console ga je verder met de
installatie tot aan het uitvoeren van het bootstrap.sh script.
Waarschuwing:
Voor oudere versies van de LiveCD is het nodig om het wachtwoord aan te passen
middels het passwd commando, en handmatig in te loggen.
|
Ga terug naar de originele console en mount de tweede CD op
/mnt/gentoo/mnt/cdrom2. Kopieer de portage tarball van deze cd en pak
deze uit in /mnt/gentoo/usr/portage.
Codevoorbeeld 4.1: De snapshot CD mounten en de stappen uitvoeren |
# umount /mnt/cdrom
# mkdir /mnt/gentoo/mnt/cdrom2
# mount /dev/cdroms/cdrom0 /mnt/gentoo/mnt/cdrom2
# cp /mnt/gentoo/mnt/cdrom2/portage-$date.tar.bz2 /mnt/gentoo/usr/portage
# cd /mnt/gentoo/usr/portage
# tar xvjpf portage-$date.tar.bz2
|
Ga nu terug naar de andere console. Indien je nu bootstrap.sh wil uitvoeren zal
dit mislukken aangezien je geen bestanden kan downloaden. We zullen deze
bestanden ergens anders downloaden en deze in
/usr/portage/distfiles plaatsen (via de andere console).
Je moet een lijst van stage1-pakketten hebben: glibc, baselayout, texinfo,
gettext, zlib, binutils, gcc, ncurses alsook hun afhankelijke pakketten.
Nota:
Je moet er tevens voor zorgen dat je de versie van het pakket gebruikt dat met
je Portage structuur overeen komt. |
Codevoorbeeld 4.2: Het download-lijst krijgen |
# emerge -fp glibc baselayout texinfo gettext zlib binutils gcc ncurses 2> stage1.list
# dl-list.sh glibc baselayout texinfo gettext zlib binutils gcc ncurses > stage1.list
# mount -t vfat /dev/fd0 /mnt/floppy
# cp /mnt/gentoo/stage1.list /mnt/floppy
# umount /mnt/floppy
|
Breng deze floppy naar een machine met een snelle internettoegang en geef deze
lijst aan wget:
Breng deze floppy naar een machine met een snelle internettoegang. Als je kijkt
naar het stage1.list bestand, zul je zien dat het je enkele url's.
Spijtig genoeg, geeft het je ook mogelijke URLs voor elk pakket, wat je dus
niet echt nodig hebt. Verwijder alle URLs behalve de eerste.
Codevoorbeeld 4.3: selectief URLs verwijderen |
# cut -f 1 -d ' ' stage1.list > stage1.download
|
Gebruik nu wget om alle opgegeven bronnen te downloaden.
Codevoorbeeld 4.4: Wget gebruiken om de bron-pakketten te downloaden |
# wget -N -i stage1.download
|
Als je eenmaal alle bestanden gedownload hebt brand je ze op CD en kopieer je
ze naar /mnt/gentoo/usr/portage/distfiles op de PC waar je Gentoo
aan het installeren bent. Je kan dan bootstrap.sh uitvoeren. Herhaal
deze stappen voor de stage2 en stage3 procedures.
5.
Installeren van Gentoo vanaf een bestaande Linux distributie
Benodigdheden
Om Gentoo vanaf een bestaande Linux distributie te installeren, dien je het
chroot commando geïnstalleerd te hebben. Daarnaast moet je een kopie van de
Gentoo Linux installatie tarball of ISO hebben. Ook wordt er de voorkeur
gegeven aan een internetverbinding zodat je meer op je systeem kunt zetten dan
dat in de tarball of ISO zit. Een tarball is overigens een bestand dat eindigt
op .tbz of .tar.gz. De schrijver gebruikt RedHat Linux 7.3 als
besturingssysteem, maar dat is verder niet erg belangrijk voor deze
installatie-methode. Let's get started!
Samenvatting
We zullen eerst een partitie aan Gentoo toewijzen door onze bestaande Linux
partitie te veranderen in grootte. Dan mounten we deze nieuwe partitie, pakken
de tarball uit die gemount is, chrooten in het proto-systeem en beginnen met
het compilen. Zodra het bootstrap-proces afgerond is, zullen er nog enkele
configuraties toegepast worden zodat we zeker weten dat het systeem wil booten.
Zodra we dat gedaan hebben zijn we zover dat we de computer opnieuw kunnen
opstarten, en Gentoo Linux kunnen laden.
Hoe zouden we plek kunnen maken voor Gentoo Linux?
De root partitie is het bestandssysteem gemount onder "/". Het mount commando
laat zien waar ik het over heb. We zullen ook df (disk free) gebruiken om te
zien hoeveel ruimte ik over heb, en hoe ik mijn partitie zal resizen. Merk op
dat het niet verplicht is je root partitie in grootte te veranderen! Je kan
alles resizen waar onze resizer support aan biedt. Hier komen we zo op terug.
Codevoorbeeld 5.1: Bestandssysteem informatie |
# mount
/dev/hdb2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hdb2 4.0G 1.9G 2.4G 82% /
none 38M 0 38M 0% /dev/shm
|
Zoals we kunnen zien heeft de partitie die gemount is als "/" de naam
/dev/hdb2, waarop 2.4 gigabyte ruimte is. In mijn geval denk ik dat ik deze
partitie op een manier ga aanpassen, zodat er nog maar 400 megabyte vrije
ruimte op is. Er gaan dus 2 gigabyte naar de Gentoo Linux partitie. Niet
slecht, daar kan flink wat op geïnstalleerd worden. Voor de meeste gebruikers
zal 1 gigabyte al ruim genoeg zijn. Laten we dit ding partitioneren!
Parted installeren om een partitie te resizen
Parted is een programma dat geleverd wordt door de GNU stichting. Dit is een
oud, respectvol en enorm project, wiens software je op dit moment gebruikt. Er
is een zeker programma dat extreem bruikbaar is op dit moment. De naam is
parted, een partitie editor dat verkrijgbaar is op http://www.gnu.org/software/parted/
Nota:
Er zijn andere tools om partities te resizen. De schrijver is echter onzeker of
niet geïnteresseerd in PartitionMagic(tm) of andere software die hetzelfde
doen. Het is de taak van de lezer om dit uit te zoeken.
|
Zoek op die pagina het soort bestandssysteem dat je wilt resizen, en kijk of
parted dat aankan. Zoniet, pech gehad. Je zal een complete partitie moeten
opofferen om ruimte te kunnen maken voor Gentoo Linux. Download de software en
installeer het vervolgens. Nu lopen we tegen een probleem aan. We willen de
root partitie resizen, en daarom moeten we van een diskette booten dat een
minimaal Linux systeem bevat. Ook parted dient op de diskette te staan. Dit
opstarten vanaf diskette is nodig om "/" te kunnen resizen. Als je de partitie
kunt unmounten terwijl je onder Linux zit, heb je geluk. Je hoeft dan niet te
doen wat hieronder beschreven wordt. Compileer simpelweg parted, en start het
vanaf een unmounted partitie die je graag wilt resizen. Hieronder wordt
beschreven hoe ik het heb gedaan voor mijn systeem.
Belangrijk:
Wees er zeker van dat de dingen die je wilt gaan doen ondersteund worden door
parted!
|
Download mininux boot/root diskette (gratis) van
http://mininux.free.fr/uk/ en maak een diskette zoals gesuggereerd
wordt in de documentatie die meegeleverd wordt in het bestand dat je zojuist
gedownloaded hebt. Zodra je diskette klaar is, kan je je computer herstarten en
deze van de diskette laten booten.
Nota:
Merk op dat Linux is synoniem is aan "Er zijn meerdere manieren om het te
doen". Het uiteindelijke doel is om parted op een unmounted partitie te hebben,
zodat het zijn werk kan doen. Misschien gebruik je een andere boot/root
diskette dan mininux . Misschien is het zelfs helemaal niet nodig om deze stap
uit te voeren als het bestandssysteem al geunmount is.
|
Codevoorbeeld 5.2: Utilitydisk formatteren |
# mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912
|
Nota:
We gaan nu verder met parted. Als het nog niet gedownloaded en untarred hebt,
doe dat dan nu. Zorg dat je in doe juiste directory zit, en voer de volgende
commando's in.
|
Codevoorbeeld 5.3: Utilityfloppy configureren |
# mkdir /floppy; mount -t minix /dev/fd0 /floppy &&
export CFLAGS="-O2 -pipe -fomit-frame-pointer -static" && ./configure
&& make && cp parted/parted /floppy && umount /floppy
|
Gefeliciteerd, je bent nu klaar om je computer opnieuw op te starten en de
partitie te resizen. Kijk nog wel even snel op de GNU website voor extra
informatie. Het resizen zou minder dan 30 minuten in beslag moeten nemen voor
de grootste harde schijven, dus heb geduld. Herstart je computer met de mininux
bootdiskette. Zodra je ingelogd bent stop je de utility diskette in het
diskettestation en typ je mount /dev/fd0 /floppy waardoor je parted onder
/floppy hebt staan. Daar ga je. Zodra je parted start zul je in staat zijn je
partitie te resizen. Zodra dit proces voltooid is zijn we klaar voor het echte
werk, door een begin te kunnen maken met het installeren van Gentoo Linux.
Start je computer opnieuw op zodat je weer in je oude Linux distributie
terechtkomt. Stel dat we /dev/hda3 willen resizen, dat zich op /dev/hda
bevindt.
Codevoorbeeld 5.4: Uit te voeren commando's zodra je ingelogd bent in het mininux systeem |
# mount /dev/fd0 /floppy
# cd /floppy; ./parted [drive you wish to operate on]
(parted) print
Disk geometry for /dev/hdb: 0.000-9787.148 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 2953.125 primary ntfs
3 2953.125 3133.265 primary linux-swap
2 3133.266 5633.085 primary ext3
4 5633.086 9787.148 extended
5 5633.117 6633.210 logical
6 6633.242 9787.148 logical ext3
(parted) help resize
resize MINOR START END resize filesystem on partition MINOR
MINOR is the partition number used by Linux. On msdos disk labels, the
primary partitions number from 1-4, and logical partitions are 5
onwards.
START and END are in megabytes
(parted) resize 2 3133.266 4000.000
|
Belangrijk:
Heb geduld! De computer is bezig! Kijk naar de hardware LED op je computerkast
om te zien of hij nog daadwerkelijk bezig is. Dit proces kan tussen de 2 en 30
minuten duren.
|
Als je je partitie eenmaal hebt geresized dien je je computer opnieuw op te
starten. Ga vervolgens naar Het Gentoo Handboek:
Installatie van de Gentoo Installatie bestanden en volg de instructies.
Als je gaat chrooten gebruik dan het volgende commando om de omgeving te
resetten:
Codevoorbeeld 5.5: Resetten van de chroot omgeving |
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update
# source /etc/profile
|
Veel plezier!
6.
Diskloze installatie via PXE boot
Vereisten
Je moet een netwerkkaart hebben die PXE ondersteunt, zoals verschillende 3com
kaarten. Je moet tevens een BIOS hebben die PXE boots ondersteunt.
Server setup
Allereerst moet je de directories aanmaken waar je je systemen zal opslaan.
Maak een directory genaamd /diskless welke directories zal
bevatten voor alle diskloze clients. Voor de rest van dit document gaan we
werken aan de client 'eta'.
Codevoorbeeld 6.1: Directory installatie |
# mkdir /diskless
# mkdir /diskless/eta
# mkdir /diskless/eta/boot
|
De client zal de bootinformatie via DHCP verkrijgen en alle vereiste bestanden
via TFTP downloaden. Installeer DHCP en configureer ze voor een gewoon netwerk.
Voeg dan het volgende toe aan je /etc/dhcp/dhcpd.conf.
Nota:
In dit voorbeeld leveren we een statisch IP adres aan de client en een pad naar
het PXE bootbestand, genaamd pxegrub. Je moet de MAC-adressen in dit voorbeeld
vervangen met de werkelijke MAC adressen, alsook met de juiste directories.
|
Om DHCPd te starten, voer simpelweg emerge dhcp (of een andere DHCP
server naar jouw keuze) in. Controleer dat het correcte interface is
geselecteerd in /etc/conf.d/dhcp
Codevoorbeeld 6.2: dhcpd.conf |
option option-150 code 150 = text;
ddns-update-style none ;
host eta {
hardware ethernet 01:23:45:67:89;
fixed address (ip adres);
option option-150 "/etc/boot/grub.lst";
filename "/etc/boot/pxegrub";
}
|
Voor TFTP installeer je app-admin/tftp-hpa. In
/etc/conf.d/in.tftpd plaats je het volgende:
Codevoorbeeld 6.3: in.tftpd |
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -I -vvvvvv -p -c -s ${INTFTPD_PATH}"
|
Om PXE booten te ondersteunen gebruiken we GRUB. Je moet deze manueel
compileren om PXE bestanden te ondersteunen, maar dat is zeer eenvoudig.
Download eerst de laatste versie van de GRUB broncode (emerge -f grub)
welke geplaatst wordt in /usr/portage/distfiles). Kopieer de
tarball in /diskless en compileer ze om een PXE binair bestand te
maken. Eenmaal het bestand aangemaakt is kopieer je ze naar de distloze client
bootdirectory. Daarna passen we de grub.lst configuratie aan.
Codevoorbeeld 6.4: GRUB configureren, compileren en klaarstomen |
# tar zxvf grub-0.92.tar.gz
# cd grub-0.92
# ./configure --help
# ./configure --enable-diskless --enable-$nic
# make
# cd stage2
# cp pxegrub /diskless/eta/boot/pxegrub
# nano -w /diskless/eta/boot/grub.lst
|
Codevoorbeeld 6.5: grub.lst |
default 0
timeout 30
title=Diskloze Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=(ip adres):/diskless/eta
|
NFS configureren is eenvoudig: het enige wat je moet toevoegen is een regel aan
/etc/exports:
Codevoorbeeld 6.6: /etc/exports |
# nano -w /etc/exports
/diskless/eta eta(rw,sync,no_root_squash)
|
Update je hosts bestand:
Codevoorbeeld 6.7: /etc/hosts |
127.0.0.1 localhost
192.168.1.10 eta.example.com eta
102.168.1.20 sigma.example.com sigma
|
Het systeem op de server aanmaken
Je kan de server herstarten met een Gentoo LiveCD. Maar je kan ook onmiddelijk
verdergaan met de gentoo installatieprocedure zoals uitgelegd in de Gentoo Installatie Handleiding, maar met de
volgende verschillen: wanneer je het bestandssysteem mount voer je de
volgende commandos uit; je moet geen andere partities mounten aangezien
alle bestanden in /diskless/eta zullen geplaatst worden.
Codevoorbeeld 6.8: Het bestandssysteem mounten |
# mount /dev/hdaX /mnt/gentoo
|
In het volgende voorbeeld maken we gebruik van een stage3 tarball. Mount
/proc in je directory en chroot erin om de installatie te
vervolgen. Volg de installatieinstructies tot aan de kernelconfiguratie.
Waarschuwing:
Zorg ervoor dat je de tarball op de juiste positie uitpakt
|
Codevoorbeeld 6.9: De niveau tarball uitpakken |
# cd /mnt/gentoo/diskless/eta
# tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2
# mount -t proc /proc /mnt/gentoo/diskless/eta/proc
# cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
# chroot /mnt/gentoo/diskless/eta /bin/bash
# env-update
# source /etc/profile
|
Wanneer je make menuconfig uitvoert, zorg er dan voor dat de volgende
zaken zeker meegecompileerd worden samen met de andere aangeraden opties van de
normale installatie handleiding.
Codevoorbeeld 6.10: menuconfig opties |
- Je netwerkkaart ondersteuning
- Onder "Networking Options":
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
- Onder "File systems --> Network File Systems":
<*>* NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
|
Configureer nu de /etc/fstab:
Codevoorbeeld 6.11: /etc/fstab |
# nano -w /etc/fstab
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs nodev,nosuid,noexec 0 0
|
Je moet ook tegengaan dat de client het bestandssysteem controleerd:
Codevoorbeeld 6.12: Voorkom dat de client een controle van het bestandssysteem doet |
# touch /fastboot
# echo "touch /fastboot" >> /etc/conf.d/local.start
|
Installeer nfs-utils ! Je client zal er trouwens van af hangen:
Codevoorbeeld 6.13: Installatie van nfs-utils |
# emerge nfs-utils
|
Installeer geen bootloader! We hebben er al namelijk eentje: pxegrub. Werk
gewoonweg de installatie af en herstart de server. Start de services die je
nodig hebt om de nieuwe client te booten: DHCP, TFTPD en NFS.
Codevoorbeeld 6.14: Services starten |
# /etc/init.d/dhcp start
# /etc/init.d/in.tftpd start
# /etc/init.d/nfs start
|
De nieuwe client booten
Opdat de nieuwe client correct zou booten moet je de BIOS configureren alsook
de netwerkkaart zodat beide PXE gebruiken als eerste bootmethode
- dus voor de CD-ROM of floppy. Indien je hier hulp voor nodig hebt
consulteer je beter je hardware handleidingen of de website van je
computerhardware. De netwerkkaart zou een IP moeten krijgen via DHCP en de
GRUB PXE downloaden via TFTP. Daarna zal je een mooi zwart/wit GRUB bootmenu
moeten zien waarin je de kernel kan selecteren en op enter drukken. Indien
alles in orde is zal de kernel booten, de root mounten via NFS en je een
login prompt geven.
Geniet van je diskloos systeem!
The contents of this document are licensed under the Creative Commons -
Attribution / Share Alike license.
|