Linuxカーネルは、Pentium 4の「clocksource tscへの切り替え」でハングします


11

ハードウェア:Dell Dimension 4500S:i845G、Pentium 4、ストック+ 2GB RAM、最新(2002年頃)BIOSアップデート。

私はソースからLinuxシステムを構築してきましたが、これまでのところ、本ではLFS 7.0です。最初に構築したカーネルは正常に動作しますが、多くの綿毛と膨張があるため、ターゲットハードウェア用にカーネルを最適化しています(上記参照)。

私の最新の構成の試み、およびいくつかの試行錯誤のバリエーションは、printkの「clocksource tscへの切り替え」ステートメントに絶えずぶら下がっています。私の「良い」カーネルに問題はありませんでした...これはバージョン3.1.0です。どちらも同じソースツリー、パッチなし、から構築されているmake mrpropermake menuconfigなど、そう、明らかに私はいくつかの重要な欠けているCONFIG_XXXフラグを。

私は1日以上この問題をじっと見つめており、何回も知っているカーネルを構築しましたが、何の役にも立ちません。

私がおもしろいと思うことの1つは、私が得た良いカーネルの使用です:

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

また、知っておくと役に立つかもしれません。

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

さまざまなオプションを使用してビルド構成を試みましたが、現時点では詳細を思い出せないため、質問しないでください。私の検索から私は発見し、テストしたいくつかのカーネルパラメータを、のようにしましたclocksource=pitnotsc、これらのすべてが同様に失敗します。繰り返しになりますが、これまでに試したこと、後知恵をすべて書き留めておけばよかった...

フォーラムの例のほとんどは2.xカーネル用であり、ブートオプションのいくつかのバリエーションで解決されましたが、私の良いカーネルはのみを使用していroot=/dev/sdaX roます。したがって、適切なビルド構成を見つけることができれば、このハードウェアとカーネル3.1.0の組み合わせで最高だと思います。

また、同様の問題を投稿したほとんどの人々は、数分後にシステムのロードが継続され、すべてがうまくいくと言います。夕食を調理するのに十分な時間アイドル状態にしましたが、まだロードを再開していません。

教祖の一人がこれを読んで、「P4の恐竜にCONFIG_XXX = yを設定しただけで、うまくいった」と言ってくれることを望んでいます。:)

試したり確認したりするために必要なものを教えてください。結果を投稿させていただきます。


@tripleeeその情報をどこで見ることができますか...投票の理由は?
-rfmodulator

できないかもしれませんが、あなたの評判が十分でないかもしれません。とにかく、これはプログラミングに関連していないため、移動するのは理にかなっていますが、必要なのは、もう少し近い投票だけです。私も追加します。
トリプリー

Pentium 4の新しいカーネルでも同様の問題に直面しています。ハイパースレッディングを無効にすると、すべてが機能します。2泊分のデバッグを行いましたが、詳細はまだわかりません。
チョロバ

@choroba nohtは私のためにそれをしません。他にアイデアがあれば教えてください。
rfmodulator

実際、BIOSレベルでhtをオフにするか、を指定する必要がありましたacpi=off
チョロバ

回答:


8

クイック検索から、この問題には多くの考えられる理由があり、クロックソースの新しいカーネルのデフォルトがマザーボードにとって間違っているという事実を示しているようです。

いくつかのために働いた1つのアドバイスは、使用することでしたclocksource=hpetまたはclocksource=acpi_pm

、別のスレッド、誰かがでこれを固定しclocksource=jiffies、他は試してみることをお勧めnoapicまたはnolapic BIOSでオフにACPIをオンにする、別の、さらに別のSynapticsのタッチパッドを非難してのxorg.confを削除することによって、彼の問題を修正しました。

1つのカーネルビルダー、fbcondecorなしでinitrdを再コンパイルすることで問題を修正しました。

この問題には多くの原因があると思われるため、これが役立つことを願っています。


答えてくれてありがとう、しかし、回避策ではなく、私が観察しているブート時にハングを引き起こす(または防ぐ)カーネルビルド構成オプションを探しています。さまざまなフォーラムスレッドに記載されているすべての関連ブートパラメーター(clocksource=no*など)を試しましたが、効果はありませんでした。私は実際の問題を絞り込むためにこれらの実験を行いました。同じソースツリーから構築された特別なパラメーター(root=およびを除くro)なしで完全にブートするカーネルが既にありますが、このカーネルには、私が必要とするものよりも不要なものが多く含まれています...
rfmodulator

...ただし、CONFIG_私の問題を解決するキーフラグは1つです。
rfmodulator

あなたの問題は、あまりにも多くのカーネルオプションをオフにしたことである可能性がありますか?
harrymc

正確に。:)それは私が探している答えであり、私が実際に必要とする無効化したものです。私はこれを数回行いましたが、結果に変化はありません。
rfmodulator

魔法の一言であなたを助けることはできません。現在のクロックソースはacpi_pmのように見えますが、カーネルのソースを掘り下げて、カーネル構成を探し出します。もう1つのオプションは、機能する構成に戻り、オプションを段階的にオフにして問題を特定することです。あなたを「応援」するために、これは1つの選択肢ではなく、複数の選択肢、つまり競合または実行不可能な構成の組み合わせまたは文書化されていない依存関係を意味する場合もあります。
ハリーマク

0

ここでまったく同じ問題が発生し、LOTを読みました。@harrymcはかなり良い要約をしました。

調査から学んだ2つのことを追加します。

  • 問題は、プロセッサの処理方法がわからないLinuxカーネルにあります。これは、処理クロックが分からないためです。これは、カーネルブートログを確認することで確認できます。カーネルが処理クロックを測定しようとしているようです(私にとっては「2997.1333」のようでしたが、すべてのブートが「2997.1445」、「2997.1379」、...に変わります)。

  • 多くのことを試した後、ついにここに来てBIOSについて調べました。私はGYGABITE UEFIです。パラメーターを「最適化されたデフォルト設定」に戻し、「Intel Virtualization Technology」を「enabled」に設定します。

これで、すべてが正常に戻りました!これが役に立てば幸いです。


0

私から数セント、それが一般的なものかどうかはわかりませんが、BIOSで「高精度タイマー」を無効にすることでUbuntuを動作させることができました。私のMBはギガバイトのz77x-d3hです


OPのシステムは、高精度イベントタイマーをサポートしていません。これは2005年に導入されたもので、元のポスターのシステムは数年前のものです。
ChrisInEdmonton

-2

次のカーネルパラメーターを追加して問題を修正しました。

noapic

5
スーパーユーザーへようこそ。これがOPの問題をどのように解決するのか、どのように解決するのかを説明することで、答えを広げることができますか?
私は言う1:18でモニカーを復活

カーネルパラメータをいじってみました。
-Kiroe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.