お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-08-26 19:22:44

hirosandesu
メンバ
登録日: 2010-02-18

カーネルが使用しているアーキテクチャを調べる方法

カーネルのソースを見ようとしているのですが、archディレクトリ以下のどのアーキテクチャを使っているか調べる方法はありませんでしょうか。
使っているCPUはなんですか?→○○です。→それならば□□でしょう。
というのではなくて、現在しようしているパソコンからコマンドやファイルをcatして得られる情報により調べたいです。

よろしくお願いします。

オフライン

 

#2 2010-08-27 00:05:53

hir0
メンバ
登録日: 2008-09-28

Re: カーネルが使用しているアーキテクチャを調べる方法

使用しているパソコンからコマンドなら uname -a とかは?
質問を読み違えたかな?

オフライン

 

#3 2010-08-27 00:12:19

hmatsue
アドバイザ
登録日: 2009-03-10

Re: カーネルが使用しているアーキテクチャを調べる方法

hir0さんのとほぼ同じですが、
arch
とかでもよいかもです。
もうちょっと具体的になにがやりたい/必要なのか、説明していただいた方がフォローがつきやすいかもです。

オフライン

 

#4 2010-08-27 02:57:32

hirosandesu
メンバ
登録日: 2010-02-18

Re: カーネルが使用しているアーキテクチャを調べる方法

回答ありがとうございます。
具体的にいいますと、
kernel.orgよりソースをダウンロードしてきました。
解凍するといくつかディレクトリが出来ますが
archディレクトリの中に各アーキテクチャ固有のソースがあるということですが、
現在使用しているCPUのアーキテクチャを調べようと思いunameコマンドを使ってみました。
uname -m
でi686とでました。
ところがarchディレクトリ内にはi686というアーキテクチャのディレクトリはありません。
x86かなとは想像がつくのですが、
i686ならこのディレクトリ内のソースを使うというのは、そのような抽象的な方法ではなく、具体的にどうやって決まっているのか知りたいと思いました。

よろしくお願いします。

オフライン

 

#5 2010-08-27 07:52:34

hmatsue
アドバイザ
登録日: 2009-03-10

Re: カーネルが使用しているアーキテクチャを調べる方法

ubuntuのkernelのソースパッケージを落として中を覗いてみました。
Makefileの中でuname -mででた結果をsedにくわせてアーキテクチャを決めて、
SUBARCHという変数に入れています。
そこからSRCARCHや、他にもいろいろ分岐していきますが、これらを追いかけていけば調べられるかと思います。
i686に関しては、
uname -mの結果 -> i686
sedにくわせてでる文字列 -> i386
そこから決まるSRCARCH -> x86
のような流れのようです。

オフライン

 

#6 2010-08-27 21:44:55

hirosandesu
メンバ
登録日: 2010-02-18

Re: カーネルが使用しているアーキテクチャを調べる方法

ご回答ありがとうございます。
カーネルソース直下のMakefileですね。
sedでi386にしてSUBARCHにいれている箇所確認できました。
元はuname -mから来ているのですね。

謎が解けてすっきりしました。
ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB