ふとしたことから発掘された64bitマシンを使ってみようと思って,linuxのインストールで苦労したメモ。
どういうマシンなのかというと,研究室のwikiにはItaniumマシンと書いてあって,外見からはDell PowerEdge 7150とのこと。Itanium 733Mhzが積んであるらしい。
IA64ではEFIという仕組みがあるそうです。調べてないのでイメージですが,EFIというブートシステムがあって,アーキテクチャの標準としてBIOSレベルで使えるようになってるgrubみたいなかんじです。EFI shellではcdromからブートするとかbiosのアップデートとか,あるいは
> elilo linux
というかんじでlinuxを起動できます。でびあんのインストーラはEFIのなんかを更新していたっぽい。
debian sarge: 失敗
いつものごとく,でびあんを入れようとおもって,sargeのCD (http://cdimage.debian.org/debian-cd/3.1_r2/ia64/iso-cd/debian-31r2-ia64-netinst.iso) を焼いて突っ込んで,インストールするわけです。
まず,linux26では起動時にscsi(0)でmailslotうんたらが反応しないみたいな感じ(くわしいことは忘れた)でtry&timeoutの繰り返し。linux24にしたら一見動いているようだけど,裏(Ctrl+Alt+F4)でsegmentation faultが連発。よく分かんないけどできる限りskipしまくってインストールを終え,再起動するも
$ ls | more
で再現性のあるsegmentation faultが...。これじゃちょっと使い物になりません。
CentOS: 対応してなかったorz
えらい人のアドバイスに従いCentOSにチャレンジ。CD4枚らしいのでごはん食べながら焼いて,さあインストールだ!
と,インストーラ起動でkernel panic。んー,とおもって調べて行くうちに,そもそも Itanium には 1 と 2 があって, http://www.centos.org/modules/news/article.php?storyid=125 にある通り 1 には対応していないとのこと。で,このマシンは 1 のほうなんですね...。
Solaris: よくわかんないけど失敗
今度はSolaris。正直CentOSは失敗するとか考えてなかったので,バカ正直にCDを全部やいてしまったけれど,さすがに学習して1枚目のCDだけにする。つーかsunのサイトに登録するのが面倒。
で,結論はEFIのブートローダがCDからブートしようとしても「認識できないよー」みたいに言うんです。(細かいメッセージはとことん省略)
debian etch: 成功!!
思うに一番ましだったのは,インストールメニューに入ったでびあんだったんじゃないか,と振り返り, sarge じゃなくて etch (d-i beta3ってことですね) にしてみる。
しかしまあ,すんなりは行かなくてですね,"install base system"でkernelのインストールに失敗するんですよ。initrd-toolsをインストールしたいんだけどパッケージがないよ,みたいなことを言うんですね。たしかにcdのpoolにはinitrd-toolsが入っていない。
ってisoほどいてinitrd-tools追加してもう一回とか絶対やりたくないし,なんかそういう問題じゃない気がする。そもそもkernelがインストールできていないのが一番まずいでしょ。
いったんbackしてもう一度やってみたところ,どのカーネル入れるの? ってダイアログが出てきた。たぶんdebconfのpriorityが下がったのかな。でね,そのなかに "none" ってのがあるんです。これって何? カーネル入れないってこと?
"none" を選択してみると,素直にインストールは完了して,再起動してね,のメッセージ。
んー,と思い,ふとビビビッと感じるものがあって,Ctrl+Alt+F4のシェルで以下を実行。
# chroot /target # cd /tmp # wget http://ftp.jp.debian.org/debian/pool/l # less index.html (←次にwgetするのを調べてる) # ... # wget http://ftp.jp.debian.org/debian/pool/l/linux-2.6/linux-image-2.6.(ry # dpkg -i linux-image-2.6.(ry
するとね,yairdを使ってinitrd作ってくれるじゃないですか! /bootの中が空っぽだったのがなんかいろいろできてるし!
再起動してみると(また5分待つ),起動しました! しかも more してもseg faultしないよ!!
その後の調子は
まだ怖くて1回も再起動してないけど,調子よく動いてます。インストール時に適当に設定したlocale=en_US.UTF-8を消したら頻繁に
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
ってのが出るんですが,これはなにをしたら消えるんだろう。再起動すると直る予感がするけど。。。
ということで,ちょっと自慢です。わーい。
% cat /proc/cpuinfo processor : 0 vendor : GenuineIntel arch : IA-64 family : Itanium model : 0 revision : 7 archrev : 0 features : standard cpu number : 0 cpu regs : 4 cpu MHz : 733.000507 itc MHz : 733.507984 BogoMIPS : 731.13 siblings : 1 % cat /proc/meminfo MemTotal: 8258272 kB MemFree: 7692848 kB Buffers: 55984 kB Cached: 422864 kB SwapCached: 0 kB Active: 373024 kB Inactive: 116128 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 8258272 kB LowFree: 7692848 kB SwapTotal: 2000720 kB SwapFree: 2000720 kB Dirty: 16 kB Writeback: 0 kB Mapped: 20832 kB Slab: 33248 kB CommitLimit: 6129856 kB Committed_AS: 25600 kB PageTables: 1792 kB VmallocTotal: 137430529024 kB VmallocUsed: 35584 kB VmallocChunk: 137430492512 kB
あれ,wikiには16GBって書いてあったはずなんだけど...? まあでも,8GBもあればびっくり感は十分ですね!
ちなみにinitrdがなんなのかはよく分かってません。起動するときに必要なもの,くらいのイメージ。