パッケージ管理を出来るようにする

このまえtelnetの穴あけはできるようになった。その後、何度か利用しているが、アップデータそのものは安定して動作しているようだ。1行追加するだけだから、不安定な要素もない。
んで、次はパッケージ管理を出来るようにする。

# mount -o remount,rw /
# cd /
# wget http://ftp.debian.org/pool/main/d/dpkg/dpkg_1.10.28_arm.deb
# ar -xv dpkg_1.10.28_arm.deb
x - debian-binary
x - control.tar.gz
x - data.tar.gz
# tar zxvf data.tar.gz
# rm debian-binary data.tar.gz control.tar.gz
# dpkg --version
Debian GNU/Linux `dpkg' package management program version 1.10.28 (arm).
This is free software; see the GNU General Public Licence version 2 or
later for copying conditions.  There is NO warranty.
See dpkg --licence for copyright and license details.

この先へ進むと、設定ファイルなどが上書きされてしまって、HDL-GTそのものが正常に機能しなくなるので、覚悟して進むこと。

# mkdir /var/lib/dpkg
# mkdir /var/lib/dpkg/updates/
# touch /var/lib/dpkg/status
# touch /var/lib/dpkg/available
# dpkg --force-depends -i dpkg_1.10.28_arm.deb
dpkg: regarding dpkg_1.10.28_arm.deb containing dpkg, pre-dependency problem:
 dpkg pre-depends on dselect
  dselect is not installed.
dpkg: warning - ignoring pre-dependency problem !
dpkg: regarding dpkg_1.10.28_arm.deb containing dpkg, pre-dependency problem:
 dpkg pre-depends on libc6 (>= 2.3.2.ds1-21)
dpkg: warning - ignoring pre-dependency problem !
(Reading database ... 0 files and directories currently installed.)
Unpacking dpkg (from dpkg_1.10.28_arm.deb) ...
dpkg: dpkg: dependency problems, but configuring anyway as you request:
 dpkg depends on dselect; however:
  Package dselect is not installed.
 dpkg depends on libc6 (>= 2.3.2.ds1-21); however:
  Package libc6 is not installed.
Setting up dpkg (1.10.28) ...

依存関係でlibc6とdselectがないとおっしゃるが動作に必要な環境は揃っているので強行。

# wget http://ftp.debian.org/pool/main/a/apt/apt_0.5.28.6_arm.deb
# dpkg --force-depends -i apt_0.5.28.6_arm.deb
(Reading database ... 399 files and directories currently installed.)
Preparing to replace apt 0.5.28.6 (using apt_0.5.28.6_arm.deb) ...
Unpacking replacement apt ...
dpkg: apt: dependency problems, but configuring anyway as you request:
 apt depends on libc6 (>= 2.3.2.ds1-4); however:
  Package libc6 is not installed.
 apt depends on libgcc1 (>= 1:3.4.1-3); however:
  Package libgcc1 is not installed.
 apt depends on libstdc++5 (>= 1:3.3.4-1); however:
  Package libstdc++5 is not installed.
Setting up apt (0.5.28.6) ...

依存関係でlibc6, libgcc1, libstdc++5がないとおっしゃるが動作に必要な環境は揃っているので強行。

# vi /etc/apt/sources.list
	deb http://ftp.debian.org/debian/ sarge main

# apt-get update
Get:1 http://ftp.debian.org sarge/main Packages [4351kB]
Get:2 http://ftp.debian.org sarge/main Release [94B]
Fetched 4351kB in 20s (214kB/s)
Reading Package Lists... Done

あとは、すでに入っているソフトウエアのバージョンをチェックしながら、互換環境を作っていく。
ライブラリなど、うっかり上書きすると壊れるかもしれないので慎重に。
あと、パッケージ管理のデータは/var以下にインストールされるが、HDL-GTでは/varはramdisk上に作成されるので、再起動すると消えてしまう。適当に終了時に退避して起動時にリカバリをしてやるか、起動の仕組みそのものを見直してやる必要がある。