Käynnistyslataimen valinta Johdanto

Nyt kun ydin ja asetukset on saatu kuntoon, asennetaan ohjelma jolla ydin ladataan käynnistyksen yhteydessä. Ohjelmaa kutsutaan käynnistyslataimeksi. X86-alustoille Gentoossa on tarjolla GRUB tai LILO. Ennen toisen näistä asennusta tarkastelemme framebufferin säätämistä (jos sellaista tarvitaan). Framebufferilla pystytään tuomaan komentojonoilla joitain (rajoittuneita) graafisia ominaisuuksia (kuten Gentoon tyylikkään käynnistyskuvan).

Valinnainen: Framebuffer

Jos framebuffertuki on ytimessä mukana (tai ydin on tehty genkernelillä), voidaan käynnistyslataimen asetuksiin lisätä vga-määrite framebufferia varten. Seuraavassa taulukossa kerrotaan millä muuttujan vga-arvoilla mitkäkin tilat saadaan aikaiseksi. Esimerkeissä käytämme tilaa 800x600 @ 16bpp, jota vastaa arvo 788.

769771773775785788791794786789792795
640x480800x6001024x7681280x1024
8 bpp
16 bpp
32 bpp

Arvo kannattaa ottaa muistiin, sitä tarvitaan piakkoin.

Nyt voidaan jatkaa asentamalla GRUB tai LILO.

Oletus: GRUBin käyttö GRUBin termistöä

Vaikein asia GRUBissa on sen tapa viitata kovalevyihin ja osioihin. Linux-maailman osio /dev/hda1 onkin GRUBissa (hd0,0). Sulut kuuluvat ilmaisuun, niitä ei voi jättää pois.

Kovalevyjen laskeminen aloitetaan siis nollasta aan asemesta ja osiotkin alkavat nollasta eivätkä ykkösestö. Laitteista lasketaan vain kovalevyt eikä esimerkiksi atapi-ide-laitteita kuten cd-asemia tai -polttimia. SCSI-asemat käyttävät samaa muotoa kuin IDE-asematkin. (Niissä on usein korkeammat numerot kuin idellä elleivät ne ole biosista määriteltyjä käynnistysasemia.)

Jos käytetään järjestelmää jossa on kovalevy /dev/hda, cd-asema /dev/hdb, polttava asema /dev/hdc ja toinen kovalevy /dev/hdd eikä SCSI-kovalevyjä, on /dev/hdd7 silloin (hd1,6). Saattaa kuulostaa hankalalta ja sitä se hieman onkin, mutta GRUB:pa tarjoileekin meille tabintäydennysmekanismia joka on erittäin kätevä jos numerointimalli pääsee muuten hämäämään.

Nyt kun meillä on tuntumaa käsitteisiin voimme jopa asentaa GRUBin.

GRUBin asennus

GRUBin asennus aloitetaan emergellä:

# emerge grub

Nyt GRUB on asennettu kohdalleen. Enää tarvitsee kehitellä asetustiedosto joka viittaa uuteen ytimeemme. Luodaan /boot/grub/grub.conf nanolla (tai muulla editorilla):

# nano -w /boot/grub/grub.conf

Seuraavassa kirjoitamme asetustiedoston grub.conf. Alla on kaksi vaihtoehtoista esimerkkiä oppaassa käytetylle osiointimallille ja ytimelle kernel-2.4.26-gentoo-r6. Vain ensimmäinen esimerkki on täysin kommentoitu,

  • ensimmäinen grub.conf on käsin rakennetuille ytimille
  • toinen grub.conf on genkernelillä tehdyille ytimille
# Oletusvalinta listauksista, numerointi alkaa nollasta
default 0
# Valintaruudun kesto sekunneissa ennen oletusvalinnan käynnistystä.
timeout 30
# Tyylikäs käynnistyskuva mausteeksi :-)
# kommentoi se pois jollei käytössä ole grafiikkakorttia
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoon Linux 2.4.26-r6
# Osio jolla ydin sijaitsee
root (hd0,0)
kernel /kernel-2.4.26-gentoo-r6 root=/dev/hda3

# Seuraavia kolmea riviä käytetään Windows-dualbooteissa.
# Tässä tapauksessa Windows on siis osiolla /dev/hda6.
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.4.26-r6
root (hd0,0)
kernel /kernel-2.4.26-gentoo-r6 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3
initrd /initrd-2.4.26-gentoo-r6

# Vain dualbooteille
title=Windows XP
root (hd0,5)
makeactive
chainloader +1
Muita osiointeja varten mallia pitää muuttaa tarpeen mukaan. Varmista kuitenkin että kaikki hakemistot liittyvät valitun GRUB-osion (kuten (hd0,0)) juurihakemistoon eikä koko järjestelmän juureen. Siksi siis (hd0,0)/grub/splash.xpm.gz onkin oikeasti /boot/grub/splash.xpm.gz sillä (hd0,0) liittyy hakemistoon /boot.

Jos ytimelle pitää antaa lisäparametrejä, ne voi lisätä kernel-komennon loppuun. Esimerkissä annetaan jo parametri root=/dev/hda3 tai real_root=/dev/hda3, mutta useampiakin voidaan syöttää. Esimerkiksi aiemmin mainittua framebufferia varten voisimme antaa vga-parametrin näin.

title=Gentoo Linux
  root (hd0,0)
  kernel /kernel-2.4.26-gentoo-r6 root=/dev/hda3 vga=788

Jos käytössä on ytimen versio 2.6.7 tai sitä uudempi, ja olet asettanut kovalevyysi jumpperin rajoittamaan kokoa koska BIOSisi ei ymmärrä suuria kovalevyjä, merkkaa myös vastaavalle kovalevylaitteelle ydinasetus hdx=stroke.

genkernelillä käännetyt ytimet käyttävät samoja asetuksia kuin LiveCD. Esimerkiksi SCSI-laitteita varten käytetään doscsi-parametriä.

Nyt tallenna grub.conf ja poistu. GRUB pitää vielä asentaa MBR:ään (Master Boot Record), jotta GRUB käynnistäisi koneen käynnistämisen yhteydessä.

Grubin kehittäjät suosittelevat komennon grub-install käyttämistä. Kuitenkin, jos grub-install ei jostain syystä toimikaan, voit silti yrittää asentaa sen käsinkin.

Jatka joko pitkin Oletusreittiä: Grubin asennus grub-installilla tai Vaihtoehtoa: Grubin asennus käsin.

Oletus: Grubin asennus grub-installilla

Grubin asentamiseen riittää grub-install-komento. Kuitenkin, grub-install ei toimi suoraan koska olemme vielä chroot-ympäristössä. Ensin pitää päivittää /etc/mtab (tiedosto, joka sisältää tiedot liitetyistä tiedostojärjestelmistä): onneksi tämä on helppoa; kopioidaan vain /proc/mounts /etc/mtabiksi:

# cp /proc/mounts /etc/mtab

Sitten voidaan asentaa grub:

# grub-install --root-directory=/boot /dev/hda

Lisätietoa GRUBista englanniksi löytyy GRUB FAQ:sta ja GRUB Manuaalista.

Seuraavaksi voidaan jatkaa uudelleenkäynnistyksellä.

Vaihtoehto: Grubin asennus käsin

Grubin asetuksia pääsee muuttamaan kirjoittamalla grub. Se tuo esiin grubin kehotteeen: grub>. Seuraavaksi kirjoitetaan komennot joilla Grub asentaa käynnistystietueen kovalevyllesi.

# grub
Jollei järjestelmässäsi ole diskettiasemia, lisää valitsin --no-floppy grubin komentoon niin se ei käytä aikaa niiden paikantamiseen.

Esimerkissä asennamme Grubin lukemaan tiedot käynnistysosiolta /dev/hda1, ja asentamaan käynnistystietueen kovalevyn MBR:ään (master boot record). Tällainen järjestely käynnistää koneen oletusarvoisesti aina Grubilla. Tietenkin taas mukautat annettuja komentoja, jolleivät osiointisi vastaa ohjeen esimerkkiä

Grubissa on kehotteessa toimiva tabintäydennysmekanismi. Tämä toimii siten, että jos vaikkapa kirjoitat root ( ja painat tabulaattoria, grub näyttää listan laitteista (kuten hd0). Jos sitten kirjoitat root (hd0, ja painat tabia, saat vastaavasti listan ensimmäisen kovalevyn osioista.

Tabintäydennyksen kanssa Grubin säätäminen ei ole liian monimutkaista. Seuraavaksi laitetaan siis asetukset kuntoon.

grub> root (hd0,0)          (Osoita /boot-osion sijainti)
grub> setup (hd0)           (Asenna Grub MBR:ään)
grub> quit                  (Poistu Grubin kehotteelta)
Jos haluat asentaa Grubin jollekin osiolle MBR:n sijaan, voit muuttaa setup-komentoa osoittamaan oikeaan osioon. Esimerkiksi laitteelle /dev/hda3 sopiva komento on setup (hd0,2). Tällaista tarvinnee kuitenkin aika harvoin.

Lisätietoa Grubista saat GRUB FAQista tai GRUB Manualista.

Jatka järjestelmän uudelleenkäynnistyksellä.

Vaihtoehto: LILOn käyttäminen LILOn asennus

LILO (LInuxLOader) on vanha ja vakaa Linuxin käynnistyslatain. Siitä puuttuu jotain GRUBin toimintoja (mistä syystä GRUB saavuttaakin suosiota). LILOa kuitenkin käytetään joissain järjestelmissä joissa GRUB ei toimi sekä vanhasta tottumuksesta. Joka tapauksessa, Gentoo toimii molemmilla ja tässä tarkastellaan LILOa.

LILOn asennus on näppärää, ei tarvitse kuin käskyttää emergeä.

# emerge --usepkg lilo
LILO asetusten teko

LILOn asetuksia varten luodaan tiedosto /etc/lilo.conf. Käynnistä suosikkieditorisi (käsikirjassa käytetään nanoa)

# nano -w /etc/lilo.conf

Joitain kohtia aiemmin otettiin ylös ytimen nimi. Seuraavassa käytetään nimeä kernel-2.4.26-gentoo-r6 ja aiemmin kuvailtua osiointimallia. Esimerkissä on kaksi kohtaa:

  • käsin käännetyille ytimille
  • genkernelillä käännetyille ytimille.

Muista varmistaa tiedostonimien oikeellisuus oman järjestelmäsi mukaan.

boot=/dev/hda             # Asennetaan LILO MBR:ään
prompt                    # Käynnistetään valintaruudulla
timeout=50                # Odotetaan valintaa 5 sekuntia
default=gentoo            # 5 sekunnin jälkeen käynnistetään gentoo-valinta
# Vain framebufferia varten, muutoin seuraavan rivin voi ohittaa:
vga=788                   # Framebufferin asetukset, valitse haluamasi tila

# Käsin käännetty ydin
image=/boot/kernel-2.4.26-gentoo-r6
  label=gentoo            # Ytimelle annettaan nimi
  read-only               # Aloitetaan juuriosio kirjoitussuojattuna. Pakollinen!
  root=/dev/hda3          # Juuriosion sijainti

# Genkernelillä käännetty ydin
image=/boot/kernel-2.4.26-r6
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc real_root=/dev/hda3"
  initrd=/boot/initrd-2.4.26-r6

# Tätä kohdetta käytetään vain Windows-dualbooteissa
# Tässä esimerkissä Windows on osiolla /dev/hda6.
other=/dev/hda6
  label=windows
Jos käytössä on jokin muu osiointi tai ydin, niin esimerkit korvataan niillä.

Jos ytimelle pitää antaa muita parametrejä, ne lisätään append-lausekkeella. Esimerkiksi framebufferin asetus vga=788 annetaan seuraavasti:

image=/boot/kernel-2.4.26-gentoo-r6
  label=gentoo
  read-only
  root=/dev/hda3
  append="vga=788"

Jos käytössä on ytimen versio 2.6.7 tai sitä uudempi, ja olet asettanut kovalevyysi jumpperin rajoittamaan kokoa koska BIOSisi ei ymmärrä suuria kovalevyjä, merkkaa myös vastaavalle kovalevylaitteelle ydinasetus hdx=stroke.

genkernelillä käännetyt ytimet käyttävät samoja käynnistysparametreja kuin LiveCD:kin. Esimerkiksi SCSI-laitteet käynnistetään lisäämällä doscsi ydinparametreihin.

Seuraavaksi tallenna tiedosto ja poistu editorista. Lilon asennus viimeistellään komennolla /sbin/lilo. Se tallentaa LILOn asetukset järjestelmään (eli kopioi lataimen levylle). Muista että /sbin/lilo pitää ajaa joka kerta kun uusi ydin asennetaan.

# /sbin/lilo

Seuraavaksi voidaan jatkaa uudelleenkäynnistyksellä.

Järjestelmän uudelleenkäynnistys

Poistu chroot-ympäristöstä ja irrota osioliitokset. Sitten voit kirjoittaa sen viimeisen taikasanan: reboot.

cdimage ~# exit
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot

Muista tietenkin ottaa käynnistyvä cd pois asemasta, että käynnistys tapahtuisi uuteen järjestelmään cd:n asemesta.

Uudelleenkäynnistyksen jälkeen voitkin viimeistellä Gentoon asennuksesi.