[Linux - Debian]Słynny już problem z nowym kernelem
Jak już pisałem wcześniej od niedawna mam zainstalowanego Debiana. System bardzo mi się spodobał, nie miałem żadnych problemów z konfiguracją i instalacją dodatkowego oprogramowania. Szczerze mówiąc zdziwiłbym się gdyby było inaczej, gdyż do sprawnego funkcjonowania nie potrzeba mi więcej niż edytor tekstu, komunikator, odtwarzacz muzyki, klient ftp i konsola :)
Problem pojawił się, kiedy zapragnąłem uaktualnić swoje "jajko" do najnowszej wersji. Otóż okazuje się, że w nowym kernelu zmieniono podejście do dysków (czy coś koło tego - nie znam się na tym zbytnio) i przez to dyski zmieniają swoje oznaczenia z hdx* na sdx*. Nie byłby to problem, gdyby wszystko działało jak należy. Próbowałem już kilka razy ustawiać /etc/fstab i /boot/grub/menu.lst, ale za każdym razem podczas uruchamiania systemu z nowym jądrem system staje na: "Waiting for root file system...". Po około 6-7 minutach czekania pokazuje się komunikat podobny do tego (skopiowany od użytkownika z podobnym problemem):
Waiting for root file system... ...
Done.
Check root=bootrarg cat /proc/cmdline
or missing modules, devices: cat /proc/modules ls /dev
ALERT! /dev/sdc2 does not exist. Dropping to a shell!
BusyBox v1.1.3 (Debian 1:1.1.3-4) Built-in shell (ahs)
Enter 'help' for a list of built-in commands.
/bin/sh: can't access tty; job control turned off
(initframs) [i tutaj konsolka jakaś dziwna]
Oczywiście kiedy w konsoli wylistuję sobie zawartość /dev to bez problemu znajduje /dev/sdc2 i wszystkie inne partycje. Jeśli ktoś zna rozwiązanie tego problemu bardzo proszę o pomoc.
17 komentarzy
jakie masz parametry do jadra w grubie
title Debian GNU/Linux, kernel 2.6.22-3-k7
root (sd0,1)
kernel /boot/vmlinuz-2.6.22-3-k7 root=/dev/sdc2 ro
initrd /boot/initrd.img-2.6.22-3-k7
savedefault
Jony, moge zapytac dlaczego root jest na sd0,1 (sd? a nie powinno byc hd? nie wazne), a root na sdc? to tak ma byc? o.o
Próbowałem sd0, hd0 i jest to samo cały czas :(
Jony - chodzilo mi raczej o to, ze sugerujac sie nazwa urzadzenia powinno to byc hd(2,1), ale mozesz miec odwrotnie popodlaczane (tzn kernel wykrywa dysk na podstawie waznosci, a GRUB kolejnosci polaczenia, wtedy jest dobrze). Co do samego problemu, to nie mam pojecia. Moze jednak masz zle wpisane urzadzenie?
Najświeższa wersja kernela, która chce się u mnie uruchamiać ma taki wpis:
title Debian GNU/Linux, kernel 2.6.18-5-486
root (hd0,1)
kernel /boot/vmlinuz-2.6.18-5-486 root=/dev/hdc2 ro
initrd /boot/initrd.img-2.6.18-5-486
savedefault
Z tym, że w tej wersji nie ma jeszcze zmienionych oznaczeń, więc jest root=/dev/hdc2
Jony - hmm, a probowales zrobic po prostu update-grub ?
Eee... nie :P Będę musiał spróbować. Jak dotąt próbowałem tylko przekonfigurować initramfs-a, bo ktoś pisał, że u niego podziałało.
Jony - to jesli teraz siedzisz to zrob kopie menu.lst i spod roota update-grub a potem reboot, zobaczymy czy pojdzie
Niestety nic to nie pomogło. Aha i do mojego wpisu wkradł się błąd. Jądro jest w wersji 2.6.22-3-486 a nie 2.6.22-3-k7.
a może jeszcze spróbuj zamiast /dev/sdx przypisać odpowiednio UUID? (strzelam ;))
P.S. co jest z tym debianem, że sie tak sypie?:> najnowsze płyty z testing też są zwalone (wywala błąd o braku pakietu busybox na płycie przy instalacji, dla różnych CD. Nawet forum debian.net nie działa :D
Clou - bo Debian dziala jesli go uglaskasz ;)
D4rky bawiłem się na szczęscie na virtualboxie i udało mi się obejść ten problem (base-system z http zassałem), ale co gdybym nie miał połączenia z netem i został z dyskiem po formacie?:D
Clou - dobry geek ma zawsze co conajmniej jedno livecd pod reka. Ja swoje trzymam w kieszeni.
Próbowałem użyć UUID, niestety bez efektu.
No i znalazłem w końcu przyczynę tego, że system nie chciał się ładować. Przyjrzałem się dokładnie zawartości /dev i okazało się, że nowy kernel nie tylko zmienia literki h na s, ale także kolejność dysków, przez co miałem sda a nie sdc. Problem głupi, ale sporo nerwów na niego straciłem :P
Jony - co jest o tyle ciekawe, ze u mnie sie nic nie zmienilo