Gentoo Logo

Kiistö: Tämä käsikirja on vanhentunut eikä sitä enää ylläpidetä.


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


7. Ytimen asetusten tekeminen

Sisällysluettelo:

7.a. Aikavyöhyke

Ensimmäisenä pitää varmistaa, että järjestelmä tietää millä aikavyöhykkeellä se sijaitsee. Aikavyöhykelistausta voi katsella hakemistosta /usr/share/zoneinfo. Sopiva aikavyöhyke asetetaan symboliseksi linkiksi /etc/localtime komennolla ln:

Koodilistaus 1.1: Aikavyöhykkeen asettaminen

# ls /usr/share/zoneinfo
(Esimerkiksi käytetään Suomen vyöhykettä)
# ln -sf /usr/share/zoneinfo/Europe/Helsinki /etc/localtime

7.b. Lähdekoodin asennus

Ytimen valinta

Kaikki distrot rakennetaan Linuxin ytimen(kernelin) ympärille. Ydin on laitteiston ja ohjelmiston välinen rajapinta. Gentoossa on mukana useita ydinvaihtoehtoja, täysimittainen listaus näistä on Gentoo Kernel Guidessa.

X86-järjestelmien keskeisin tuettu ydin on gentoo-sources. Tämä sisältää Linuxin viralliset lähteet, sekä joitain turvallisuus-, stabiilisuus-, yhteensopivuus ja virhekorjauspäivityksiä. Vaihtoehtoisesti voi käyttää tavallisia, muokkaamattomia ytimen lähteitä vanilla-sources-paketista.

Molemmat näistä ytimistä ovat 2.6-versioperhettä, jos tarvitaan 2.4-sarjaa, se pitää hakea Internetistä erikseen, sillä asennus-CD:iltä sitä ei löydy.

Valittu ytimen lähdekoodi asennetaan komennolla emerge.

Koodilistaus 2.1: Ytimen lähdekoodin asennus

# emerge gentoo-sources

Hakemistossa /usr/src pitäisi olla ytimen lähdekoodiin osoittava symbolinen linkki linux:

Koodilistaus 2.2: Ytimen linkin tarkastelu

# ls -l /usr/src/linux
lrwxrwxrwx  1 root root 12. loka 13 11:04 /usr/src/linux ->
linux-2.6.11-gentoo-r3

Jos näin ei ole (vaan linkki osoittaa vaikkapa väärään ytimeen), asia kannattaa korjata ennen jatkamista (linux-2.6.11:hän on tässä vain esimerkki, version tulee tietenkin vastata asennettua):

Koodilistaus 2.3: Ytimen lähdekoodin symbolisen linkin korjaaminen

# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.6.11-gentoo-r3 linux

Nyt voidaan säätää ja asentaa ydin. Komennolla genkernel saadaan aikaan sellainen yleisluontoinen ydin jota asennus-CD:lläkin käytetään. Selitämme ensin kuitenkin ytimen asennuksen käsipelillä.

Jos haluat asentaa ytimen käsin, jatka kohtaan Oletus: Asetusten teko käsin. Jos taas käytät genkerneliä, lue Vaihtoehto: genkernelin käyttö.

7.c. Oletus: Asetusten teko käsin

Johdanto

Ytimen asennusta pidetään usein vaikeimpana asiana mihin Linuxin käyttäjä joutuu. Asia ei kuitenkaan aivan näin ole. Huomannet itsekin muutaman ytimen kääntämisen jälkeen, ettei se edes ollut vaikeaakaan ;)

Yksi asia täytyy kuitenkin muistaa: asennettaessa ydintä käsin täytyy tietää järjestelmän kokoonpano tarkkaan. Suuren osan tiedoista saa selville tarkastelemalla tiedostoa /proc/pci (tähän tarkoitetun komennon lspci:n löytää asentamalla paketin pci-utils komennolla emerge pci-utils). Lspci:n saattaa voida suorittaa myös suoraan chrootin ulkopuolelta asennus-cd:ltä. Myös lsmodin voi ajaa nähdäkseen mitä moduuleita asennus-CD on päättänyt käyttää (se tarjonnee hyvän vihjeen siitä mitä kannattaa valita).

Seuraavaksi siirrytään ytimen lähdekoodin hakemistoon suorittamaan komentoa make menuconfig. Näin saadaan käyttöön ncurses-pohjainen asetusvalikko.

Koodilistaus 3.1: Menuconfigin käynnistys

# cd /usr/src/linux
# make menuconfig

Vastaantulevassa valikossa on useita asetuskategorioita. Ensin tarkistamme asetukset jotka täytyy kääntää päälle (tai muuten Gentoo ei toimi ollenkaan, ainakaan ilman lisäsäätämistä).

Tarvittavien asetusten kääntäminen päälle

Varmista että käytössä on oikea prosessorityyppi ja aliarkkitehtuuri:

Koodilistaus 3.2: Prosessorityypin valinta


Processor type and features --->
    Subarchitecture Type (PC-compatible)  --->
    (Valitse prosessoriasi vastaava)
    (Athlon/Duron/K7) Processor family

Valikosta File Systems valitaan tuki käytettäville tiedostojärjestelmille. Älä tee niistä moduuleja tai Gentoo ei pysty liittämään osioitasi. Valitse myös Virtual memory ja /proc file system. Älä valitse kohtaa /dev file system:

Koodilistaus 3.3: Tarpeellisten tiedostojärjestelmien valinta

General setup  --->
  [*] Support for hot-pluggable devices
File systems --->
  Pseudo Filesystems --->
    <*> /proc file system support
    < > /dev file system support (OBSOLETE)
    <*> Virtual memory file system support (former shm fs)

(Seuraavista valitaan ne mitä järjestelmässä tarvitaan)
  <*> Reiserfs support
  <*> Ext3 journalling file system support
  <*> JFS filesystem support
  <*> Second extended fs support
  <*> XFS filesystem support

Muista lisätä DMA-asetukset asemillesi:

Koodilistaus 3.4: Activating DMA

Device Drivers --->
  ATA/ATAPI/MFM/RLL support --->
    [*] Generic PCI bus-master DMA support
    [*]   Use PCI DMA by default when available

Järjestelmissä, jotka yhdistävät nettiin PPPoE:llä tai modeemilla, tarvitaan seuraavia asetuksia:

Koodilistaus 3.5: PPPoE:lle tarvittavien ajurien valinta

Device Drivers --->
  Networking support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports

Pakkausasetuksista ei ole haittaa, vaikkei niitä kyllä tarvitakkaan. Myöskään PPP over Ethernet ei ole erityisen tarpeellinen, sitä käyttää vain rp-pppoe asettaessaan ytimen PPPoE-tukea.

Jos sinulla on verkkokortti, muista ottaa sen ajurit mukaan ytimeen.

Jos käytössä on uusi HyperThreadingiä tukeva Intelin prosessori tai useamman prosessorin järjestelmä Symmetric multi-processing support on tärkeä asetus:

Koodilistaus 3.6: SMP:n aktivointi

Processor type and features  --->
  <*> Symmetric multi-processing support

Jos käytät USB-syötelaitteita (kuten USB-näppistä tai -hiirtä), muista lisätä nekin mukaan:

Koodilistaus 3.7: USB-tuen aktivointi

Device Drivers --->
  USB Support --->
    <*>   USB Human Interface Device (full HID) support
    [*]   HID input layer support

Jos läppäriin tarvitse PCMCIA-tuen, se kannattaa kääntää mukaan ytimeen. Allaolevien asetusten lisäksi pitää valitatuki sille PCMCIA-asetukselle, mikä järjestelmästä löytyy (samasta valikosta).

Koodilistaus 3.8: PCMCIA-tuen aktivointi

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  PCCARD (PCMCIA/CardBus) support  --->
    <*> PCCard (PCMCIA/CardBus) support
    (16-bittinen sopii vanhemmille PCMCIA-laitteille, mitä useimmat
    halunnevat.)
    <*>   16-bit PCMCIA support
    [*]   32-bit CardBus support
    (Valitse sopiva silta alta)
    --- PC-card bridges
    <*> CardBus yenta-compatible bridge support (NEW)
    <*> Cirrus PD6729 compatible bridge support (NEW)
    <*> i82092 compatible bridge support (NEW)
    <*> Databook TCIC host bridge support (NEW)

Käännös ja asennus

Nyt kun ytimen asetukset on kasassa voidaan kääntää ja asentaa se. Poistu asetusohjelmasta ja asenna se:

Koodilistaus 3.9: Ytimen kääntäminen

# make && make modules_install

Ytimen käännyttyä kopioi se hakemistoon /boot. Seuraavissa esimerkeissä käytetään asetettua ja käännettyä ydintä gentoo-sources-2.6.11-r3:

Koodilistaus 3.10: Ytimen asennus

# cp arch/i386/boot/bzImage /boot/kernel-2.6.11-gentoo-r3

Varmuuden varaksi kannattaa myös ottaa talteen ytimen asetukset hakemistoon /boot:

Koodilistaus 3.11: Ytimen asetusten varmuuskopiointi

# cp .config /boot/config-2.6.11-gentoo-r3

7.d. Vaihtoehto: genkernelin käyttö

Olet siis valinnut käyttäväsi genkernel-skriptiä ytimen asentamiseen.

Nyt kun ytimen lähdekoodi on asennettu, voidaan ydin kääntää automaattisesti genkernel-skriptillä. genkernel tekee ytimestä lähes identtisen asennus-CD:n ytimen kanssa. Tästä seuraa että genkernelillä tehdyt ytimet tunnistavat laitteiston käynnistyksessä kuten asennus-CD:kin. Koska genkerneliä käytettäessä ei tarvitse tehdä asetuksia käsin, se sopii niille käyttäjille jotka eivät usko pitävänsä ytimen oma-aloitteisesta kääntämisestä.

Ensin asennetaan genkernel ebuildista:

Koodilistaus 4.1: Genkernelin asennus

# emerge genkernel

Seuraavaksi kopioidaan ytimen asetukset asennus-CD:ltä genkernelin haluamaan paikkaan:

Koodilistaus 4.2: asennus-CD:n ydinasetusten kopiointi

# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

Sitten käännetään ydin komennolla genkernel --udev all. Huomaa, että koska genkernel kääntää ytimen, jolla lähes kaikki laitteisto toimisi, siinä kestää taas jokunen tovi.

Jollei käynnistysosiosi käytä ext2- tai ext3-tiedostojärjestelmää, käytä komentoa genkernel --menuconfig all sopivan tiedostojärjestelmän tuen lisäämiseksi kerneliin mukaan (ei siis moduuliksi). EVMS2:n tai LVM2:n käyttäjät halunnevat lisätä valitsimiin --evms2 tai --lvm2.

Koodilistaus 4.3: genkernelin käyttäminen

# genkernel --udev all

genkernelin lopetettua on käytössä ydin täydehköllä moduulivalikoimalla ja initial root disk (initrd). Tätä ydintä ja initrd:tä käytetään käynnistyslataimen asettamiseksi myöhemmin. Muista ottaa ylös ytimen ja initrd:n nimet, niitä tarvitaan käynnistyslataimen asetuksissa. Initrd suorittaa käynnistyksen jälkeen laitteiston tunnistuksen (kuten asennus-CD:lläkin. Sen jälkeen varsinainen järjestelmä käynnistyy.

Koodilistaus 4.4: Ytimen ja initrd:n nimen tarkastus

# ls /boot/kernel* /boot/initrd*

Järjestelmän saa vielä enemmän asennus-CD:n kaltaiseksi, jos asentaa coldplugin Gentoon asennuksen jälkeen. Siinä missä initrd tunnistaa raudan joka tarvitaan järjestelmän käynnistyksessä, coldplug tunnistaa kaiken muun. Coldplug sisältyy myös Package CD:n paketteihin.

Koodilistaus 4.5: coldplugin asennus

(Tämä pitää tehdä asennuksen jälkeen GRP-asennuskohdassa)
# emerge -k coldplug

# rc-update add coldplug default

7.e. Ytimen moduulien asetukset

Moduulien säätäminen

Automaattisesti latautuvat moduulit pitää listata tiedostoon /etc/modules.autoload.d/kernel-2.6 (tai kernel-2.4). Moduuleille voi myös antaa parametrejä.

Kaikki saatavilla olevat moduulit saa selville vaikkapa seuraavalla find-komennolla. Muista korvata <ytimen versio> ytimesi versiolla.

Koodilistaus 5.1: Moduulien hakeminen

# find /lib/modules/<ytimen versio>/ -type f -iname '*.o' -or -iname '*.ko'

Jos vaikka ladattaisiin automaattisesti 3c58x.o, se lisättäisiin tiedostoon kernel-2.6 (tai kernel-2.4).

Koodilistaus 5.2: /etc/modules.autoload.d/kernel-2.6:n muokkaus

(2.6-versio)
# nano -w /etc/modules.autoload.d/kernel-2.6

Koodilistaus 5.3: /etc/modules.autoload.d/kernel-2.6

3c59x

Seuraavaksi asennetaan järjestelmä.


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


Tulostettava muoto

Näytä kaikki

Tämä sivu on viimeksi päivitetty 4. heinäkuuta 2005

Tätä käännöstä ei enää ylläpidetä

Tiivistelmä: Linuxin ydin on jokaisen jakelun keskeinen osa. Tässä kappaleessa kerrotaan miten asetat ytimesi.

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

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

Grant Goodyear
Katselmoija

Gerald J. Normandin Jr.
Katselmoija

Donnie Berkholz
Katselmoija

Ken Nowack
Katselmoija

Lars Weiler
Kontribuuttori

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.