Uusia, vähän testattuja paketteja

Varoitus uusien kerneleiden IDE-kiintolevyjen ajurien vioista

Linus Torvalds elokuussa 2002:
"I don't know why, but IDE has pretty much since day one been a fairly problematic area, and has caused a lot more maintainer headache than the rest of the kernel put together.."
Lisää IDE-ajurien ongelmista Kernel Traffic -koosteessa.

Spectra Linux 1.2:n 2.4.18-6 kernelissä on vielä luotettavaa vanhaa koodia. Minä havaitsin ensimmäiset ongelmat uudessa koodissa Red Hat 8.0:n kernelissä (myös 2.4.18-sarjaa, mutta siinä on uusi IDE-koodi ilmeisesti ac-patchissä). Uusi IDE-koodi on nykyisin myös virallisessa ("vanilja") 2.4-sarjassa (2.4.19 tai 2.4.20 lähtien).

Ongelma on sen takia erittäin paha, että kiintolevylle kirjoituksen epäonnistuessa mitään virheilmoitusta ei tule. Jos ongelma on niin paha, että lukeminen epäonnistuu, tulee virheilmoitus.

Ongelmia kiintolevylle kirjoituksessa esiintyy vain tietyillä laitekokoonpanoilla. Minulla on sellainen tuntuma, että enimmäkseen vanhoilla laitteilla (Intelin TX-piirisarjan UDMA33-piiri, 6,4 Gt IBM DHEA-36480), mutta myös melko uusillakin (HPT 366 -pohjainen Abitin Hot Rod 66 -kortti, Seagate Barracuda ST328040A) laitteilla.

Ongelma voidaan ohittaa käyttämällä hitaita PIO-siirtomoodeja. Jos kiintolevylle kirjoittaminen on epäluotettavaa, voidaan antaa komento:

# hdparm -d0 /dev/hdx
, jossa x riippuu levyn väylästä.

Ongelma tulee esille tiedostojen vioittumisena, mutta on parempi, että se saadaan esille testaamalla eikä vahingon kautta. Alla on esitetty yksi tapa testata, mutta kopiointi olisi syytä suorittaa ristiin eri laitteiden välillä ja myös siten, että samalta levyltä luetaan ja kirjoitetaan.

Luodaan ensin md5summa-tiedosto ja muut esivalmistelut:

mount /mnt/cdrom # Esimerkkinä käytetty Spectra Linuxin asennusromppua
cd /mnt/cdrom/Spectra/RPMS
md5sum * > /root/md5sums
mkdir /root/tmp
cd /root/tmp

#Luuppi:
while true 
do /bin/cp /mnt/cdrom/Spectra/RPMS/* . 
 md5sum -c /root/md5sums | grep -v ": OK" 
 echo taas mennään 
done

Tulosteena pitäisi tulla vain "taas mennään" jokaisella silmukan kierroksella, mutta virheiden ilmetessä md5sum tulostaa vioittuneen tiedoston nimen. Päättymättömän silmukan voi pysäyttää Ctrl-C-näppäimillä.

Kernel 2.4.20-5

Kuten 2.4.20-4, mutta Nokia 5510 -tuella. Nokian 5510:ssa on USB-liitäntä ja 64 Mt muistia. Pelkällä kernelin vaihdolla 5510:iä voidaan käyttää "suurena levykkeenä". Samassa hakemistossa olevalla nokryptia-ohjelmalla voidaan koodata MP3-tiedostoja siten, että niitä voidaan soittaa 5510:ssä. Muuten 5510 soittaa vain lse-tiedostoja, joita ei voida siirtää laitteesta toiseen, koska ne soivat vain yhdessä soittimessa. Nokryptia vaati id3lib-kirjastoa toimiakseen. Testattu ja soi hyvin.

Pikaohje:
Tee 5510:lle esim hakemisto käskyllä "mkdir /5510", liitä "mount /dev/sda1 /5510" kaapelien kiinnityksen jälkeen, kopioi jne. tiedostoja ja irrota "umount /5510" (tämä voi olla hitaahkoa, jokunen minuutti, 6 min. 15 s. täyden "levyn" kopiointi).

Lue myös luku Kernel 2.4.20-4.

Spectra Linux 1.2 ja Red Hat 7.3
Paketit ovat hakemistossa ftp/SpectraLinux1.2/test/kernel-2.4.20-5/.
Spectra Linux 2.0 ja Red Hat 8.0
Paketit ovat hakemistossa ftp/SpectraLinux2.0/test/kernel-2.4.20-5/.

Kernel 2.4.20-4

Tärkeimmät erikoisominaisuudet:
  • XFS-tuki (Project XFS Linux)
  • NTFS-tuki, vain luku, versio 2.1.0 (Linux-NTFS Project)
  • HPFS-tuki, jostain syystä RH:n kerneleissä tätä ei ole käännetty mukaan, eikä myöskään varhaisemmissa Spectra Linuxin kerneleissä.
  • Tässä kernelissä on siis peräti neljä journaloivaa Linuxin natiivia tiedostojärjestelmää: ext3, ReiserFS, JFS ja XFS.

    Nämä kernelit poikkeavat Red Hatin kerneleistä siten, että pohjana on "virallinen" 2.4.20 ja RH:n lisäämät muutokset on karsittu niiden epävakauden ja vaarallisuuden takia. Viralliseen kerneliin nähden eroja on siten, että Spectra Linuxin kerneleihin on lisätty "ajureita", jotka hyvin epätodennäköisesti heijastavat vaikutuksia muihin kernelin osiin. RH:n tapa muuttaa kernelin keskeisiä osia on mielestäni vaarallinen ja vastuuton (esimerkki tästä alla Red Hat 7.3:n kernelissä). RH:n kerneissä on kuitenkin myös "ajureita", joita "virallisessa" kernelissä ei ole. Spectra Linuxin kernelit yrittävät tasapainotella tässä välissä, lisäten erillisiä kokonaisuuksia, jotka eivät todennäköisesti riko muita ominaisuuksia.

    Spectra Linux 1.2 ja Red Hat 7.3
    Paketit ovat hakemistossa ftp/SpectraLinux1.2/test/kernel-2.4.20-4/. Jos haluat kokeilla XFS-tiedostojärjestelmää, lue xfsutils-rpm.lst.
    Spectra Linux 2.0 ja Red Hat 8.0
    Paketit ovat hakemistossa ftp/SpectraLinux2.0/test/kernel-2.4.20-4/. Jos haluat kokeilla XFS-tiedostojärjestelmää, lue xfsutils-rpm.lst.

    Vanhat paketit

    Paketit on koottu rpm-ohjelman uudella versiolla, joten niiden asentaminen ei onnistu IT Linux 2000:ssa, tarvitset IT Linux 2001:n (tai Red Hat 7.x:n).

    Jos välttämättä haluat kokeilla onnistuuko asennus IT Linux 2000:een, hae ensin rpm-ohjelman uusi 3.x-sarjan versio tar-pakettina ftp.rpm.org:sta, käännä ja asenna se. Ainakin versiolla 3.0.5 onnistuu rpm v. 4.x:llä tehtyjen pakettien asennus.

    Korjattu 2.4.18-4pro Spectra Linux 1.2:een ja Red Hat 7.3:lle

    Red Hat 7.3:ssa (kernelin versiot 2.4.18-3 ja 2.4.18-4) on lievästi rikkinäinen zlib-koodi käytössä joissakin tiedostojärjestelmissä ja PPP:ssä. Virhettä ei ole virallisessa 2.4.18:ssa, virhe löytyi Red Hatin korjaustiedostosta, joka vaihtoi toimivan koodin rikkinäiseen. Virhe ilmenee eri CPU-arkkitehtuureilla eri taajuudella. Pakatulla iso9660-tiedostojärjestelmällä virhe esiintyy noin kerran luettaessa 8 Mt tiedostoja Intelin PIII:lla ja AMD:n Athlonilla sekä K6:lla noin kerran luettaessa 240 Mt tiedostoja. Taajuus ei välttämättä riipu tiedostojen määrästä tai koosta, edellinen on yhden testauksessa käytetyn levyn perusteella laskettu arvio. Virhe saadaan esille esimerkiksi komennolla:
    find -type f -exec cp {} /dev/null \;
    
    , kun oletushakemisto on kompressoidulla tiedostojärjestelmällä. Tällöin pitäisi tulla ilmoitus I/O-virheestä, jos kerneli on viallinen. Esimerkiksi
    SuperrescueCD 2.0.0a-levyä luettaessa ensimmäiset virheilmoitukset Athlon-pohjaisessa koneessa ovat:
    cp: reading ./include/freetype2/freetype/internal/ftmemory.h': Input/output error
    cp: reading ./include/g++-3/type_traits.h': Input/output error
    cp: reading ./include/openssl/sha.h': Input/output error
    

    Kerneleissä 2.4.18-4pro tämä vika on korjattu.

    Uusia kerneleitä IT Linux 2001:lle

    Linuxin kernelin 2.4.5:n rpm-paketit. Noudata 2.4.1:n ohjeita muuttaen versionumerot soveltuviksi.
    Linuxin kernelin 2.4.4:n rpm-paketit. Noudata 2.4.1:n ohjeita muuttaen versionumerot soveltuviksi.
    Linuxin kernelin 2.4.3:n rpm-paketit. Noudata 2.4.1:n ohjeita muuttaen versionumerot soveltuviksi.
    Linuxin kerneli 2.2.17 ReiserFS- ja UDMA/66/100-tuella

    RPM-paketit ovat hakemistossa /ftp/itlinux2001/test/.