ハックキット 2.0 もどき


いろいろ実験するには、 Vine 3.1 ベースの / からのアーカイブを作っておいたほうが便利なので、 ハックキット 2.0 もどきを作る。

ハックキット 2.0 もどきのツリー作成

ハックキット 1.2 のツリーのコピー

[root@giga HackKit-1.2]# tar cf - root/|(cd ../HackKit-2.0/; tar xvf -)

ハックキット 1.2 のツリーに chroot

[root@giga HackKit-1.2]# chroot /home/linkstation/HackKit-2.0/root
[root@giga /]#
あとは、仮想 / にいるかどうかが違うだけで、 Vine 3.1 へのアップデートと同じ。 詳細略。

2.6r4 を最新に更新する

2.6.99 へ upgrade する

rpm DB の再作成

apt の設定

/etc/apt/sources.list を修正し、パッケージリストをアップデートする

パッケージの取得

apt-get -d dist-upgrade を実行し、 2.6 から 3.1 にアップデートが必要なパッケージを取得する。

gd パッケージの取得

nss_db-compat パッケージの削除

glibc パッケージの削除

/var/cache/apt/archives/ に取得されたパッケージのうち、 glibc 関連のパッケージを削除する

glibc パッケージを置く

コンパイルした glibc 関連のパッケージを(ジェイルの外から)置く

一気にアップデート

/var/cache/apt/archives にVine 3.1 のパッケージが集まったので アップデートを実行する

/etc/apt/source.list の修正

/etc/apt/source.list.rpmnew に保存された最新の source.list を /etc/apt/source.list にコピーする

Hold の設定

glibc が上書きされないよう /etc/apt/apt.conf に Hold を指定する。

最新へアップデート

apt-get update, upgrade を実行する

設定ファイルの見直し

hackkit-release-2.0alpha050312-0.noarch.rpm をインストールする

アーカイブを作る

[root@giga HackKit-2.0]# cd root
[root@giga root]# tar zcvf ../cd-r/hackkit-2.0alpha050312.tar.gz .

インストールしてみる

玄箱/HG を EM モードで起動するように設定し、
玄箱/HG に M1623TAU(1.7GB) を接続、
玄箱/HG を起動。
以下、 玄箱シリーズへのインストールに従ってインストールする。

(3) 玄箱に telnet

Kuroutoshikou KURO-BOX/HG (IESHIGE)
Linux/ppc 2.4.17_mvl21

KURO-BOX-EM login: root
Password:


BusyBox v0.60.5 (2003.07.30-12:03+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

#

(4) パーティションの作成

# mfdisk -c /dev/hda

Command (m for help): p

Disk /dev/hda: 16 heads, 63 sectors, 3298 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1      2081   1048792+  83  Linux
/dev/hda2          2082      2342    131544   82  Linux swap
/dev/hda3          2343      3298    481824   83  Linux

Command (m for help): q

#
以前、ハックキットをインストールしていたので、 そのままのパーティションが残っていた。

(5) フォーマット

# mke2fs -j /dev/hda1
mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09
warning: 54 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131328 inodes, 262144 blocks
13109 blocks (5.00%) reserved for the super user
First data block=0
8 block groups
32768 blocks per group, 32768 fragments per group
16416 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

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

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
# mke2fs -j /dev/hda3
mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
120832 inodes, 481824 blocks
24091 blocks (5.00%) reserved for the super user
First data block=1
59 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

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

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
# mkswap /dev/hda2
Setting up swapspace version 1, size = 134696960 bytes

(6) マウント

# mkdir /tmp/root
# mount /dev/hda1 /tmp/root
# mkdir /tmp/root/mnt
# mount /dev/hda3 /tmp/root/mnt
# mkdir /tmp/root/tmp
# chmod 1777 /tmp/root/tmp

(7) ファイル転送

HGLAN から転送する
[root@giga /tmp]# cd tmp
[root@giga tmp]# ls
fromimage  hackkit-2.0alpha050312.tar.gz  image.zip
[root@giga tmp]# ftp hage.yamasita.jp
Connected to hage.yamasita.jp.
220 KURO-BOX-EM FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) ready.
Name (hage.yamasita.jp:yasunari): root
331 Password required for root.
Password:
230- Linux 2.4.17 ppc unknown
230 User root logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bin
200 Type set to I.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> prompt
Interactive mode off.
ftp> cd /tmp/root/tmp
250 CWD command successful.
ftp> !ls
fromimage  hackkit-2.0alpha050312.tar.gz  image.zip
ftp> mput *
local: fromimage remote: fromimage
227 Entering Passive Mode (192,168,1,35,4,0)
150 Opening BINARY mode data connection for 'fromimage'.
###################
226 Transfer complete.
20462 bytes sent in 0.0577 secs (3.5e+02 Kbytes/sec)
local: hackkit-2.0alpha050312.tar.gz remote: hackkit-2.0alpha050312.tar.gz
227 Entering Passive Mode (192,168,1,35,4,1)
150 Opening BINARY mode data connection for 'hackkit-2.0alpha050312.tar.gz'.
####################################################
	:
	:
####################################################
226 Transfer complete.
27787253 bytes sent in 9.52 secs (2.8e+03 Kbytes/sec)
ftp> bye
221 Goodbye.
[root@giga tmp]#

(8) ハックキットの展開

# cd /tmp/root
# tar zxvpf /tmp/root/tmp/hackkit-2.0alpha050312.tar.gz
./
./bin/
./bin/bash
	:

./www/
./www/script/
./www/script/melsub_shutdown.sh
#

(9) image.zip の展開

# cd /tmp/root
# chmod +x tmp/fromimage
# tmp/fromimage tmp/image.zip
Archive:  tmp/image.zip
  inflating: tmpimage.tgz
./etc/init.d/ppc_uartd
./etc/melco/timer_sleep
./lib/modules/
./lib/modules/2.4.17_mvl21/
./lib/modules/2.4.17_mvl21/kernel/
	:
	:
./lib/modules/2.4.17_mvl21/pcmcia/
./sbin/start-stop-daemon
./usr/sbin/ppc_uartd
#

(10) IP アドレス、ホスト名変更

パス

(11) ごみ掃除

# cd /tmp/root/tmp
# ls
fromimage                      hackkit-2.0alpha050312.tar.gz  image.zip
# rm fromimage hackkit-2.0alpha050312.tar.gz image.zip
#

(12) fl3 の修正

# echo -n 'OKOK' > /dev/fl3
#

(13) 電源オフ

できたかな?

玄箱/HG の電源ボタンを押し起動、 POWER LED が点灯したところで telnet してみる

Vine Linux 3.1 (Pichon Lalande)
Kernel 2.4.17_mvl21 on a ppc
login: guest
Password:
-bash-2.05b$
できあがり。


USB メモリ2つ
ハックの記録
LinkStation/玄箱 をハックしよう

ハックキット 2.0 もどき(2)最初の設定

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