Vine 化


Vine 動作確認

「Vine インストールキット for LinkStation HD-HLAN シリーズ」 をインストールしていた HDD に kuro-box Linux から、カーネルモジュールをコピーし、
この HDD を玄箱に接続して起動すると、
難なく起動した。
Vine Linux 2.6 (La Fleur de Bouard)
Kernel 2.4.17_kuro-box on a ppc
login: guest
Password:
bash-2.04$ dmesg
Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.17_kuro-box (root@toda_dev.melcoinc.co.jp) (gcc version 2.95.3 20010315 (release/MontaVista)) #1 2004年 2月 9日 月曜日 16:29:04 JST
KURO-BOX (C) 2004 KUROUTO-SHIKOU.
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/hda1
OpenPIC Version 1.2 (1 CPUs and 139 IRQ sources) at 80040000
decrementer frequency = 24.306493 MHz 
rtc sec count 1073384545
Calibrating delay loop... 129.43 BogoMIPS
Memory: 60392k available (1124k kernel code, 520k data, 188k init, 0k highmem)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Disabling the Out Of Memory Killer
Journalled Block Device driver loaded
pty: 256 Unix98 ptys configured
BUFFALO INC. RTC driver ver 1.00
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x80004600 (irq = 138) is a 16550A
ttyS01 at 0x80004500 (irq = 137) is a 16550A
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 10000K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
CMD680: IDE controller on PCI bus 00 dev 60
CMD680: chipset revision 2
CMD680: 100% native mode on irq 17
    ide0: BM-DMA at 0xbffed0-0xbffed7, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xbffed8-0xbffedf, BIOS settings: hdc:pio, hdd:pio
hda: FUJITSU M1623TAU, ATA DISK drive
ide0 at 0xbffef8-0xbffeff,0xbffef6 on irq 17
hda: 3324996 sectors (1702 MB) w/128KiB Cache, CHS=3298/16/63, DMA
Partition check:
 hda: [PTBL] [824/64/63] hda1 hda2 hda3
loop: loaded (max 8 devices)
FLASHDISK:Initialized [FUJITSU MBM29PL32TM] 
Linux Tulip driver version 0.9.15-pre9 (Nov 6, 2001)
tulip0:  MII transceiver #1 config 3100 status 7849 advertising 05e1.
eth0: ADMtek Comet rev 17 at 0xbfff00, 00:07:40:A4:xx:yy, IRQ 16.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NET4: AppleTalk 0.18a for Linux NET4.0
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 2218k freed
Boot from /dev/hda1.
VFS: Mounted root (ext2 filesystem).
Boot from /dev/hda1.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
change_root: old root has d_count=2
Freeing unused kernel memory: 188k init
Unable to handle swap header version 16777216
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,1), internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,3), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Unable to handle swap header version 16777216
bash-2.04$ 
Vine 化完了
では、あんまりなので、、、

Vine 化の方針

玄箱単体で Vine 化を考えることにする。

HDD を Linux PC に接続して作業するのは、 Linux PC がないといけないので、敷居が高くなってしまう。 玄箱だけで Vine 化できれば、ぐっと敷居が下がるのではないか。

LinkStation では、標準の / パーティションが 128MB しかなく Vine 化するには Linux PC に HDD を接続して パーティションを切り直したりフォーマットしたりが必須であった。

幸い玄箱の / ファイルシステムは 2GB あるので、 パーティションを切り直さなくても十分な広さがあるし、 2GB の内 100MB ほどしか使ってないので、空きは十分にある。
これなら、Linux PC に HDD を接続せずとも何とか Vine 化が可能な気がする
(1) 「Vine インストールキット for LinkStation HD-HLAN シリーズ」 をどこかに展開して、
(2)bin etc home lib mnt sbin usr var www あたりをエイヤと一気に入れ換えて、
(3)リブートしたら
いとも簡単に Vine 化できるような気がする。

あくまで気がするだけだが。

Vine に、こだわるわけ

Vine は正式リリース前(0.9?)の頃から使わせていただいているので、 「使い慣れている」というのが一番の理由である。

もうひとつの大きな理由が、セキュリティである。
BUFFALO や 玄人志向がクローズドに開発しているシステムは、 第三者のチェックが入らないので、とんでもない穴がある可能性がある。
そのひとつの例が、 管理パスワードが某所に平文で(暗号化されずに) おさめられている事である。
LinkStation だと、建前ではログインできないので、まだましであったが、 玄箱はおおっぴらにログインできますといっているわけで、 こんなマシンに平分パスワードを保存するとは いくらパーミッションが落としてあるとはいえ、 問題だと思う。
セキュリティの仕組みはオープンにし、多くの目でチェックしてこそ、 強度が高まるというのは定説(ほんと?)である。
その点、Vine であれば、いろいろな方のチェックが通っているので、 セキュリティにも問題ないと思われる。

あと、パッチの提供が遅れ気味というのも理由のひとつである。
何らかの不具合があった場合、 kuro-box Linux だと BUFFALO/玄人志向からパッチがリリースされるのを 待たざるを得ない。
Vine だと、これまでの実績からして、早めにパッチがリリースされるので、 安心できる。
ppc 用のパッケージは遅れ気味ではあるが、、、

ただ、ひとつ心配なのは、カーネルが容易に入れ換えられないこと。
Linux 2.4.17 以降、いくつものセキュリティパッチが出ているが、 BUFFALO/玄人志向からは、カーネルのアップデートがリリースされていない。
今のところ、 自分が被害を受けるようなセキュリティホールしか出てないようだが、 (間違ってたら指摘ください) ネットワーク上の他人に迷惑をかけるようなセキュリティホールが 発見されれば、即刻使用を中止するしかない。

話を元に戻す。

rpm インストール済み

なんと、kuro-box Linux には rpm コマンドが存在する。
root@KURO-BOX:~# which rpm
/usr/bin/rpm
root@KURO-BOX:~# rpm -qa
root@KURO-BOX:~# which rpm2cpio
/usr/bin/rpm2cpio
root@KURO-BOX:~# which cpio
/bin/cpio
root@KURO-BOX:~# which apt-get
which: no apt-get in (/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/sbin:/usr/sbin:/sbin)
さすがに apt-get までは入っていなかった。

ということは、 「Vine インストールキット for 玄箱」(仮称) は、 Vine パッケージ(.rpm)+設定ファイル+スクリプトでもよさそう。

CD-ROM マウント不可

LinkStation では iso9660 イメージのマウントができなかったが、 kuro-box でも試してみる
Vine26r1-ppc.iso を ftp で入手し、
root@KURO-BOX:~# mount -t iso9660 -o loop Vine26r1-ppc.iso /tmp/cd
mount: fs type iso9660 not supported by kernel
やっぱりだめ。
これができれば、ずいぶん楽なのに。
手動で ftp するか、先に無理やり apt-get だけインストールしてみるか。
 玄人志向 玄箱をハックしよう  → LinkStation と玄箱との違い
Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp
山下康成京都府向日市