Just another Ruby porter,

〜2001年7月上旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2001-07-01 (Sun)

[Linux] ReiserFS

で、Plamo2.2に移行したのかというと実はまだで、 やっぱReiserFSにインストールしたいのだよ、うん。
まずは今の環境でReiserFSが使えるようにする。 kernelはPlamo 2.2にパッチがあたった2.2.19があるのでそれを使う。 mkreiserfsとかのツールは http://www.namesys.com/ から reiserfsprogs を取ってきた。

_ mkreiserfs:

まずはMOで実験だ。

% su
# fdisk /dev/sda
  全部sda1に割り当てる。
# mkreiserfs /dev/sda1
# mount -t reiserfs /dev/sda1 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       or too many mounted file systems

うーむ。なぜかだめだ。fsckしてみても別に悪いとこはなさそう。

# reiserfsck /dev/sda1

<-------------reiserfsck, 2001------------->
reiserfsprogs 3.x.0j
could not setrlimit: Invalid argument
Will read-only check consistency of the partition
Will put log info to 'stderr'
Do you want to run this program?[N/Yes] (note need to type Yes):Yes
Analyzing journal..nothing to replay \
 (no transactions older than last flushed one found)
Fetching on-disk bitmap..done
Checking S+tree..ok
Comparing bitmaps..ok
Checking Semantic tree...ok 

setrlimitはまあ無視してもいいだろう。

_ mkreiserfs.8:

しょうがない。まずはmkreiserfsのマニュアルを見てみよう

% man mkreiserfs
No manual entry for mkreiserfs

なぬ?source treeにはちゃんと

mkreiserfs/mkreiserfs.8

はある。mkreiserfs/Makefileを見ると

prefix = /
...
mandir = ${prefix}/man

となってる。これじゃ/manにインストールされちゃうねえ。

% ls /man/man8 
debugreiserfs.8  mkreiserfs.8  reiserfsck.8  resize_reiserfs.8

とりあえず

% sudo make mandir=/usr/man install

してインストールしなおした。

_ -v 1, -v 2:

man mkreiserfsしてみて気になるのは-vオプションだ。

-v 1 | 2
       This specifies format new filsystem has to be of.

ofはoffだと思うが、ってことはdefaultはnewだな。 newは2.4.xでしか使えないと聞いたことがあるから、 -v 1が必要と見た。

# mkreiserfs -v 1 /dev/sda1
# mount -t reiserfs /dev/sda1 /mnt

なるほど。

Plamo 2.2

あらかじめ/dev/hdbにReiserFSのファイルシステムを作っておけば、 Plamoをそこにインストールできるかも。README.EUCには

・Linux Kernel : PC 用では kernel 2.2.19 に ide patch と reiserfs
 patch を当てたカーネルを使っています.

とあるのでmountできるはず。

試してみたらインストール用のkernelはReiserFS対応じゃなくてだめ。 どうしよっかな。 kernelはここにあるしこれをセットアップディスクにコピーすればいけるか? configオプションが違いすぎて面倒だな。

loop, chroot

どっちにしろ全然別のパーティションにインストールする予定だし、 今動いてるこの環境でsetupを動かせばいいんじゃないかと気づく。 いろんな設定ファイルもあるはずなので、 initrdをloopでmountしたらどうだろう? なんとなく書き換えられない気もするので内容をコピーしてchrootすることにした。

# mount -o loop initrd /mnt
# mkdir plamo
# cp -av /mnt/* plamo
# umount /mnt
# chroot plamo /bin/sh
chroot: cannot execute /bin/sh: Exec format error

なぜに?

# file plamo/bin/sh
plamo/bin/sh: Linux/i386 demand-paged executable (ZMAGIC), stripped

おお、a.outか。まさかそうくるとは。

# cp plamo/lib/libc.so.4* /lib
# ldconfig
# insmod binfmt_aout
Using /lib/modules/2.2.19/fs/binfmt_aout.o
# chroot plamo /bin/sh
#

これで一応setupが動く環境になった。/etc/profileをsourceしておこう。

# . /etc/profile

あらかじめmountしておく。

# mount -t reiserfs /dev/hdb3 /mnt
# mkdir /mnt/boot
# mount /dev/hdb1 /mnt/boot

あとはふつうにsetupを起動してインストールする。 終わったら/etc/fstabを編集してext2をreiserfsに変更。 これやっとかないとmountできないから意味なし。
/bootをext2fsで別に用意してみたが、 grubは0.95からReiserFSをサポートしてるのでなくてもよかったかも。 /dev/hdb3は20GBほどある。これをext2にするのはちといやだよね。

とりあえずこれでちゃんと立ち上がるようになった。で/manはどうかというと

% ls /man/man8 
debugreiserfs.8  mkreiserfs.8  reiserfsck.8  resize_reiserfs.8

やっぱそうか。


2001-07-02 (Mon)

NetBSD 1.5

なかなか1.5.1が出ないらしいが、 と書いて調べたら 出てる し。 とりあえずBSD MAGAZINEについてきたNetBSD 1.5をインストールした。 あ、会社での話。マシンはVAIOのノートだ。 以前家のマシンにインストールしたのは1.3の頃だったかな?

_ CD-ROM:

同僚からCD-ROMドライブを借りてbootしてみると、 わりとあっけなく立ち上がる。 その後もさくさく進み、NetBSDも随分簡単になったなあと感心してたり。 が、実際にCD-ROMからファイルを取ってこようとするとこで、 なぜかCD-ROMドライブが見つからないというエラーになってしまう。 立ち上げ時もTOSHIBAなんちゃらってちゃんとメッセージが出てたのになあ。

_ FTP:

面倒なのでi386ごとLinux上へコピー。ftpでインストールだ。 二度目はさらにさくさく進む。 sourceのとこでftpを選ぶとDHCPがどーのこーのと出てくる。 お、気が効いてるね。これでDNSもokさ。 それ以前にちゃんとNICが認識されてるじゃん。 調べるのも忘れてたが、使えてラッキー。

_ MBR:

再起動してみるとWindows 2000が立ち上がってしまう。 途中でMBRにブートセレクタをインストールした気になっていたが、 調子に乗っていたらしい。CD-ROMでbootして

boot wd0a:netbsd

で立ち上がることを確認。 ま、ここまでくればGRUBでもいれればなんとでもなるだろう。


2001-07-03 (Tue)

Linux 2.4.5

試しにmakeしてみようと思ったんだが、make depだけで12分以上かかってる。 どうもGCC 3.0が遅いんだかなんだかわからんが、

make dep CC=gcc-2.95.3

なら4分ぐらい。やっぱGCC 3.0は遅いのか?
それ以前にGCC 3.0でkernelをcompileするのはやばいに決まってるから、 素直にCC=gcc-2.95.3でmakeしよう。

_ egcs 1.1.2:

Documentation/Changesを見ると未だにegcs 1.1.2を推奨してる。 GCC 2.95.xですら問題が起こるかもしんないとか脅してる。
実は/usr/bin/gccにちゃんと推奨GCCも残してあったりする。

% /usr/bin/gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release)

_ reboot:

hdc5なんてわからん、ちゃんとroot=で指定しろとパニクられる。 うむむ。調べよう。ひょっとしてlableが使えるのか?

NetBSD 1.5

で、ブート問題はどうしたかというと NetBSD/i386 FAQ を見て、

# fdisk -i -c /usr/mdec/mbr_bootsel
# fdisk -B

してブートメニューをインストールした。 で、こんな感じかと確認して、

# fdisk -if

でそれはやめて

# dd if=/dev/rwd0a of=nbsd0.bb count=1 bs=512

してnbsd0.bbをWindows 2000のC:/へコピーしboot.iniを編集した。 まったくもってFAQのままだ。


2001-07-04 (Wed)

Linux 2.4.6

実にタイミングよく2.4.6が出る。そのままGCC 3.0でやってみよう。

make dep bzImage modules  5154.16s user 598.56s system 96% cpu \
  1:39:20.51 total

うむ。 6年程前、386SX 20MHzでLinux 1.1.59をmakeしたときに、 このくらいの時間がかかってた気が。
AXマシンを使ってたんだよねえ。 setup.Sをいじってkonを使わなくてもSJISは表示できるようにしてたり。 ディスクが40MBしかなかったら、konに使うフォントが惜しかった。

それはそれとして昨日の情けないエラーは

CONFIG_IDE is not set

が原因だ。をいをい。make oldconfigは勢いNにしがちだよね。 てゆかそこは以前と変わんないんだから聞いてこないで欲しいよ、切に。


2001-07-05 (Thu)

[Linux] modutils 2.4.6

/lib/modules/2.4.6/modules.depのサイズが0になってる。 modutilsが古いようだ。考えてみるとrequirementsを全然守ってないな。 既にmodutils 2.4.6をインストールしてしまったので、何が入っていたかは不明。 これでちゃんとloadできるだろう。

Linux 2.4.6はGCC 3.0でも大丈夫だね。例のmulti-line strings警告がうざいけど。 というわけで週末はReiserFS V2にしてPlamo 2.2をインストールだ。

川平慈温、謙慈、慈英

間にもう一人いたのか。


2001-07-06 (Fri)

[Linux] ethertap

Linux 2.4.6でPPxPを使いたければethertapを使う必要がある。 userlinkが2.4.xに対応してないからだ。 なんて書いているが、ほんとは今まで全然知らなかったんだよね、まったく。 っつーわけで

CONFIG_NETLINK=y
CONFIG_NETLINK_DEV=m
CONFIG_ETHERTAP=m

とした。CONFIG_NETLINKはmoduleにはできない。 あとは/etc/modules.confに

alias tap0 ethertap
above ethertap netlink_dev

を追加すればいい。 ethertap用のデバイスファイルはすでにできてた。ないときは

# mknod /dev/tap0 c 36 16

で作る。


2001-07-07 (Sat)

[NetBSD] VAIOのMemory Stick

NetBSD メモリスティック vaioをキーにgoogleすると、 メモリスティックはUSB接続だと出てくる。 bsd-nomad MLにFreeBSD用のパッチがあるということもわかった。 で、 ここ にはBSD系のMLが集中してるので

NetBSD USB VAIO site:www.clave.gr.jp

をキーにしてgoogleすると [bsd-nomads:14224] が見つかった。dmesgには

uhci0 at pci0 dev 7 function 2: \
  Intel 82371AB USB Host Controller (PIIX4) (rev. 0x01)
pci_intr_map: no mapping for pin D
uhci0: couldn't map interrupt

とあったのでまずは割り込みが割り当てられるように

options PCIBIOS
options PCIBIOS_INTR_FIXUP

でreconfigしてみよう。正解だ。

umass0 at uhub1 port 1 configuration 1 interface 0
umass0: Sony USB Memory Stick Slot, rev 1.10/1.31, addr 3
umass0: using UFI over CBI-I

ちゃんと認識された。こんどはメモリスティックを差しといてから再起動。

scsibus0 at umass0: 2 targets, 1 luns per target
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 1 lun 0: <, , > SCSI0 0/direct fixed
sd0: could not mode sense (4/5); using fictitious geometry
sd0: 7920 KB, 7 cyl, 64 head, 32 sec, 512 bytes/sect x 15840 sectors

SCSIデバイスとして認識される。

# disklable /dev/sd0 | tail -5
8 partitions:
#        size   offset     fstype   [fsize bsize   cpg]
  d:    15840        0     unused        0     0         # (Cyl.    0 - 7*)
  e:    15783       25      MSDOS                        # (Cyl.    0*- 7*)

なので

# mount -t msdos /dev/sd0e /mnt

でマウントもok。
ついでにmtoolsもインストールしてみた。/etc/mtools.confに

drive m: file="/dev/sd0e"
mtools_skip_check=1

を追加したらばっちり。

# mdir m:
 Volume in drive M has no label
 Volume Serial Number is 0000-0000
Directory for M:/

FOO                  4 07-04-2001   8:27 
        1 file                    4 bytes
                          8 052 736 bytes free
# mtype m:/foo
foo

抜くと

# mdir m:
Can't open /dev/sd0e: Operation not supported by device
Cannot initialize 'M:'

となる。
つぎは抜いたままで再起動して同じ実験。

# mdir m:
Can't open /dev/sd0e: Device not configured
Cannot initialize 'M:'

あ、だめだ。勝手に認識されないな。


2001-07-08 (Sun)

入れ換え

いよいよ総入れ換えだよ。 /usr/localに入ってたものは全部makeしなおそうと思っているから、 GCC 3.0をbootstrapだ。って4時間半もかかったよ。 なにを入れたかというと

 1. gcc 3.0
 2. zsh 4.0.2
 3. icewm 1.0.3
 4. emacs 20.7
 5. jvim.2.0
 6. ppxp 991209
 7. openssl 0.9.6
 8. w3m 0.2.1
 9. wwwoffle 2.6d
10. tcl 8.3.1
11. tk 8.3.1
12. ruby 1.6.4 2001-07-06
13. openssh 2.3.0p1
14. leafnode+-2.10
15. ltrace-0.3.10
16. dbskkd-cdb-0.52-BETA
17. skkinput 2.03
18. apel 10.2
19. limit 1.13.4
20. semi 1.13.7
21. skk 10.56

だ。手元にあるものを入れたので、ちと古いものもある。 あ、クロスの環境はまだなので、というかcvsも入れなきゃな。 それよりrsyncを入れなきゃこの日記が更新できないじゃん。 あしただな。

[Linux] Linux 2.4.6

なぜかaic7xxxがうまいことロードされぬ。2.2.xでは/etc/modules.confに

alias scsi_hostadapter aic7xxx

と書いとけば勝手にロードされたんだけどなあ。 また、勢いでNにしたとこがあるのか? しょうがないから

% sudo modprobe aic7xxx

してからMOをmountしたり。

[NetBSD] Memory Stick

probeできないと立ち上げ時に必ずメモリスティックを差しておかないといけないわけで、 それはどうなんだ?使いづらいよね、やっぱ。FreeBSDなら

# camcontrol rescan da0

てな具合にできるらしい。

man -k scsiしてみたらscsictl(8)というコマンドが見つかる。 なんかいかにもという感じだ。man scsictlしてみると

# scsictl device scan target lun

とまさに探していたものだよ、こりゃ。さっそく実行すると

# scsictl sd0 scan any any
scsictl: sd0: Device not configured

うむ。sd0は確かにまだないしそうだよね。 なにを指定すればいいんだ?dmesgをじっと見ると

scsibus0 at umass0: 2 targets, 1 luns per target
scsibus0: waiting 2 seconds for devices to settle...

とある。/dev/scsibus0なんてほんとにあるのか?

# ls -l /dev/scsibus0
crw-r--r--  1 root  wheel  61, 0 Jul  3 04:14 /dev/scsibus0

あるね。ってことはこれか。

# scsictl scsibus0 scan any any
sd0 at scsibus0 target 1 lun 0: <, , > SCSI0 0/direct fixed
sd0: could not mode sense (4/5); using fictitious geometry
sd0: 7920 KB, 7 cyl, 64 head, 32 sec, 512 bytes/sect x 15840 sectors

やったね。認識したじゃん。


2001-07-09 (Mon)

今日インストールしたものリスト

 1. texinfo 4.0 + EUC patch
 2. grub CVS版
 3. cvs 1.11.1p1
 4. rsync 2.4.6
 5. cvsup(コピーしただけ)

これでだいたい元の状態に復帰した。 ってクロスの環境がまだじゃん。 今週末にはPS2 LinuxKitも来るし、こっちに作ろうかな。


2001-07-10 (Tue)

[Linux] scsi_hostadapter

昨日カーネルをreconfigしなおしてそのままシャットダウンしたわけだが、 今日立ち上げてみたらmodprobeしなくてもokだ。結局

--- /usr/src/linux/.config.old	Mon Jul  9 22:48:37 2001
+++ /usr/src/linux/.config	Mon Jul  9 22:56:04 2001
@@ -311,4 +311,4 @@
 #
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI=m
+CONFIG_BLK_DEV_SD=m
 CONFIG_SD_EXTRA_DEVS=40
@@ -317,3 +317,3 @@
 # CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
+CONFIG_CHR_DEV_SG=m
 # CONFIG_SCSI_DEBUG_QUEUES is not set

のどれかが効いた模様。 CONFIG_SCSI=yなのにCONFIG_SCSI_AIC7XXX=mにしてるんだから、 そもそもそこが変だったんじゃない?

Re: chinese input at cygwin1-20010625.dll/Win2000

Subjectの件はこの際どうでもいいんだけど、rxvtの日本語パッチの情報がある。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!