
Ubuntu日本語フォーラム

ログインしていません。
カーネルのソースを見ようとしているのですが、archディレクトリ以下のどのアーキテクチャを使っているか調べる方法はありませんでしょうか。
使っているCPUはなんですか?→○○です。→それならば□□でしょう。
というのではなくて、現在しようしているパソコンからコマンドやファイルをcatして得られる情報により調べたいです。
よろしくお願いします。
オフライン
使用しているパソコンからコマンドなら uname -a とかは?
質問を読み違えたかな?
オフライン
hir0さんのとほぼ同じですが、
arch
とかでもよいかもです。
もうちょっと具体的になにがやりたい/必要なのか、説明していただいた方がフォローがつきやすいかもです。
オフライン
回答ありがとうございます。
具体的にいいますと、
kernel.orgよりソースをダウンロードしてきました。
解凍するといくつかディレクトリが出来ますが
archディレクトリの中に各アーキテクチャ固有のソースがあるということですが、
現在使用しているCPUのアーキテクチャを調べようと思いunameコマンドを使ってみました。
uname -m
でi686とでました。
ところがarchディレクトリ内にはi686というアーキテクチャのディレクトリはありません。
x86かなとは想像がつくのですが、
i686ならこのディレクトリ内のソースを使うというのは、そのような抽象的な方法ではなく、具体的にどうやって決まっているのか知りたいと思いました。
よろしくお願いします。
オフライン
ubuntuのkernelのソースパッケージを落として中を覗いてみました。
Makefileの中でuname -mででた結果をsedにくわせてアーキテクチャを決めて、
SUBARCHという変数に入れています。
そこからSRCARCHや、他にもいろいろ分岐していきますが、これらを追いかけていけば調べられるかと思います。
i686に関しては、
uname -mの結果 -> i686
sedにくわせてでる文字列 -> i386
そこから決まるSRCARCH -> x86
のような流れのようです。
オフライン
ご回答ありがとうございます。
カーネルソース直下のMakefileですね。
sedでi386にしてSUBARCHにいれている箇所確認できました。
元はuname -mから来ているのですね。
謎が解けてすっきりしました。
ありがとうございました。
オフライン