AlphaマシンのGentooでXが起動しない件はBugzillaにも報告があがってました。
sig11 during startup with glint driver
ダメもとでLoad "fbdevhw"
を追加してみましたが、同じようにsig11で落ちてしまいます。
xorg-x11はportage上、7.0が最新になったようなので(~alphaですが)、こちらを試してみましょうか。
その前にemerge -pv --deep --newuse world
してみたら更新対象20パッケージ。これが一通り済んでからかな。
Gentoo LinuxマシンでCDのリッピングをしようとしたら(grip使ってます)、Xが起動しません。
Xサーバだけの問題かと思ったのですが、x86マシンでCygwin-Xを使ってもダメです。
しばらくコンソールだけで使っていたので、いつからこの状態なのかわかりません。
今までのパッケージ更新とか「何か失敗してたのかなぁ」と思いつつ、とりあえずemerge実行。ところが今度はgdk-pixbufのemergeで停止してしまいます。
# emerge -v --deep world : >>> Unpacking source... >>> Unpacking gdk-pixbuf-0.22.0.tar.bz2 to /var/tmp/portage/gdk-pixbuf-0.22.0-r5/work * Applying gdk-pixbuf-0.22.0-m4.patch ... : mv -f .libs/gnome-canvas-pixbuf.lo gnome-canvas-pixbuf.lo /bin/sh ../libtool --mode=link alphaev6-unknown-linux-gnu-gcc -mcpu=ev6 -O3 -pipe -o libgnomecanvaspixbuf.la -r path /usr/lib -version-info 1:0:0 -rdynamic -L/usr/lib -L/usr/X11R6/lib -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lI CE -lgtk -lgdk -lgmodule -ldl -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib gnome-c anvas-pixbuf.lo rm -fr .libs/libgnomecanvaspixbuf.la .libs/libgnomecanvaspixbuf.* .libs/libgnomecanvaspixbuf.* alphaev6-unknown-linux-gnu-gcc -shared gnome-canvas-pixbuf.lo -L/usr/lib -L/usr/X11R6/lib /usr/lib/libgnomeui.so /usr/lib/libart_lgpl.so /usr/lib/libgdk_imlib.so -lSM -lICE /usr/lib/libgtk.so /usr/lib/libgdk.so /usr/lib/libg module.so -ldl -lXi -lXext -lX11 /usr/lib/libgnome.so /usr/lib/libgnomesupport.so /usr/lib/libesd.so /usr/lib/lib audiofile.so -lm -ldb1 /usr/lib/libglib.so -Wl,-soname -Wl,libgnomecanvaspixbuf.so.1 -o .libs/libgnomecanvaspixbuf.so.1.0.0
エラーメッセージが出るわけでもなく止まってしまいます 😕
どうしようか悩みつつも、とりあえずrevdep-rebuildもしてみることに。
# revdep-rebuild Configuring search environment for revdep-rebuild Environment mismatch from previous run, deleting temporary files... Checking reverse dependencies... Packages containing binaries and libraries broken by a package update will be emerged. Collecting system binaries and libraries... done. (/root/.revdep-rebuild.1_files) Collecting complete LD_LIBRARY_PATH... done. (/root/.revdep-rebuild.2_ldpath) Checking dynamic linking consistency... broken /usr/bin/db1_dump185 (requires libdb.so.2.1) broken /usr/bin/easytag (requires libFLAC.so.6) broken /usr/bin/ogg123 (requires libFLAC.so.6 libOggFLAC.so.1) broken /usr/bin/oggenc (requires libFLAC.so.6 libOggFLAC.so.1) broken /usr/lib/libOggFLAC++.so.2.0.0 (requires libOggFLAC.so.1) broken /usr/lib/perl5/vendor_perl/5.8.7/alphaev6-linux/auto/Image/Magick/Magick.so (requires libMagick.so.6) done. :
ここまでやって再びgripを起動してみましたが、やっぱりダメ。
$ grip (grip:4881): Gtk-WARNING **: cannot open display:
ローカルのXサーバが起動しないのはいいのですが、Xクライアントも起動しないのはちょっとつらいです。
ちゃんと追いかけなきゃと思いつつ、今日はここまで。
涼しくなってきたので、Gentto入りAlphaマシンに火を入れました 🙂
ログでemergeの前回実行日を確認したところ7月4日でしたから、3ヶ月以上放置していたことになります。
emerge -pv worldしてみたところ150弱のパッケージが更新対象だったので、もうインストール時のbuildと同じような状態ですね。
まぁemerge一発ではうまくいかないはずなので、週末気長にupdateしようと思います。
もっと涼しくなってきたら、DebianなiBookにやらせてるメールサーバ役をGentooなAlphaに引き継ぐ予定です。
あ。Solaris 10を入れた Ultra 10はDIMMエラーにてpanicするようになってしまいましたので、パーツ調達できるまでお休みとなります 😥
CPUの消費電力というサイトを見つけました。
残念ながらSPARCの情報はないのですが、こちらのCPUの消費電力-2003年2月-をみてちょっと驚き。Alpha 21264はItanium/2に次ぐとんでもない値ですが、21164のほうは実はCeleron並みの消費電力のようです。
これぐらいなら常時稼動させられないかなぁ、とひそかに思い始めてます。Ultra10自宅サーバ計画は見直しかも知れません。
XFSをIDE Software RAID1上に構築しようとしたら、
# mkfs.xfs -f /dev/md/root meta-data=/dev/md/root isize=256 agcount=16, agsize=187633 blks = sectsz=512 data = bsize=4096 blocks=3002128, imaxpct=25 = sunit=0 swidth=0 blks, unwritten=1 naming =version 2 bsize=4096 log =internal log bsize=4096 blocks=2560, version=1 = sectsz=512 sunit=0 blks realtime =none extsz=65536 blocks=0, rtextents=0 mkfs.xfs: size check failed mkfs.xfs: filesystem failed to initialize
と失敗してしまいます。更にこのパーティションをマウントしようとすると、
# mount /dev/md/root /mnt mount: Unknown error 990
となり、/var/log/mesagesにも
kernel: XFS: file system busy kernel: fffffc004fcb7b78 000000000000012d fffffc00006a5eff fffffc00004d3eac kernel: fffffc00004d3774 0000000000000000 fffffc0042e9b700 0000000000000200 kernel: fffffc00004d3eac fffffc0044e6f040 fffffc0042e9b700 0000000000000200 kernel: fffffc00004dcf7c fffffc0044e6f000 0000000000000000 fffffc0044e6f800 kernel: fffffc001276cbc0 fffffc005ffd2340 fffffc00004f414c fffffc005beaf400 kernel: 0000000000000000 fffffc001276cbc0 fffffc0044e6f800 fffffc005ffd2370 kernel: Trace: kernel: [<fffffc00004d3eac>] xfs_readsb+0x13c/0x290 kernel: [<fffffc00004d3774>] xfs_mount_validate_sb+0x274/0x3e0 kernel: [<fffffc00004d3eac>] xfs_readsb+0x13c/0x290 kernel: [<fffffc00004dcf7c>] xfs_mount+0x1fc/0x500 kernel: [<fffffc00004f414c>] vfs_mount+0x3c/0x60 kernel: [<fffffc00004f3af0>] linvfs_fill_super+0x0/0x330 kernel: [<fffffc00004f3bdc>] linvfs_fill_super+0xec/0x330 kernel: [<fffffc000037a2e4>] get_sb_bdev+0x1d4/0x280 kernel: [<fffffc0000378d08>] alloc_super+0x28/0x190 kernel: [<fffffc00003794cc>] sget+0x16c/0x1b0 kernel: [<fffffc000037aa30>] sb_set_blocksize+0x30/0x80 kernel: [<fffffc000037a2c4>] get_sb_bdev+0x1b4/0x280 kernel: [<fffffc00004f3e3c>] linvfs_get_sb+0x1c/30 kernel: [<fffffc000037a6d8>] do_kern_mount+0x88/0x1a0 kernel: [<fffffc0000394f88>] do_new_mount+0xd8/0x120 kernel: [<fffffc00003958a8>] do_mount+0x1a8/0x1e0 kernel: [<fffffc0000395da0>] sys_mount+0xb0/0x140 kernel: [<fffffc0000395674>] copy_mount_options+0x84/0x110 kernel: [<fffffc0000395d80>] sys_mount+0x90/0x140 kernel: [<fffffc0000310a54>] entSys+0xa4/0xc0 kernel: kernel: XFS: SB validate failed
などど、すごそうなメッセージが出力されています。さてどうしたものか…
Alpha XP1000にIDEハードディスクを追加しました。ところがリブートするとハードディスクが認識されなくなってしまいます。
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx CY82C693: IDE controller at PCI slot 0000:00:07.1 CY82C693: chipset revision 0 CY82C693: not 100% native mode: will probe irqs later CY82C693U driver v0.34 99-13-12 Andreas S. Krebs (akrebs@altavista.net) ide0: BM-DMA at 0x8000-0x8007, BIOS settings: hda:DMA, hdb:DMA PCI: Enabling device: (0000:00:07.2), cmd 7 ide1: BM-DMA at 0x8008-0x800f, BIOS settings: hdc:pio, hdd:pio Probing IDE interface ide0... ide0: Wait for ready failed before probe ! Probing IDE interface ide1... ide1: Wait for ready failed before probe ! Probing IDE interface ide0... ide0: Wait for ready failed before probe ! Probing IDE interface ide1... ide1: Wait for ready failed before probe ! Probing IDE interface ide2... ide2: Wait for ready failed before probe ! Probing IDE interface ide3... ide3: Wait for ready failed before probe !
SCSIハードディスクを増設できればいいんですが、何分個人利用には高価なのでIDEディスクでRAID組もうと思ってたのですが…
ちなみにハードリセット(電源Off/On)からおこなうと再び認識されるようになりますが、リモートログインしてshutdown -rできないので実運用は厳しいです。
Alpha固有の問題なのでしょうか。ハードウェア、SRM、aboot、kernel。どこが怪しいのか皆目見当がつきません。
BSD DisklabelでタイプfdをRAIDデバイスと認識させるパッチが取り込まれていないのは、DEC Alphaで本当にこのパーティションIDを使わないのかが心配なためらしいです。
一応2.6.10用も自分で作ったのですが(2.6のsun.cを参考にすれば簡単だった)、パッチだけでは取り込んではもらえる可能性が低いです。どこかにOpenVMSとかで使われるパーティションのドキュメントがないのでしょうか…
Gentoo用に当てた自前パッチは忘れないように晒しておきます。
--- linux-2.6.10/fs/partitions/osf.c.orig 2005-03-15 17:37:03 +0900 +++ linux-2.6.10/fs/partitions/osf.c 2005-03-15 17:43:12 +0900 @@ -66,10 +66,13 @@ for (i = 0 ; i < le16_to_cpu(label->d_npartitions); i++, partition++) { if (slot == state->limit) break; - if (le32_to_cpu(partition->p_size)) + if (le32_to_cpu(partition->p_size)) { put_partition(state, slot, le32_to_cpu(partition->p_offset), le32_to_cpu(partition->p_size)); + if (partition->p_fstype == LINUX_RAID_PARTITION) + state->parts[slot].flags = 1; + } slot++; } printk("n");
AlphaマシンのGentoo LinuxでSoftware RAIDを使おうと思ったのですが、一筋縄ではいききませんでした。
- SRMからabootを使ってbootするにはBSD Disklabelでないといけない
- でもBSD Disklabelではパーティションタイプ0xFD(Linux RAID Autodetect)を認識してくれない
解決策はこちらのスレッドからのパッチでカーネル再構築でしょうか。
Gentooのvalilla-sourcesが2.4.28になったので、早速genkernelしてみました。
# emerge vanilla-sources # cd /usr/src # ln -sf linux-2.4.28 linux # cd linux # genkernel --menuconfig all
menuconfig画面が表示されたら、前のkernel configを読み込ませていましたが、
# genkernel --menuconfig --kernel-config=/etc/kernels/kernel-config-alpha-2.4.27 all
としてもいいのかも知れません。
2.4.27とconfigを見比べてみると、SATA関係とCryptoデバイスのオプションがいくつか増えたようです。
で、makeも終ってbootすると、
Linux version 2.4.28 (root@localhost) (gcc バージョン 3.3.4 ...
と日本語文字列が。あ、LANG=Cするの忘れてた。
実害はなく気分だけの問題なのだが、LANG=Cでやり直しました 😛
Gentoo LinuxのAlphaStationにはNICが2枚刺さってるので、bridgeさせてみました。
今まではeth0にIPアドレスを振っていましたが、br0という名前でbridgeデバイスを構成して、そちらにIPアドレスを振るように変更します。
まずはLinux Ethernet bridgingのbridge-utilsを入れます。
# emerge bridge-utils
次に/etc/conf.d/bridgeを用意して、起動時にbridgeデバイスbr0が作成されるようにします。
# cat /etc/conf.d/bridge bridge="br0" bridge_br0_devices="eth0 eth1" # rc-update -a bridge default
/etc/conf.d/net.br0は、普通にeth0だけで使っている場合のように記述するだけです。
# cat /etc/conf.d/net.br0 ifconfig_br0=( "192.168.0.1 netmask 255.255.255.0" ) routes_br0=( "default gw 192.168.0.254" )
eth0,eth1はUPだけするようIPアドレス0.0.0.0を割り当てておきます。
# cat /etc/conf.d/net.eth0 ifconfig_eth0=( "0.0.0.0" ) # cat /etc/conf.d/net.eth1 ifconfig_eth1=( "0.0.0.0" )
eth0,eth1,br0のスタートアップスクリプトを用意します。
# cd /etc/init.d # ln -s net.lo net.eth0 # ln -s net.lo net.eth1 # ln -s net.lo net.br0 # rc-update -a net.eth0 default # rc-update -a net.eth1 default # rc-update -a net.br0 default
再起動してきちんとbridgeできました。