Vine Seed


Vine/ppc 3.0 がなかなかリリースされないので、 Vine Seed で試行することにする。

HDD の準備

ハックキットをインストールする HDD を準備する。
そのあたりに転がっていた(?)Maxtor 91024U3 をスレーブに接続し、 パーティションを切りフォーマットする。

apt-get でインストールするため、/ の容量を大きくしておいた。

コマンド (m でヘルプ): p

ディスク /dev/hdb: ヘッド 255, セクタ 63, シリンダ 1244
ユニット = シリンダ数 of 16065 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/hdb1             1      1024   8225248+  83  Linux
/dev/hdb2          1025      1041    136552+  82  Linux スワップ
/dev/hdb3          1042      1244   1630597+  83  Linux

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@hackkit /root]# mke2fs -j /dev/hdb1
mke2fs 1.29 (24-Sep-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1028160 inodes, 2056312 blocks
102815 blocks (5.00%) reserved for the super user
First data block=0
63 block groups
32768 blocks per group, 32768 fragments per group
16320 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@hackkit /root]# mke2fs -j /dev/hdb3
mke2fs 1.29 (24-Sep-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
203840 inodes, 407649 blocks
20382 blocks (5.00%) reserved for the super user
First data block=0
13 block groups
32768 blocks per group, 32768 fragments per group
15680 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@hackkit /root]# mkswap /dev/hdb2
Setting up swapspace version 1, size = 136548K

ハックキットの展開

[root@hackkit /root]# mkdir /tmp/root
[root@hackkit /root]# mount /dev/hdb1 /tmp/root
[root@hackkit /root]# cd /tmp/root
[root@hackkit root]# tar zxvpf /tmp/hackkit-1.2.tar.gz
[root@hackkit root]# /tmp/fromimage /tmp/image.zip
Archive:  /tmp/image.zip
  inflating: tmpimage.tgz
./etc/init.d/ppc_uartd
	:
	:
カーネルを 2.4.20 にしているので、カーネルモジュールもコピーする
[root@hackkit root]# uname -a
Linux hackkit 2.4.20_kuro-box #1 Sun Sep 26 18:01:31 JST 2004 ppc unknown
[root@hackkit root]# cd /lib/modules/
[root@hackkit modules]# tar cf - 2.4.20_kuro-box |(cd /tmp/root/lib/modules/; tar xvf -)

ハックキット 1.2 の起動

Maxtor 91024U3 をマスタにし、起動する。

以下、鈴木さんの[vine-users:066774] に従って作業する。

2.6r4 最新に更新する

[root@hackkit /root]# apt-get update
取得:1 http://updates.vinelinux.org 2.6/ppc/base/pkglist.updates [122kB]
ヒット http://updates.vinelinux.org 2.6/ppc release.updates
取得:2 http://updates.vinelinux.org 2.6/ppc/base/srclist.updates [46.3kB]
ヒット http://updates.vinelinux.org 2.6/ppc release.updates
無視 http://updates.vinelinux.org 2.6/$(ARCH)/base/mirrors
無視 http://updates.vinelinux.org 2.6/$(ARCH)/base/mirrors
ヒット http://www.t.ring.gr.jp 2.6/ppc/base/pkglist.main
ヒット http://www.t.ring.gr.jp 2.6/ppc release.main
取得:3 http://www.t.ring.gr.jp 2.6/ppc/base/pkglist.updates [121kB]
ヒット http://www.t.ring.gr.jp 2.6/ppc release.updates
取得:4 http://www.t.ring.gr.jp 2.6/ppc/base/srclist.main [118kB]
ヒット http://www.t.ring.gr.jp 2.6/ppc release.main
取得:5 http://www.t.ring.gr.jp 2.6/ppc/base/srclist.updates [46.2kB]
ヒット http://www.t.ring.gr.jp 2.6/ppc release.updates
無視 http://www.t.ring.gr.jp 2.6/$(ARCH)/base/mirrors
無視 http://www.t.ring.gr.jp 2.6/$(ARCH)/base/mirrors
取得完了: 453kB を 5s (75.6kB/秒)
ファイル依存を処理しています... 完了
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
W: http://www.t.ring.gr.jp/pub/linux/Vine/apt/ は認証を省略します。
W: http://www.t.ring.gr.jp/pub/linux/Vine/apt/ は認証を省略します。
W: http://updates.vinelinux.org/apt/ は認証を省略します。
W: http://updates.vinelinux.org/apt/ は認証を省略します。
[root@hackkit /root]# apt-get upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージは保留されます:
  kernel-headers
以下のパッケージがアップグレードされます:
  apache perl proftpd rsync
4 個のアップグレードパッケージ, 0 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 1 個の保留パッケージがあります。
取得パッケージ: 10.1MB のアーカイブを取得します。インストール後は 381kB が使用されます。
続行しますか? [Y/n]y
取得:1 http://www.t.ring.gr.jp 2.6/ppc/updates apache 1.3.27-0vl9 [585kB]
取得:2 http://www.t.ring.gr.jp 2.6/ppc/updates perl 1:5.6.1-0vl13 [8670kB]
取得:3 http://www.t.ring.gr.jp 2.6/ppc/updates proftpd 1:1.2.10-0vl0.1 [666kB]
取得:4 http://www.t.ring.gr.jp 2.6/ppc/updates rsync 2.5.7-0vl0.3 [148kB]
取得完了: 10.1MB を 18s (537kB/秒)
RPM コマンドを実行しています (-U)...
proftpd                     ##################################################
rsync                       ##################################################
apache                      ##################################################
perl                        ##################################################
[root@hackkit /root]#

2.6.99 へ upgrade する

[root@hackkit /root]# cd /etc/apt/
[root@hackkit apt]# ls
apt.conf  rpmpriorities  sources.list  vendors.list
[root@hackkit apt]# mv sources.list{,.orig}
[root@hackkit apt]# echo 'rpm http://updates.vinelinux.org/apt 2.6.99/$(ARCH) main' > sources.list
[root@hackkit apt]# apt-get update
取得:1 http://updates.vinelinux.org 2.6.99/ppc/base/pkglist.main [5610B]
取得:2 http://updates.vinelinux.org 2.6.99/ppc release.main [123B]
無視 http://updates.vinelinux.org 2.6.99/$(ARCH)/base/mirrors
取得完了: 5733B を 0s (11.5kB/秒)
ファイル依存を処理しています... 完了
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
W: http://updates.vinelinux.org/apt/ は認証を省略します。
[root@hackkit apt]# apt-get dist-upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージがアップグレードされます:
  apt popt rpm
3 個のアップグレードパッケージ, 0 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 0 個の保留パッケージがあります。
取得パッケージ: 4001kB のアーカイブを取得します。インストール後は 4720kB が使用されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 2.6.99/ppc/main popt 1.6.4-18vl10.26 [63.2kB]
取得:2 http://updates.vinelinux.org 2.6.99/ppc/main rpm 4.0.4-18vl10.26 [2820kB]
取得:3 http://updates.vinelinux.org 2.6.99/ppc/main apt 0.5.15.cnc.4-0vl0.1 [1118kB]
取得完了: 4001kB を 7s (514kB/秒)
RPM データベースを再構築しています(処理に数分かかることがあります)...
RPM コマンドを実行しています (-U)...
rpm                         ##################################################
NOTICE: RPM has updated to 4.0.4.
        Please execute 'rpm --rebuilddb' to convert rpm database to new format.
警告: /etc/apt/sources.list は /etc/apt/sources.list.rpmnew として作成されます
apt                         ##################################################
popt                        ##################################################
[root@hackkit apt]# rpm --rebuilddb
[root@hackkit apt]# apt-get clean

Vine Seed へ upgrade する

[root@hackkit apt]# ls
apt.conf    apt.conf.rpmold  rpmpriorities  sources.list.orig    translate.list.d
apt.conf.d  preferences      sources.list   sources.list.rpmnew  vendors.list
[root@hackkit apt]# mv sources.list.rpmnew sources.list
mv: ``sources.list'' を上書きしてもよろしいですか (yes/no)? yes
[root@hackkit apt]# apt-get update
取得:1 ftp://ftp.kddlabs.co.jp VineSeed/ppc release [2236B]
2236B を 0s 秒で取得しました (2674B/s)
取得:1 ftp://ftp.kddlabs.co.jp VineSeed/ppc/main pkglist [276kB]
取得:2 ftp://ftp.kddlabs.co.jp VineSeed/ppc/main release [127B]
取得:3 ftp://ftp.kddlabs.co.jp VineSeed/ppc/plus pkglist [366kB]
取得:4 ftp://ftp.kddlabs.co.jp VineSeed/ppc/plus release [131B]
取得:5 ftp://ftp.kddlabs.co.jp VineSeed/ppc/main srclist [133kB]
取得:6 ftp://ftp.kddlabs.co.jp VineSeed/ppc/plus srclist [184kB]
959kB を 9s 秒で取得しました (104kB/s)
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
[root@hackkit apt]#
[root@hackkit apt]# apt-get dist-upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージがアップグレードされます:
  LPRng MAKEDEV SysVinit alternatives apache apt bash bc bdflush binutils bzip2 chkconfig cpio cracklib cracklib-dicts dev
  dhcp diffutils e2fsprogs ed file fileutils ftp gawk gcc gcc-cpp gdbm glib glibc glibc-common glibc-devel gnupg grep
  groff gzip hdparm inetd info initscripts install-info iproute iputils jvim less libstdc++2_10 libstdc++2_10-compat
  libtermcap logrotate losetup mailcap mailx make man mingetty mkinitrd mktemp modutils mount ncompress ncurses net-tools
  newt nkf nss_db-compat ntp ntsysv openssl pam passwd patch perl pmac-utils popt postfix procmail proftpd psmisc pwdb
  qpopper quota readline rootfiles rpm rsync sed setup sh-utils shadow-utils slang sysklogd tar tcp_wrappers tcsh
  textutils tmpwatch unzip util-linux vixie-cron which words zlib
以下のパッケージが新たにインストールされます:
  cyrus-sasl db4 glib2 gpm libelf libgcc libstdc++3 libuser openssl096 usermode vine-keyring vine-release
以下のパッケージは保留されます:
  kernel-headers
アップグレード: 101 個, 新規インストール: 12 個, 削除: 0 個, 保留: 1 個
96.4MB のアーカイブを取得する必要があります。
展開後に 92.9MB が解放されます。
続行しますか? [Y/n]y
取得:1 ftp://ftp.kddlabs.co.jp VineSeed/ppc/main binutils 2.14.90.0.7-1vl2 [3482kB]
	:
	:
取得:113 ftp://ftp.kddlabs.co.jp VineSeed/ppc/main unzip 5.50-5vl2 [169kB]
96.4MB を 4m54s 秒で取得しました (328kB/s)
RPM データベースを再構築しています(処理に数分かかることがあります)...
Committing changes...
Preparing...                ########################################### [100%]
   1:glibc-common           ########################################### [  0%]
error: cannot open Installtid index using db3 - そのようなファイルやディレクトリはありません (2)
error: cannot open Sigmd5 index using db3 - そのようなファイルやディレクトリはありません (2)
error: cannot open Sha1header index using db3 - そのようなファイルやディレクトリはありません (2)
   2:glibc                  warning: /etc/localtime created as /etc/localtime.rpmnew
########################################### [  1%]
	:
	:
  31:mailcap                warning: /etc/mime.types saved as /etc/mime.types.rpmsave
########################################### [ 27%]
	:
	:
  37:binutils               ########################################### [ 32%]
install-info: そのようなファイルやディレクトリはありません for /usr/share/info/as.info.gz
	:
	:
  48:pam                    warning: /etc/pam.d/system-auth created as /etc/pam.d/system-auth.rpmnew
########################################### [ 42%]
  49:libuser                ########################################### [ 43%]
  50:SysVinit               ########################################### [ 44%]
telinit: timeout opening/writing control channel /dev/initctl
  51:mount                  ########################################### [ 45%]
	:
	:
  81:inetd                  warning: /etc/inetd.conf created as /etc/inetd.conf.rpmnew
########################################### [ 71%]
  82:info                   ########################################### [ 72%]
  83:ntp                    warning: /etc/ntp.conf created as /etc/ntp.conf.rpmnew
########################################### [ 73%]
  84:postfix                ########################################### [ 74%]
Adding tcp map entry to /etc/postfix/dynamicmaps.cf
postalias: warning: My hostname hackkit is not a fully qualified name - set myhostname or mydomain in /etc/postfix/main.cf
	:
	:
 107:initscripts            warning: /etc/inittab created as /etc/inittab.rpmnew
########################################### [ 94%]
 108:less                   ########################################### [ 95%]
 109:gzip                   ########################################### [ 96%]
 110:man                    ########################################### [ 97%]
 111:mkinitrd               ########################################### [ 98%]
 112:vixie-cron             ########################################### [ 99%]
 113:quota                  ########################################### [100%]
Done.
[root@hackkit apt]# apt-get clean
[root@hackkit apt]# apt-get update
取得:1 http://updates.vinelinux.org VineSeed/ppc release [2236B]
2236B を 1s 秒で取得しました (2047B/s)
取得:1 http://updates.vinelinux.org VineSeed/ppc/main pkglist [276kB]
取得:2 http://updates.vinelinux.org VineSeed/ppc/main release [127B]
取得:3 http://updates.vinelinux.org VineSeed/ppc/plus pkglist [366kB]
取得:4 http://updates.vinelinux.org VineSeed/ppc/plus release [131B]
取得:5 http://updates.vinelinux.org VineSeed/ppc/main srclist [133kB]
取得:6 http://updates.vinelinux.org VineSeed/ppc/plus srclist [184kB]
959kB を 8s 秒で取得しました (119kB/s)
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
[root@hackkit apt]# apt-get dist-upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージは保留されます:
  kernel-headers
アップグレード: 0 個, 新規インストール: 0 個, 削除: 0 個, 保留: 1 個
[root@hackkit apt]#

再起動

再起動を行う

******* Product Information *******
----------------------------------
Product Name: KURO-BOX(nishiki)
          VER: 1.02
         Date: 2004/9/26 18:34:25
----------------------------------
Firmware check:Warning:invalid data size
done.

>>root=/dev/hda1
Now Loading...done.
Now Booting
Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.20_kuro-box (yasunari@hackkit) (gcc version 2.95.3 20010315 (release/franzo/20010312)) #1 Sun Sep 26 18:01
:31 JST 2004
KURO-BOX (C) 2004 KUROUTO-SHIKOU.
	:
	:
Starting lpd: Warning -   changing ownership '/var/spool/lpd' to 4/7
Warning -   changing ownership '/var/spool/lpd' to 4/7
Warning -   changing ownership '/var/spool/lpd/lp' to 4/7
Warning -   changing ownership '/var/spool/lpd/lp' to 4/7
Warning - lp: cannot open lp device '/dev/usb/lp0' - No such device
[  OK  ]
Starting keytable:  [  OK  ]
Starting Postfix: newaliases: warning: My hostname hackkit is not a fully qualified name - set myhostname or mydomain in /etc/postfix/main.cf
postalias: warning: My hostname hackkit is not a fully qualified name - set myhostname or mydomain in /etc/postfix/main.cf
postmap: warning: My hostname hackkit is not a fully qualified name - set myhostname or mydomain in /etc/postfix/main.cf
postmap: warning: My hostname hackkit is not a fully qualified name - set myhostname or mydomain in /etc/postfix/main.cf
postmap: warning: My hostname hackkit is not a fully qualified name - set myhostname or mydomain in /etc/postfix/main.cf
postmap: warning: My hostname hackkit is not a fully qualified name - set myhostname or mydomain in /etc/postfix/main.cf
postmap: warning: My hostname hackkit is not a fully qualified name - set myhostname or mydomain in /etc/postfix/main.cf
[  OK  ]
Starting console mouse services: (no mouse is configured)
Starting crond: [  OK  ]
Starting atd: [  OK  ]
INIT: no more processes left in this runlevel
ここまででだんまりになってしまった。
あちゃー。

ためしに telnet してみた

Vine Linux 3.0 (VineSeed) (Valandraud)
Kernel 2.4.20_kuro-box on a ppc
login: guest
Password:
-bash-2.05b$
動いてるみたい。

よく考えたら、 ハックキットはシリアルコンソールに getty を出さないのであった。
ホッ

電源OFF

電源ボタンを長押ししてみた。
無事電源が落ちた。
Vine 3.0 の libc で ppc_uartd が動作するか心配であったが、 杞憂であったようだ。
04/10/07 追記
10/06 時点ではこのようにうまくアップグレードできましたが、 Vine Seed の性格上、いつもこのようにいくとは限りません。
ハックの記録 → Vine Seed(2)

Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市