View diff from current version
* Debian AMD64(x86_64)情報 64ビットの世界を知れ。 ** インストール前の覚悟 - めんどくさいことをやりたくないなら、x86(i386)互換でそのまま動かしたほうがいい。普通にdebian-installerでインストールすれば利用できる。 - ネイティブ64ビット(pure64)にするメリット -- 64ビット空間でメモリを扱える。大きいメモリを使える、効率がよい -- 計算が速いかも? -- 今後のトレンドをお先に体験 -- めくるめくハックの世界。64ビットならではの問題を修正だ(ってあまりないんだけどね) - ネイティブ64ビットにするデメリット -- 32ビット依存なアプリ、カーネル、ドライバが動作しなくなる。 -- アプリはchroot環境を使うことで対処可能だが、特にカーネルドライバは鬼門になる可能性あり。無線LANドライバとか使いたいならpure64はやめたほうがいい -- ハマったときに、ぐぐっても日本語の情報はあまりない。英語アレルギーの人はやめたほうがいい ** インストール # http://debian-amd64.alioth.debian.org/debian-installer/current からインストールイメージをダウンロードする。 -- cdrom: CDインストールイメージ。といっても、CD ISOがあるわけじゃなく、要素となるファイルがいくつか置いてあるだけ。こいつらを取ってきてmkisofs(あるいはラッパーGUIツール)でISO作って焼く、ということになる。 -- hd-media: USB用イメージ。boot.img.gzを伸張して、ddかrawrite2で書き込めばいい。 -- monolithic: インストーラローダブルコンポーネントがぜんぶ入ってるもの。あぁ、ここにisoファイルあるやね。cdromの代わりにこれ使うといいのかも。 -- netboot: PXEboot用イメージ。netboot.tar.gzがあればいい。これをTFTP Debianサーバの/var/lib/tftpbootの中で展開する。 # pure64を使おうという人なら、すでに別のx86マシンを持っているだろう。netbootでセットアップするのが一番簡単。ここではTFTPサーバーとDHCPサーバーをそのx86マシンにセットアップする。ここではx86マシンをdonkey、AMD64マシンをamd64と呼ぶことにしよう)。donkeyでapt-get install dhcp3-server tftpd-hpa。tftpd-hpaのdebconf質問では、inetdから呼ぶようにする。 # donkeyの/var/lib/tftpbootの中にnetboot.tar.gzを展開する。特にいじることはない(USBキーボードの場合はpxelinux.cfg/defaultのtimeout値を10とかにしたほうがいいかも?)。 # donkeyの/etc/dhcp3/dhcpd.confを適当に設定する。で、インストールしたいマシンだけこんな感じでPXEbootするように。ho:ge:ho:ge:ho:geとかはamd64マシンのMACアドレスなので、amd64のBIOSかknoppixなどで調べておこう。 {{{ host amd64 { hardware ethernet ho:ge:ho:ge:ho:ge; fixed-address 192.168.1.250; filename "/pxelinux.0"; } }}} # donkeyで/etc/init.d/dhcp3-server startを実行(その前に編集が必要だっけ?)。これで準備完了。 # ネットワークにつないで、amd64を起動。PXEbootするようにBIOSメニューか途中でキーを押して、PXEbootさせる。 # うまくいけば、Debianぐるぐるのロゴが出てくる。だめな場合には、donkeyのログをチェック。ちなみにin.tftpdがTCP wrappersで蹴られてたというのを体験した(笑) # あとは普通のdebian-installerと変わらない、のだが # ミラーの選択ではどれを選んでも「i386」のミラーばかりで、「amd64」アーキテクチャを持つミラーはない。エラーになるはず。 # 「手動で選択」を選び、https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html にあるミラーを選択。たとえばホスト名にdebian-amd64.alioth.debian.org、ディレクトリ名に/pure64(aliothは遅いが、なんかbach.hpc2n.umu.seだとsargeディレクトリがなくてエラーになったので…)。 # ダウンロードが遅い以外はこのstageで問題が発生することはないはず。 # GeForceの場合、2nd stageでフレームバッファを取り込めなくて英語になる。まぁ大した問題ではない。 # ミラーでまた同様に問題が発生するので設定。 # 手元ではパッケージのダウンロードでこけてそのままexim4の設定→base-configのプロセスの終了になってしまったため、apt-getでいろいろ突っ込むことになった… ** Xの設定 NVidia GeForce FX 5200は、Xのnvドライバだと動かなかった。nvidia-kernel-sourceは32ビット用なのでビルドエラーになる。 # http://www.nvidia.com/object/linux_display_amd64_1.0-6629.html (URLは変わるかも)からNVIDIA-Linux-x86_64-1.0-6629-pkg2.runをダウンロード。 # apt-get install build-essential gcc-3.4 kernel-headers-2.6.9-9-amd64-k8 で必要なファイルを準備しておく(kernel-headersはsmpだったりp4系だったりすると変わる。uname -aやdpkg -lで現在どのカーネルを使っているか調べておこう)。 # export CC=gcc-3.4を実行して、Cコンパイラを標準のgcc-3.3からgcc-3.4に変更しておく。 # sh NVIDIA-Linux-x86_64-1.0-6629-pkg2.run でインストーラを実行。 # LICENSE AGREEMENTを済ませたら、自力ビルドするを選んで、先に進む。この段階でエラーが出たらメッセージをよく読んで対処して再度sh NVIDIA...をしよう。 # GLXもげとか出てきた気がする。これもYesに。 # うまくできるとnvidia.oモジュールがインストールされる。nvidia-kernel-commonパッケージをインストールして、今後これを使うようにしておこう。 # nvidia-kernel-commonの効果は再起動しないとだめなので、とりあえずここではmodprobe nvidia で手動で入れてしまう。エラーが出なければOK。 # /etc/X11/XF86Config-4を編集。ビデオドライバ(DeviceセクションのDriver)を"nvidia"に変更。UseFBDevは"false"にしたほうがよいかも。 # startxで確認。NVidiaロゴのあとにちゃんと起動できれば作業終了。だめなときにはコンソールログや/var/log/XFree86.0.logを見れ。 ** chroot だいたいのものはDebian AMD64チームによってがんがんポーティングされているので、apt-get installするだけで使える。 ただ、 - OpenOffice.org - mplayer(のコーデック) - flashplugin-nonfree とかは32ビットじゃないと動かなかったりするので(OOoはビルド問題か)、32ビット環境を作ってそこから呼ぶようにする。 # chrootを作りたい場所を決める(ここでは/var/chroot/ia32とする)。mkdir -p /var/chroot/ia32 でディレクトリ作成。 # debootstrap --arch i386 sid /var/chroot/ia32 を実行し、sidのchroot環境を作る。ここでなんか変なパッケージエラーが出たら、それは現在のsidがぶっ壊れているという地雷だ。「sarge」に変えるとうまくいくかもしれない。 # 作ったchrootに入るには、「# chroot /var/chroot/ia32」で入れる(Zシェルなどまだインストールしてないシェルを現在使っている場合には、3つめの引数として/bin/shとしておく)。 # chrootの中で/etc/apt/sources.listを編集したり(普通のi386のapt-lineを使う)、/etc/passwd、/etc/groupを適当にいじったり、apt-getでパッケージをインストールしたり。 # exitで抜けて、残りの作業をする。まずは、ldのsymlinkを作る。 {{{ # cd /lib; ln -s /var/chroot/ia32/lib/ld-2.3.2.so ld-linux.so.2 }}} # 次に、chroot環境のほうに、親環境と同じ/home、/tmp、procを共有するようにしておく。/etc/fstabにこんなかんじで。書き終わったらmount /var/chroot/ia32/home、…で3つともマウントしておく。 {{{ /home /var/chroot/ia32/home none bind 0 0 /tmp /var/chroot/ia32/tmp none bind 0 0 proc /var/chroot/ia32/proc proc defaults 0 0 }}} # /etc/ld.so.confを編集。 ** 参考 *** サイトリンク - http://www.debian.org/ports/amd64/ (「AMD64 上の Debian」。下の各リンクへのポータル) - https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html (FAQ。まずはこれを読め) - http://lists.debian.org/debian-amd64/ (Debian.org上のAMD64に関するML) - http://debian-amd64.alioth.debian.org/debian-installer/ (Debian Installer for AMD64) - http://ftp.cvut.cz/vmware/ (AMD64に対応しているVMWareモジュール) *** kmutoの使っているマシン - AMD Athlon(tm) 64 Processor 3000+ 2GHz - MSI K8T800 - DDR 512M x 2 - RTL8169 Giga NIC - GeForce FX 5200 - PATA HDD {{{ 0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8385 [K8T800 AGP] Host Bridge (rev 01) 0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800 South] 0000:00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10) 0000:00:0e.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80) 0000:00:0f.0 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) 0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 0000:00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) 0000:00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86) 0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [K8T800 South] 0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60) 0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge 0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge 0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge 0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge 0000:01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (rev a1) }}} - sensorsで見ると、temp1、2ともにだいたい50度くらい。ちと熱い。 - Cool'n Quietできるはずなんだけど(Windows用の説明がある)、powernow-k8は {{{ powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09b) powernow-k8: BIOS error - no PSB }}} でだめ(2.6.9-9-amd64-k8)。ASUSマザーだと動いてるという話があるんだけどねぇ。 - VIAオーディオはsnd_via82xxで認識されてるけど、USB audioをつなげてるのでVIAのほうは使ってない。 - sensorsはi2c-viapro、i2c-isa、eeprom、w83627hfのモジュールの登録にて動作(sensors-detectでわかる)。 - sataはsata_viaモジュールで利用可能らしい。