Gentoo Linux alternative installationsmetoder HOWTO
1.
Om dette dokument
Hvis du ikke kan bruge standard installationsmetoden fra CD (eller du blot
ikke bryder dig om den) så finder du hjælp her. Dette dokument er tænkt som
en samling alternative Gentoo Linux installationsmetoder til de personer der
måtte have behov for dem.
Derudover er den også tænkt som et sted til den specielle metode som du
benytter og synes at andre også skal drage nytte af. Hvis du har en sådan,
så skriv endelig noget om den og læg det op på
Bugzilla (engelsk).
2.
Opstart af installations CD'en med "Smart BootManager"
Hent Smart BootManager fra http://btmgr.sourceforge.net/download.html.
Såvel prækompilerede pakker til Windows og Linux som kildekoden til Linux versionen
er til rådighed. Derudover er der mange sprogpakker. På nuværende tidspunkt
anbefales det dog at anvende den prækompilerede udgave, da kildekoden ikke kan
kompileres med nyere udgaver af NASM.
Du skal enten kompilere pakken eller hente den færdige binære fil. Der er
flere optioner til valg mens du opretter din boot floppy, som du kan se nedenfor.
Kode oversigt 2.1: Smart BootManagers valgmuligheder |
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 overwritten for
future uninstallation;
-u backup_file uninstall Smart BootManager, should be used alone;
-y do not ask any question or warning.
|
Kode oversigt 2.2: Brug af sbminst for at bygge opstartsdisketten |
# sbminst -t us -d /dev/fd0
|
Bemærk:
Erstat fd0 med dit floppydrevs enhedsnavn, hvis det er anderledes.
|
Sæt nu boot-floppyen og CD'en i drevene på den maskine du vil installere på og
og genstart den.
Du vil blive hilst af Smart BootManagerens dialog. Vælg dit CDROM-drev
og tast ENTER for at starte installations CD'en. Når opstartsprocessen er
afsluttet, fortsæt med de normale installationsinstruktioner.
Flere informationer omkring Smart BootManager kan blive fundet på
http://btmgr.sourceforge.net/
3.
Knoppix installation
Bemærk:
Knoppix er kun tilgængelig for x86 brugere.
|
Opstart fra Knoppix-LiveCDen
er en metode for at få et fuldt funktionelt Linux system, imens du
kompilerer Gentoo. Med Tux Racer kan du få tiden til at gå og med
OpenOffice kan du arbejde.
Advarsel:
Vær opmærksom på at hvis du gemmer noget som helst i Knoppix's /home
bibliotek mens du venter på at dit Gentoo system bliver installeret,
så vil det ikke være tilgængeligt når du genstarter ind i Gentoo.
Vær derfor sikker på at gemme vigtige filer på harddisken eller en
anden computer!
|
Boot fra Knoppix CD'en. Hvis du bruger Knoppix 3.6-3.8.2, så skal
du specificere knoppix26 som opstarts parameter for at
starte en 2.6 kerne. Hvis du glemmer dette skridt, så vil du, når du
chroot'er, få en fejl der siger din kerne er for gammel. Hvis
du derimod bruger Knoppix 3.9+, så er dette skridt unødvendigt, da 2.6
kernen der er standard.
Som standard, booter Knoppix ind på en KDE arbejdsplads. Åben en
konsol og su - så du kan ændre password. Dette lader dig ændre
root-kodeordet for Knoppix. Du kan nu konfigurere sshd for at
logge ind udefra, som du nu end ønsker den konfigureret.
Kode oversigt 3.1: Oprettelse af /mnt/gentoo mountpunkt |
# mkdir /mnt/gentoo
|
På dette tidspunkt, kan du forsætte med installationsdokumentationen
fra 4. kapitel.
Dog skal du, når du bliver spurgt om at mounte proc systemet, udføre følgende
kommando:
Kode oversigt 3.2: Bind-mounting af proc pseudo filsystemet |
# mount -o bind /proc /mnt/gentoo/proc
|
Derudover skal du være opmærksom på at nogle af Portage's FEATURES ikke vil
fungere i Knoppix. Dette gælder særdeles for userpriv og
usersandbox. Hvis du kommer ud for problemer bør du måske deaktivere
nogle eller alle valgfrie optioner.
4.
Installation fra stage 1 uden netværksadgang
Brænd en installations CD iso-fil.
Hent den sidste nye portage snapshot fra
http://distro.ibiblio.org/pub/linux/distributions/gentoo/snapshots/
(eller dit favorit filspejl). Placer
enten denne tarball på en eksisterende partition på den computer, du
installerer på, eller brænd den til en CD.
Følg alle instruktionerne i Gentoo installationshåndbog op til
chroot /mnt/gentoo i kapitel 6. Hvis du kun har eet CDROM-drev,
så husk at bruge docache valgmuligheden, mmens du booter, så
du kan unmounte installations CD'en og mounte din portage snapshot CD.
Åben en ny konsol (Alt-F2), og følg installationsdokumentationen op
til det kørende bootstrap.sh script.
Advarsel:
Ældre udgivelser af installations CD'en kræver at du ændrer kodeordet ved brug af
passwd-kommandoen, før du logger ind manuelt. |
Gå tilbage til den første konsol (Alt-F1, uden chroot) og mount en
anden CD på /mnt/gentoo/mnt/cdrom2. Kopier portage
tarballen fra cdrom2 og pak den ud til
/mnt/gentoo/usr.
Kode oversigt 4.1: Mount af snapshot cd |
# 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
# cd /mnt/gentoo/usr
# tar -xvjpf portage-$date.tar.bz2
|
Skift tilbage til F2 konsollen. Hvis du nu prøver at kører
bootstrap.sh, vil den fejle, fordi den ikke har mulighed for at hente
nogen filer. Vi vil nu fange disse filer et andetsteds og putte dem i
/usr/portage/distfiles (på F2 konsollen).
Du har brug for en liste af stage 1 pakker: glibc, baselayout, texinfo,
gettext, zlib, binutils, gcc, ncurses samt deres afhængigheder.
Bemærk:
Bemærk at du skal have versionerne af hver pakke synced med dit portage-træ.
|
Kode oversigt 4.2: Opnåelse af hente-listen |
# emerge -fp glibc baselayout texinfo gettext zlib binutils gcc ncurses 2> stage1.list
# mount -t vfat /dev/fd0 /mnt/floppy
# cp /mnt/gentoo/stage1.list /mnt/floppy
# umount /mnt/floppy
|
Tag disketten til en computer, som har hurtig adgang. Hvis du tager et
kig på stage1.list-filen, vil du se at den giver dig
flere steder for at hente. Desværre nævner den også forskellige
URLs til hver pakke, hvilket ikke er hvad du ønsker. Fjern alle, pånær
en af adresserne først:
Kode oversigt 4.3: Oprydning af URLs |
# cut -f 1 -d ' ' stage1.list >
stage1.download |
Brug nu wget til at hente alle de oplistede kilder:
Kode oversigt 4.4: Brug af wget for at fange dine kildepakker |
# wget -N -i stage1.download
|
Når du har hentet alle filerne, skal du tage dem til din computer
og kopiere dem til /mnt/gentoo/usr/portage/distfiles.
Nu vil du have mulighed for at køre bootstrap.sh. Gentag den samme
"wget-fangst og -placer" procedure til stage 2 og 3.
5.
Diskfri installation ved brug af PXE boot
Krav
Du har brug for et netværkskort på den diskfrie klient, der bruger
PXE-protokollen til at opstarte, hvilket eksempelvis mange 3com-kort gør. Du har
også brug for et BIOS, som understøtter opstart fra PXE.
Basisopsætning af server
Opret mapper: Det første der skal gøres er at oprette mapper, hvor dit
diskfrie system vil blive gemt. Opret en mappe kaldet
/diskless, som huser en folder for hver diskfri klient. I resten
af denne howto vil vi arbejde på klienten 'eta'.
Kode oversigt 5.1: opsætning af foldere |
# mkdir /diskless
# mkdir /diskless/eta
# mkdir /diskless/eta/boot
|
DHCP- og TFTP-opsætning: Klienten vil få opstartsinformationer ved brug af DHCP og
hente alle nødvendige filer ved brug af TFTP. Bare emerge DHCP og indstil den til
dine generelle behov. Så, tilføj følgende i
/etc/dhcp/dhcpd.conf.
Bemærk:
Dette skaber en fast IP-adresse til klienten og stien af en PXE-opstartsbilledfil,
her pxegrub. Du skal erstatte MAC-adressen af Ethernet-kortet
for din klient og mappen, hvor du vil indsætte klientens filer med den,
du bruger.
|
Til DHCPd, kør da emerge dhcp (eller enhver anden DHCP server
du har lyst til). Vær sikker på at det korrekte interface er valgt i
/etc/conf.d/dhcp.
Kode oversigt 5.2: dhcp.conf |
option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}
|
Til TFTP, emerge app-admin/tftp-hpa. Indsæt dette i
/etc/conf.d/in.tftpd:
Kode oversigt 5.3: in.tftpd |
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
|
Konfigurer GRUB: For at levere PXE-opstart, bruger jeg GRUB. Du skal selv
selv kompilere den for at aktivere PXE-billedfil samling ... men det er nemt.
Hent først, den sidste nye version af GRUB-kildekoden (emerge
-f grub vil placere tarball'en i /usr/portage/distfiles).
Kopier tarball'en til /diskless og kompiler den for at skabe
den PXE-understøttede binære fil. Kopier den binære fil over til den
diskfrie klients opstartsfolder såsnart den er kompileret. Rediger derpå
dens grub.lst indstillingsfil.
Kode oversigt 5.4: grub setup |
# 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
|
Kode oversigt 5.5: grub.lst |
default 0
timeout 30
title=Diskfri Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.ad.res.se:/diskless/eta
|
Opsætning af NFS: NFS er meget let at sætte op. De eneste du skal
gøre er at tilføje en linie i /etc/exports opsætningsfilen:
Kode oversigt 5.6: /etc/exports |
# nano -w /etc/exports
# /etc/exports: NFS file systems being exported. See exports(5).
/diskless/eta eta(rw,sync,no_root_squash)
|
Opdater dine værter: En vigtig ting at gøre nu er at tilpasse din
/etc/hosts fil til dine behov.
Kode oversigt 5.7: /etc/hosts |
127.0.0.1 localhost
192.168.1.10 eta.eksempel.dk eta
192.168.1.20 sigma.eksempel.dk sigma
|
Oprettelse af systemet på serveren
Du vil måske ønske at genstarte serveren med en Gentoo installations
CD, selvom du sagtens kan fortsætte med det samme hvis du ved hvordan
du skal fortsætte med Gentoo Installation instruktionerne for en
eksisterende installation. Følg standard installationsproceduren som
det er forklaret i Gentoo Install Howto, MEN med de følgende
forskelle: Når du mounter filsystemet, skal du gøre det følgende (hvor
hdaX er den partition hvor du lavede /diskless
biblioteket). Du har ikke brug for at mounte andre partitioner, da
alle filerne vil være placeret i /diskless/eta mappen.
Kode oversigt 5.8: Mount af filsystem |
# mount /dev/hdaX /mnt/gentoo
|
Stage-tarballs og chroot: Dette eksempel bruger en stage3-tarball. Mount
/proc til din diskless mappe og chroot ind i den for at fortsætte
installationen. Følg derefter installationsinstruktionerne indtil kerne-opsætningen.
Advarsel:
Vær meget forsigtig med hvor du udpakker din stage-tarball. Du vil ikke ønske at udpakke
oveni din eksisterende installation.
|
Kode oversigt 5.9: Udpakning af stage-tarball |
# 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
|
Kerne-opsætning: Når du laver make menuconfig på din kerne-opsætning,
så glem ikke at aktivere de følgende valgmuligheder, med de andre
anbefalede fra installationsinstruktionerne.
Kode oversigt 5.10: Menuconfig valgmuligheder |
- Dit netværkskort enhedsunderstøttelse
- Under "Networking options" :
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
- Under "File systems --> Network File Systems" :
<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
|
Gem kernen i din chrootede / (ikke i /boot)
som pxegrub opsætningen fra før definerede. Konfigurer derefter din
diskfrie klients /etc/fstab.
Kode oversigt 5.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
|
Du skal også forhindre klienten i at køre et tjek på filsystemet:
Kode oversigt 5.12: Forhindre klienten i at køre et tjek på filsystemet |
# touch /fastboot
# echo "touch /fastboot" >> /etc/conf.d/local.start
|
Installer nfs-utils da din klient vil være meget afhængig af den.
Kode oversigt 5.13: Installering nfs-utils |
# emerge nfs-utils
|
Boot-loader. Installer ikke en anden boot-loader, da vi har allerede en -
pxegrub. Afslut simpelthen installationen og genstart serveren. Start de services
som du behøver for at starte den nye klient: DHCP, TFTPD, and NFS.
Kode oversigt 5.14: Opstart af services |
# /etc/init.d/dhcp start
# /etc/init.d/in.tftpd start
# /etc/init.d/nfs start
|
Opstart af den nye klient
For at den nye klient kan opstarte ordentligt, skal du indstille bios og
netværkskortet til at bruge PXE som første opstartsmetode - før CD-ROM eller floppy. For
hjælp til dette, læs dine hardware-instruktionsvejledninger eller producentens hjemmeside.
Netværkskortet burde få en IP-adresse ved brug af DHCP og hente GRUB PXE-billedfilen
ved brug af TFTP. Dernæst burde du se en flot sort og hvid GRUB-opstartsmenu,
hvor du vælger den kerne du vil starte og trykker Enter. Hvis alt er i orden, vil
din kerne starte op, mounte rod-filsystemet ved brug af NFS og give dig en
login-prompt. Nyd det.
6.
Installation af Gentoo fra en eksisterende Linux distribution
Krav
For at kunne installere Gentoo fra en eksisterende Linux distribution, vil du have brug for
at have chroot-kommandoen installeret, og have en kopi af Gentoo installationstarball'en
eller ISO, som du ønsker at installere. En netværksforbindelse er anbefalet hvis
du vil have mere end hvad er leveret i din tarball. (bemærk at en tarball bare er
en fil, som ender med .tbz eller .tar.gz). Forfatteren brugte RedHat Linux 7.3 som
"vært" operativsystem, men det er ikke vigtigt. Lad os starte!
Oversigt
Først vil vi lave plads til en partition til Gentoo ved at ændre størrelsen på vores nuværende Linux
partition, mounte partitionen, untar're tarball'en som er mountet, chroot'e
inde i pseudo-systemet og starte samlingen. Når bootstrap-processen er færdig,
vil vi foretage nogle afsluttende opsætninger af systemet, så vi er sikre på at den
starter op, og så er vi klar til at genstarte og bruge Gentoo.
Hvordan skal vi lave plads til Gentoo?
Rod-partitionen er filsystemet mountet under /. En hurtig kørsel
af mount på mit system, viser hvad jeg taler om. Vi vil også bruge df (disk
free) for at se hvor meget plads der er tilbage og hvordan jeg ændrer det. Bemærk at
det ikke er et krav at ændre størrelsen på din rod-partition! Du kan ændre alt andet
som er understøttet af vores resizer, men lad os tale om det senere.
Kode oversigt 6.1: Filsystem information |
# 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
|
Som du kan se, er partitionen mountet som / navngivet
/dev/hdb2 og har 2,4 gigabytes fri plads. I mit tilfælde, synes
jeg at jeg vil ændre den, så der er 400 MB fri plads, og dermed reservere 2 gigabytes
til Gentoo. Ikke dårligt, jeg kan have en del ting installeret. Dog
kan en gigabyte være nok til de fleste brugere. Så lad os partionere dette!
Kompilering af parted for at ændre partitionsstørrelse
Parted er et værktøj leveret af GNU foundation, et gammelt og respektabelt
kæmpeprojekt, hvis software du bruger lige nu. Dette er ét værktøj,
dog er det ekstremt brugbart for os i dette øjeblik. Det er kaldet
parted, "partition editor", og vi kan få det fra
http://www.gnu.org/software/parted/
Bemærk:
Der er også andre værktøjer som kan ændre partitionsstørrelsen, men
forfatteren er ikke sikker på/ikke interesseret i om
PartitionMagic(tm) eller andre softwareprodukter af denne type gør det
samme job. Det er op til læseren at finde dem.
|
Slå op på siden, og se efter hvilket filsystem du ønsker at ændre, og se om
parted kan gøre det. Hvis ikke, er du uheldig og skal fjerne nogle partitioner
for at gøre plads til Gentoo, og geninstallere tilbage. Bare start med at hente
softwaren og installer det. Her har vi et problem. Vi ønsker at ændre størrelsen på vores Linux
rod-partition, og derfor skal vi starte op fra en diskette med et minimalt linux system
og bruge præ-samlet parted kopieret til en diskette for at kunne ændre størrelsen på
/. Dog, hvis du kan unmounte partitionen, imens du stadigvæk er
i Linux, er du heldig, og du behøver ikke at gøre som følgende. Bare samle parted
og køre den på en umountet partition, som du ønsker at ændre størrelsen på.
Her er hvordan jeg gjorde det for mit system.
Vigtigt:
Vær sikker på at de ting du vil gøre er understøttet af parted!
|
Hent mininux boot/root disk (en mini Linux distribution baseret på 2.4
kernen som kun fylder en diskette - og så er den gratis) fra
http://mininux.free.fr/uk/, opret en diskette, som foreslået i dokumentationen,
som følger med softwarepakken og indsæt en ny diskette i
drevet til næste trin.
Bemærk:
Bemærk atter at Linux er synonym med "Der er flere måder at gøre det på". Din
opgave er at køre parted på en unmounted partition, så den kan gøre sit arbejde. Du
kan vælge at bruge en anden boot/root diskset end mininux. Du behøver muligvis ikke
engang at gøre dette, men kan måske unmounte filsystemet du vil have
genpartitioneret i din Linux session og køre parted på det.
|
Kode oversigt 6.2: Oprettelse af værktøjsdiskette |
# mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912
|
Vi vil nu fortsætte med kompileringen af parted. Hvis det ikke allerede er hentet
og udpakket, så gør det nu og cd ind i den tilsvarende folder. Kør nu følgende
kommandoer for at kompilere værktøjet og kopiere det til din diskette.
Kode oversigt 6.3: Samling af værktøjsdiskette |
# mkdir /floppy; mount -t minix /dev/fd0 /floppy &&
export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure
&& make && cp parted/parted /floppy && umount /floppy
|
Tillykke, du er klar til at genstarte og ændre størrelsen på din partition. Gør kun dette
efter at have taget et hurtigt kig i parted dokumentationen på GNUs webside.
Ændringen af størrelsen burde tage under 30 minutter for de største harddiske, men vær
tålmodig. Genstart dit system med mininux opstartsdisk (bare put den i),
og når du har logget ind, udskift disketten i drevet med din værktøjsdiskette,
som vi har lavet foroven og indtast mount /dev/fd0 /floppy for at have parted under
/floppy. Kør parted og du vil være klar til ændre størrelsen på din
partition. Når denne langvarige process er færdig, er du klar til at have det rigtigt sjovt med
at installere Gentoo. Genstart foreløbigt tilbage til dit gamle Linux system. Drevet, som du ønsker
at arbejde på, er det drev som inderholder partitionen du ønsker at ændre størrelsen på. F.eks.
hvis du vil ændre /dev/hda3, er drevet /dev/hda.
Kode oversigt 6.4: Kommandoer som skal køres når man er logget ind på mininux system |
# mount /dev/fd0 /floppy
# cd /floppy; ./parted [drev som du ønsker at arbejde på]
(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
|
Vigtigt:
Vær tålmodig! Computeren virker! Kig bare på harddisk LED på dit kabinet
for at se om det virkeligt virker. Det burde tage imellem 2 og 30 minutter.
|
Når du har ændret størrelsen, start op på din gamle linux, som
beskrevet. Så gå til Gentoo-håndbogen: Forberedelse af harddiske
og følg instruktionerne. Når du kommer til chrooting, brug følgende
kommando for at klargøre dine omgivelser:
Kode oversigt 6.5: Klargørelse af omgivelserne ved en chroot |
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update
# source /etc/profile
|
God fornøjelse!
Indholdet i dette dokument er autoriseret under en Creative Commons -
Attribution / Share Alike licens.
|