2.4 - problemy z wykrywaniem partycji

Jakub Bogusz qboosh w pld.org.pl
Nie, 26 Sty 2003, 02:02:57 CET


Jądra dystrybucyjne mają wkompilowaną obsługę wszystkich możliwych typów
partycji, disklabeli itp. Z jednej strony to dobrze, ale... okazuje się
być niebezpieczne - przy którymś reboocie można się zdziwić :/

<story>
Parę dni temu rebootowałem maszynkę. Uruchomiłem lilo, reboot.
A tu - "Kernel panic: cannot mount root fs on 03:02".
WTF?
Start z bootkietek 2.4-experimental, dociągnięcie modułów do IDE i fs
- partycji nie da się podmontować.
WTF?
dmesg... a co to?! Przy wczytywaniu ide-disk zamiast komunikatu
o wykryciu 3 partycji jest jakieś "[POWERTEC]" i 12 partycji.
Pomogło użycie bootkietek z 2.2, zamontowanie partycji / (dobrze, że
była ext3, a nie xfs jak /home) i uruchomienie lilo.
</story>

Co się okazuje? Szczególnie niebezpieczne jest
CONFIG_ACORN_PARTITION_POWERTEC. Warunek w teście dla tego typu partycji
jest bardzo słaby (suma bajtów boot-sectora plus stała liczba modulo 256
ma być różne ostatniemu bajtowi - czyli, zakładając, że zmienne bajty
zapisywane przez lilo (położenie /boot/map?) mają rozkład jednostajny,
wychodzi prawdopodobieństwo błędnego wykrycia 1/256).
Partycje Acorn wykrywane są na samym początku, POWERTEC chyba jako
czwarty typ. Dosowe partycje dużo później.

Wniosek: jeżeli nie da się poprawić warunku, trzeba ten typ partycji
wyłączyć (albo przenieść testy za MSDOS).
Przy okazji okazało się, że nie byłem jedyną osobą, którą tenże POWERTEC
zaatakował.

Aha - nie przeglądałem testów dla wszystkich rodzajów partycji, może są
jeszcze jakieś słabe.


-- 
Jakub Bogusz    http://www.cs.net.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-kernel