Arch i aktualizacja jądra

Kategorie: ArchLinux Linux 24 października 2007 o 12:35:07 | trackback

Wczoraj mój laptopowy Arch Linux zrobił mi niezłe kuku. Po aktualizacji jądra dystrybucyjnego z 2.6.22 na 2.6.23 wysiadły mi sterownik do karty sieciowej Attansic L2. Niby logiczne, bo był kompilowany dla poprzedniego jądra, ale problem w tym, że z nowym za nic nie chciał działać. Kompilacja wysypywała się na czymś takim jak eth_copy_and_sum. W dzisiejszych dystrybucjach, które całe oprogramowanie przechowują w sieci awaria karty sieciowej to niezły strzał w kolano. Jedynym wyjściem było włożenie płytki instalacyjnej, usunięcie jądra 2.6.23 przez

# pacman -Rd kernel26 (nie sprawdzaj zależności)

i instalacja starszego jądra przez

# pacman -A /sciezka/do/pakiety

Oczywiście to samo należy zrobić z nagłówkami jądra (kernel-headers). Dzięki temu niby wszystko wróciło do normy, niby bo teraz z kolei nie działają sterowniki do grafiki — fglrx (karta Radeon Xpress 1100) — które to w nowszej wersji wymagają już jądra 2.6.23 Póki co nie wiem czy jest możliwość zainstalowania starszej wersji pakietu tak jak można to zrobić w Gentoo i zamaskować nowszą wersję.

BTW. trochę nie podoba mi się to, jak Arch zarządza jądrem. Aktualizacja sama wywaliła poprzednią wersję jądra zastępując ją nową, dzięki czemu nie mamy w Grubie już możliwości odpalenia systemu jeszcze z poprzednią wersją jądra. Ojj nieładnie :-/

EDIT: sytuacja opanowana

Komentarze do notki “Arch i aktualizacja jądra”

  1. AdamK
    24 października 2007 o 13:34:29

    To się stare jądro trzyma na wszelki wypadek. Jeden reboot i można w sieci poszukać rozwiązania problemu.

  2. fixxxer
    24 października 2007 o 14:23:32

    Myślę, że Tomkowi chodziło o to, że domyślnie Arch wyrzuca stare jądro. Gentoo domyślnie slotowało, nie wymagając od użytkownika żadnego ‘szukania rozwiązania problemu’. :)

  3. trójkąt
    24 października 2007 o 17:25:52

    Jako rzecze fixxxer.

  4. rlblaster
    31 października 2007 o 02:21:18

    I don’t know what is exactly written here (I don’t speak Polish), but I had the same issue:
    Arch + 2.23 kernel + Attansic L2 lan driver compilation.

    After hours of googling I found out that the eth_copy_and_sum was just a simple memcpy in the kernel 2.21 (I guess it was a deprecated function and removed from the new one).

    So inserting

    void eth_copy_and_sum(struct sk_buff *dest, unsigned char *src, int length, int base)
    { memcpy(dest->data, src, length);
    }

    to at_main.c does the trick.
    After compiling the driver worked like charm.

    I hope that helps for others.

    PS: Sorry for disturbing the force in your blog.

  5. zasm
    04 września 2008 o 23:42:51

    jezeli nie czysciles pacmana #pacman -Scc
    to wszystkie sciagniete pakiety znajdziesz w /var/cache/pacman/pkg
    tak na przyszlosc;)

Skomentuj (Textile)

Stronę napędza Jogger. Pewne prawa zastrzeżone.