Sprzęt: Dell Dimension 4500S : i845G, Pentium 4, podstawowy + 2 GB pamięci RAM i najnowsza (około 2002) aktualizacja BIOS-u.
Budowałem system Linux ze źródła, jak dotąd według LFS 7.0 . Pierwsze zbudowane przeze mnie jądro działa dobrze, ale ma dużo puchu i wzdęć, dlatego optymalizuję jądro dla mojego docelowego sprzętu (patrz wyżej).
Moja ostatnia próba konfiguracji oraz kilka odmian prób i błędów ciągle wisiały na instrukcji printk „Switching to clocksource tsc”. Moje „dobre” jądro nigdy nie miało problemu ... to jest wersja 3.1.0 btw. Oba są zbudowane z tego samego drzewa źródłowego, bez poprawek, make mrproper
, make menuconfig
itd, więc oczywiście jestem po prostu brakuje jakiegoś klucza CONFIG_XXX
flagę.
Patrzyłem na ten problem od ponad dnia i zbudowałem jądro, które wie ile razy, ale bezskutecznie.
Ciekawe jest dla mnie dobre jądro:
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
warto też wiedzieć ...
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm
Próbowałem konfiguracji kompilacji z różnymi opcjami, ale w tym momencie nie pamiętam żadnych szczegółów, więc nie pytaj. Podczas wyszukiwania znalazłem i przetestowałem kilka parametrów jądra, takich jak clocksource=pit
i notsc
, ale wszystkie one również zawodzą. Znowu chciałbym zapisać wszystko, co do tej pory próbowałem, z perspektywy czasu ...
Większość przykładów forum dotyczy jąder 2.x i zostały rozwiązane z pewną odmianą opcji uruchamiania, ale moje dobre jądro używa tylko root=/dev/sdaX ro
. Więc wiem, że jestem złoty dzięki tej kombinacji sprzętu i jądra 3.1.0, jeśli mogę znaleźć odpowiednią konfigurację kompilacji.
Ponadto większość osób, które opublikowały podobny problem, twierdzi, że po kilku minutach system będzie kontynuował ładowanie i wszystko będzie brzoskwiniowe. Pozostawiłem go na tyle długo, by ugotował kolację, i wciąż nie wznowiłem ładowania.
Mam nadzieję, że jeden z was guru przeczyta to i powie „hej tak, właśnie ustawiłem CONFIG_XXX = y na moim dinozaurie P4 i zadziałało świetnie”. :)
Daj mi znać, czego potrzebujesz, aby spróbować lub sprawdzić, chętnie opublikuję wyniki.
źródło
noht
nie robi tego dla mnie. Daj mi znać, jeśli masz inne pomysły.acpi=off
.Odpowiedzi:
Z szybkiego wyszukiwania problem ten wydaje się mieć wiele możliwych przyczyn i wskazuje na to, że domyślne ustawienie jądra dla nowego źródła zegara jest nieprawidłowe dla płyty głównej.
Jedną radą, która działała dla niektórych, było użycie
clocksource=hpet
lubclocksource=acpi_pm
.W innym wątku ktoś to naprawił
clocksource=jiffies
, inny zalecił spróbowanienoapic
lubnolapic
inny, aby wyłączyć acpi w BIOS-ie, a jeszcze inny obwinił touchpad Synaptics i naprawił swój problem, usuwając Xorg.conf.Jeden konstruktor jądra naprawił swój problem, kompilując initrd bez fbcondecor.
Mam nadzieję, że to pomaga, ponieważ wydaje się, że ten problem może mieć wiele przyczyn.
źródło
clocksource=
,no
* itd.), Które zostały zanotowane w różnych wątkach na forum, bez żadnego efektu. Zrobiłem te eksperymenty, próbując zawęzić mój prawdziwy problem. Mam już jądro, które ładuje się idealnie bez żadnych specjalnych parametrów (opróczroot=
iro
) zbudowanych z tego samego drzewa źródłowego, ale to jądro zawiera więcej rzeczy, których nie potrzebuję, niż te, które robię ...CONFIG_
flagi klucza , która rozwiąże mój problem.Mam dokładnie ten sam problem i dużo przeczytałem. @harrymc zrobił całkiem dobre podsumowanie.
Dodam tylko 2 rzeczy, których nauczyłem się z moich badań:
Problem pochodzi z jądra Linuksa, które nie wie, jak obsługiwać procesor, ponieważ nie może ustalić, jaki jest zegar przetwarzania. Możesz to zaobserwować, sprawdzając dziennik rozruchu jądra. Wygląda na to, że jądro próbuje zmierzyć twój zegar przetwarzania (dla mnie było to jak „2997.1333”, ale każdy rozruch zmienia się na „2997.1445”, „2997.1379”, ...).
Po wypróbowaniu wielu rzeczy w końcu tu dotarłem i dowiedziałem się o BIOS-ie. Mój to GYGABITE UEFI. Ustawiam parametry z powrotem na „Zoptymalizowane ustawienia domyślne”, a „Intel Virtualization Technology” na „włączone”.
Teraz wszystko wróciło do mnie do normy! Mam nadzieję, że to pomoże.
źródło
Kilka centów ode mnie, nie jestem pewien, czy to coś powszechnego, czy nie, ale udało mi się sprawić, by Ubuntu działało, wyłączając w BIOSie „precyzyjny zegar”. Mój MB to Gigabyte Z77x-D3h
źródło
Rozwiązałem problem, dodając następujący parametr jądra:
źródło