Gentoo Logo

[ << ] [ < ] [ Etusivu ] [ > ] [ >> ]


10. Käynnistyslataimen asetukset

Sisällysluettelo:

10.a. Käynnistyslataimen valinta

Johdanto

Nyt kun ydin ja asetukset on saatu kuntoon, asennetaan ohjelma jolla ydin ladataan käynnistyksen yhteydessä. Ohjelmaa kutsutaan käynnistyslataimeksi.

AMD64-alustalle, Gentoo Linuxissa on tarjolla GRUB tai LILO.

Ennen asennusta tarkastelemme framebufferin säätämistä (jos sellaista tarvitaan). Framebufferilla pystytään tuomaan komentojonoille joitain (rajoittuneita) graafisia ominaisuuksia (kuten Gentoon tyylikkään käynnistyskuvan).

Valinnainen: Framebuffer

Jos framebuffer-tuki on ytimessä mukana (tai ydin on tehty genkernelillä), voidaan käynnistyslataimen asetuksiin lisätä video-määrite framebufferia varten.

Ensiksi täytyy selvittää minkätyyppinen framebufferi on käytössä. Yleiselle VESA-ajurille kannattaa käyttää uvesafb:tä.

Video-asetus määrittelee framebufferin asetuksia. Siihen syötetään framebuffer-laitteen nimi (vesafb 2.6-kerneleille tai vesa 2.4-kerneleille) ja asetukset jotka lisätään. Luettelo asetusmuuttujista on tiedostossa /usr/src/linux/Documentation/fb/uvesafb.txt, mutta alla on taulukoituna yleisimmät.

Asetus Kuvaus
ywrap Ajuri olettaa näyttödatan jatkuvan muistissa kuvan reunojen yli (so. rivin viimeinen näyttöpiste edeltää välittömästi seuraavan rivin ensimmäistä).
mtrr:n Aseta mtrr-rekisterien käyttöaste. n voi olla: 0 — disabled 1 — uncachable 2 — write-back 3 — write-combining 4 — write-through
mode Asettaa näyttötarkkuuden, värisyvyyden ja virkistystaajuuden. Esimerkiksi arvo 1024x768-32@85 vastaa näyttötarkkuutta 1024×768 näyttöpistettä, 32-bittistä värisyvyyttä ja 85 hertsin virkistystaajuus.

Lopputuloksena näistä kahdesta asetuksesta saataneen jotain tyyppiä video=uvesafb:mtrr:3,ywrap,1024x768-32@85 oleva asetus. Arvo kannattaa ottaa muistiin, sitä tarvitaan piakkoin.

Nyt voidaan jatkaa asentamalla GRUB tai LILO.

10.b. Oletus: GRUBin käyttö

GRUBin termistöä

Vaikein asia GRUBissa on sen tapa viitata kovalevyihin ja osioihin. Linux-maailman osio /dev/sda1 onkin todennäköisesti 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.) Lisäksi jos BIOSia käskee käynnistämään joltain tietyltä kovalevyltä, se on grubille aina (hd0, riippumatta missä johdossa se on kiinni.

Jos käytetään järjestelmää jossa on kovalevy /dev/sda, ja kaksu muuta /dev/sdb ja /dev/sdc, silloin /dev/sdb7 on (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ä:

Tärkeää: Non-multilib-profiilin, kanssa asennetaan emergellä grub-static, eikä grub. Non-multilib-profiililla ja ilman IA32-emulaatioasetusta kernelissä pitää käyttää liloa.

Koodilistaus 2.1: GRUBin asentaminen

# emerge grub

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

Koodilistaus 2.2: /boot/grub.confin luonti

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

Seuraavassa kirjoitamme asetustiedoston grub.conf. Alla on kaksi vaihtoehtoista esimerkkiä oppaassa käytetylle osiointimallille. Vain ensimmäinen esimerkki on täysin kommentoitu.

  • Ensimmäinen grub.conf on käsin rakennetuille ytimille.
  • Toinen grub.conf on genkernelillä tehdyille ytimille.

Huomaa: Grub hakee asetukset BIOSilta, joten jos BIOS-asetukset muuttuvat saattavat laitteiden numerot ja kirjaimet muuttua myös. Esimerkiksi jos muutat laitteiden käynnistysjärjestystä, saattaa se pitää päivittää myös grubin asetuksiin.

Huomaa: Jos juuren tiedostojärjestelmä on JFS, pitää kernel-riville lisätä ” ro”, sillä JFS:n pitää suorittaa loki lävitse ennen kirjoitussuojaamattoman tilan liitosta.

Koodilistaus 2.3: Grub.conf käsin asennetuille 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)/boot/grub/splash.xpm.gz

title=Gentoon Linux 2.6.34-r1
# Osio jolla ydin sijaitsee
root (hd0,0)
kernel /boot/kernel-2.6.34-gentoo-r1 root=/dev/sda3

title=Gentoo Linux 2.6.34-r1 (pelastus)
# Ytimen tai käyttöjärjestelmän osio
root (hd0,0)
kernel /boot/kernel-2.6.34-gentoo-r1 root=/dev/sda3 init=/bin/bb

# Seuraavia kolmea riviä käytetään Windows-dualbooteissa.
# Tässä tapauksessa Windows on siis osiolla /dev/sda6.
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1

Koodilistaus 2.4: Grub.conf genkernel-ytimille

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.34-r1
root (hd0,0)
kernel /boot/kernel-genkernel-amd64-2.6.34-gentoo-r1 real_root=/dev/sda3
initrd /boot/initramfs-genkernel-amd64-2.6.34-gentoo-r1

# Vain dualbooteille
title=Windows XP
rootnoverify (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.

Tapauksissa, joissa käytetään eri osiointimallia, jossa ei ole erillistä /boot-osiota, pitää /boot/ määritellä kaikissa käynnistyslataimen asetuksissa. Jos erillinen /boot-osio on käytössä, sitä ei tarvitse asetuksissa mainita, mutta sen käyttäminen on silti suositeltavaa, sillä se toimii siinäkin tapauksessa symbolisen linkin ansiosta. Käytännössä siis yllä annetut esimerkit toimivat sellaisenaan molemmissa tapauksissa.

Jos ytimelle pitää antaa lisäparametrejä, ne voi lisätä kernel-komennon loppuun. Esimerkissä annetaan jo parametri root=/dev/sda3 tai real_root=/dev/sda3, mutta useampiakin voidaan syöttää. Esimerkiksi tähän syötettäisiin aiemmin tarkastellut framebufferin vga- ja video-arvot.

Jos käytössä on real_root-asetus, juuritiedostojärjestelmän parametreille pitää käyttää real_rootflagsiä.

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 asennus-CD, 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/mountsista kaikki paitsi rootfs /etc/mtabiksi:

Koodilistaus 2.5: /etc/mtabin päivitys

# grep -v rootfs /proc/mounts > /etc/mtab

Sitten voidaan asentaa grub:

Koodilistaus 2.6: Grub-installin suoritus

# grub-install --no-floppy /dev/sda

Lisätietoa GRUBista englanniksi löytyy GRUB FAQ:sta ja GRUB Wikistä, tai info grub -ohjeesta.

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.

Koodilistaus 2.7: Grubin kehotteen avaus

# grub --no-floppy

Huomaa: 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/sda1, 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.

Koodilistaus 2.8: Grubin asennus MBR:ään

grub> root (hd0,0)          (Osoita /boot-osion sijainti)
grub> setup (hd0)           (Asenna Grub MBR:ään)
grub> quit                  (Poistu Grubin kehotteelta)

Huomaa: Jos haluat asentaa Grubin jollekin osiolle MBR:n sijaan, voit muuttaa setup-komentoa osoittamaan oikeaan osioon. Esimerkiksi laitteelle /dev/sda3 sopiva komento on setup (hd0,2). Tällaista tarvinnee kuitenkin aika harvoin.

Lisätietoa Grubista saat GRUB FAQista tai GRUB Wikistä, tai info grub -ohjeesta.

Jatka järjestelmän uudelleenkäynnistyksellä.

10.c. Vaihtoehto: LILOn käyttäminen

LILOn asennus

LILO (LInuxLOader) on vanha ja vakaa Linuxin käynnistyslatain. Siitä puuttuu joitain 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ä.

Koodilistaus 3.1: LILOn asennus

# emerge lilo

LILOn asetusten teko

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

Koodilistaus 3.2: /etc/lilo.confin luonti

# nano -w /etc/lilo.conf

Joitain kohtia aiemmin otettiin ylös ytimen nimi. Seuraavassa käytetään 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.

Huomaa: Jos juuren tiedostojärjestelmä on JFS, pitää kernel-riville lisätä ” ro”, sillä JFS:n pitää suorittaa loki lävitse ennen kirjoitussuojaamattoman tilan liitosta.

Koodilistaus 3.3: /etc/lilo.conf-esimerkki

boot=/dev/sda             # 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

# Käsin käännetty ydin
image=/boot/kernel-2.6.34-gentoo-r1
  label=gentoo            # Ytimelle annetaan nimi
  read-only               # Aloitetaan juuriosio kirjoitussuojattuna. Pakollinen!
  root=/dev/sda3          # Juuriosion sijainti

# Genkernelillä käännetty ydin
image=/boot/kernel-genkernel-amd64-2.6.34-gentoo-r1
  label=gentoo
  read-only
  append="real_root=/dev/sda3"
  initrd=/boot/initramfs-genkernel-amd64-2.6.34-gentoo-r1

image=/boot/kernel-2.6.34-gentoo-r1
  label=gentoo.rescue     # Ytimille annetaan nimi
  read-only               # Aloitetaan juuriosio kirjoitussuojattuna. Pakollinen!
  root=/dev/sda3          # Juuriosion sijainti
  append="init=/bin/bb"   # Käytetään Gentoon pelastuskuorta

# Tätä kohdetta käytetään vain Windows-dualbooteissa
# Tässä esimerkissä Windows on osiolla /dev/sda6.
other=/dev/sda6
  label=windows

Huomaa: 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 video annetaan seuraavasti:

Koodilistaus 3.4: Parametrien lisäys framebufferilla

  image=/boot/kernel-2.6.34-gentoo-r1
  label=gentoo
  read-only
  root=/dev/sda3
  append="video=uvesafb:mtrr:n,ywrap,1024x768-32@85"

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 sda=stroke.

genkernelillä käännetyt ytimet käyttävät samoja käynnistysparametreja kuin asennus-CD: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.

Koodilistaus 3.5: LILOn asennuksen viimeistely

# /sbin/lilo

Lisätietoa LILOsta saattaa löytää englanninkielisen wikipedian LILO-sivulta.

Seuraavaksi voidaan jatkaa uudelleenkäynnistyksellä.

10.d. Järjestelmän uudelleenkäynnistys

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

Koodilistaus 4.1: Chrootista poistuminen, osioiden irrotus ja uudelleenkäynnistys

cdimage ~# exit
cdimage ~# umount -l /mnt/gentoo/dev{/pts,/shm,}
cdimage ~# umount -l /mnt/gentoo{/boot,/sys,/proc,}
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.


[ << ] [ < ] [ Etusivu ] [ > ] [ >> ]


Tulostettava muoto

Näytä kaikki

Tämä sivu on viimeksi päivitetty 9. toukokuuta 2011

Tämän tekstin alkukielinen versio on uudempi kuin käännös, se on viimeksi päivitetty 17. elokuuta 2014

Sven Vermeulen
Tekijä

Daniel Robbins
Tekijä

Chris Houser
Tekijä

Jerry Alexandratos
Tekijä

Seemant Kulleen
Gentoon x86-kehittäjä

Tavis Ormandy
Gentoon alpha-kehittäjä

Brad House
Gentoon AMD64-kehittäjä

Guy Martin
Gentoon HPPA-kehittäjä

Pieter Van den Abeele
Gentoon PPC-kehittäjä

Joe Kallar
Gentoon SPARC-kehittäjä

John P. Davis
Toimittaja

Grant Goodyear
Toimittaja

Pierre-Henri Jondot
Toimittaja

Eric Stockbridge
Toimittaja

Rajiv Manglani
Toimittaja

Jungmin Seo
Toimittaja

Stoyan Zhekov
Toimittaja

Jared Hudson
Toimittaja

Colin Morey
Toimittaja

Jorge Paulo
Toimittaja

Carl Anderson
Toimittaja

Jon Portnoy
Toimittaja

Zack Gilburd
Toimittaja

Jack Morgan
Toimittaja

Benny Chuang
Toimittaja

Erwin
Toimittaja

Joshua Kinard
Toimittaja

Xavier Neys
Toimittaja

Gerald J. Normandin Jr.
Katselmoija

Donnie Berkholz
Katselmoija

Ken Nowack
Katselmoija

Lars Weiler
Tekijä

Flammie Pirinen
Vastuullinen kääntäjä

Jouni Hätinen
Käännöksen laatutarkistaja

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.