Ядро Linux зависає на "Перехід на тактовий ресурс tsc" на Pentium 4


11

Обладнання: Dell Dimension 4500S : i845G, Pentium 4, запас + 2 Гб оперативної пам’яті та останнє (близько 2002 р.) Оновлення BIOS.

Я будував систему Linux з джерела, до цих пір це книга LFS 7.0 . Перше ядро, яке я створив, працює чудово, але має багато пуху та роздуття, тому я зараз оптимізую ядро ​​для мого цільового обладнання (див. Вище).

Моя остання спроба конфігурації, а також декілька варіантів проб і помилок, постійно висить у виписці printk "Перехід на синхросигнал tsc". У мого "хорошого" ядра ніколи не виникало проблем ... це версія 3.1.0 btw. Обидва будуються з того ж вихідного дерева, без яких - або плям, make mrproper, make menuconfigі т.д., так що, очевидно , я просто НЕ вистачає якоїсь - то ключовою CONFIG_XXXпрапор.

Я дивився на цю проблему вже більше доби, і я створив ядро, яке знає скільки разів, але безрезультатно.

Одне, що мені здається цікавим, - це хороше ядро, яке я отримую:

# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

також, це може бути корисно знати ...

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm

Я спробував сконфігурувати конфігурацію з різними параметрами, але на даний момент я не можу запам'ятати жодної конкретики, тому, будь ласка, не питайте. Під час пошуку я знайшов і протестував декілька параметрів ядра, як-от clocksource=pitі notsc, але всі вони також не вдається. Знову ж, я б хотів, щоб я записав кожне, що я спробував досі, заднім числом ...

Більшість прикладів форуму призначені для ядер 2.x і вирішувались з деякими варіантами параметрів завантаження, але моє гарне ядро ​​використовує лише root=/dev/sdaX ro. Тож я знаю, що я золотий із цією комбінацією обладнання та ядра 3.1.0, якщо зможу знайти правильну конфігурацію збірки.

Крім того, більшість людей, які розмістили подібний випуск, кажуть, що через кілька хвилин система продовжить завантажуватися, і все стає персиковим. Я дав йому простою достатньо довго, щоб готувати вечерю, і вона все ще не відновилася.

Я сподіваюся, що хтось із вас, гуру, прочитає це і скаже: "Еге так, я просто встановив CONFIG_XXX = y на моєму динозаврі P4, і він спрацював чудово". :)

Дайте мені знати, що ви потребуєте від мене, щоб спробувати або перевірити, я буду рада розмістити результати.


@tripleee Де я можу переглянути цю інформацію ... причину закриття голосування?
rfmodulator

Можливо, ви не можете, ваша репутація може бути недостатньою. Так чи інакше, оскільки це не пов'язано з програмуванням, є сенс рухатися, але все, що потрібно, - це ще кілька близьких голосів. Додам і моє.
трійка

З новим ядром з Pentium 4. я стикаюся з подібними проблемами. Все працює, якщо я відключаю гіперточування. Провів дві налагодження дві ночі, поки не впевнений у деталях.
choroba

@choroba nohtне робить це для мене. Повідомте мене, якщо у вас є інші ідеї.
rfmodulator

Насправді мені довелося вимкнути ht на рівні BIOS або вказати acpi=off.
choroba

Відповіді:


8

Зважаючи на швидкий пошук, ця проблема, як видається, має досить багато можливих причин, і, схоже, вказує на той факт, що за замовчуванням вашого нового ядра для джерела тактових даних не так для вашої материнської плати.

Одна порада, яка для деяких працювала, - це використовувати clocksource=hpetабо clocksource=acpi_pm.

В іншому потоці , хто - то виправив з clocksource=jiffies, інший порадив спробувати noapicабо nolapic, інший , щоб включити ACPI вимкнути в BIOS, і ще один звинувачував тачпад Synaptics і спрямував проблему шляхом видалення Xorg.conf.

Один конструктор ядра виправив свою проблему, перекомпілювавши initrd без fbcondecor.

Сподіваюся, це допомагає, оскільки, здається, ця проблема може мати багато причин.


Дякую за вашу відповідь, проте я шукаю варіанти конфігурації побудови ядра, які спричинить (або запобігають) зависання під час завантаження, яке я спостерігаю, а не обхід. Я спробував усі параметри завантажувального відновлення ( clocksource=, no* і т. Д.), Які були помічені в різних потоках форуму, без ефекту. Я робив ці приклади, намагаючись звузити своє справжнє питання. У мене вже є ядро, яке ідеально завантажується без спеціальних параметрів (окрім root=та ro), побудованих з того самого вихідного дерева, але це ядро ​​містить більше речей, які мені не потрібні, ніж тих, що я роблю ...
rfmodulator

... окрім одного ключового CONFIG_прапора, який вирішить мою проблему.
rfmodulator

Можливо, ваша проблема полягає в тому, що ви вимкнули занадто багато варіантів ядра?
harrymc

Точно. :) Це відповідь, яку я шукаю, що я відключив, що насправді потрібно. Я робив це кілька разів, не змінюючи результату.
rfmodulator

Я не можу допомогти тобі одним магічним словом. Здається, що ваш поточний тактовий ресурс acpi_pm, але вам потрібно буде заглибитися в джерела ядра, щоб дізнатися, з якою конфігурацією ядра ви загубили. Інший варіант - повернутися до конфігурації, яка працювала, і вимкнути параметри з кроком, щоб знайти проблему. Щоб "розвеселити" вас, я також можу сказати, що це може бути не один варіант, а декілька, що означає конфлікт або нежиттєздатну комбінацію конфігурацій або недокументовану залежність.
harrymc

0

У мене тут точно така ж проблема і читаю ЛОТ. @harrymc зробив досить хороший підсумок.

Я просто додам 2 речі, які я дізнався з моїх досліджень:

  • Проблема пов’язана з вашим ядром Linux, яке не знає, як поводитися з процесором, оскільки не може зрозуміти, який ваш годинник обробки. Ви можете спостерігати за цим, перевіряючи журнал завантаження ядра. Схоже, ядро ​​намагається виміряти ваш обробний такт (для мене це було як "2997.1333", але кожен завантажувач змінюється на "2997.1445", "2997.1379", ...).

  • Перепробувавши багато речей, я нарешті потрапив сюди і дізнався про BIOS. Моя - GYGABITE UEFI. Я повертаю параметри до "Оптимізовані настройки за замовчуванням" і встановлюю "Технологія віртуалізації Intel" на "Увімкнено".

Тепер для мене все нормально! Сподіваємось, що це допомагає.


0

Кілька центів від мене, не впевнений, звичайна справа чи ні, але мені вдалося змусити Ubuntu працювати, відключивши «таймер високої точності» в BIOS. Мій mb - гігабайт z77x-d3h


Система ОП не підтримує високоточний таймер подій. Це було представлено у 2005 році, а система оригінальних плакатів передувала цьому вже кілька років.
ChrisInEdmonton

-2

Я вирішив проблему, додавши наступний параметр ядра:

noapic

5
Ласкаво просимо до Супер Користувача. Чи можете ви розширити свою відповідь, пояснивши, що це робить / як це вирішує проблему ОП?
Я кажу, відновіть Моніку

no sry, просто пограв з параметрами ядра.
Кірое
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.