LastUpdate: Monday, 03-Feb-2003 01:54:39 JST
jornada7**(jornada720|jornada710|jornada728)にNetBSD/hpcarmをインストールしている人が増えてきているようです。
Sysinstもビルドされて、いよいよ誰にでもインストールできる環境が整ってきているみたいです。
しかし、自分は厨なため、いまだインストールできてません。NetBSD/hpcarmのMailing List (port-hpcarm)にその辺りの情報が出てるんですけど、英語なためチンプンカンプンだったりします。
逆にいうと、現時点ではMailing Listにしか情報はないようです。jornada7** ユーザなら、血沸き肉躍るネタだと思うんですがねぇ。ということで、MLのめぼしいアーティクルを訳してみるテストです。自分がインストールできたら、インストール記事をまとめようと思っています。テキトーな訳なので、何のタシにもならないかもしれません。また、内容は無保証です。自己責任で試してください。
Jason Mitchellさんが、NetBSD/hpcarmのディストリビューションをさらに進化させました。それに関する投稿がport-hpcarmにありましたので、それを訳してみました。detonさん、お知らせありがとうございます。なぜか今回は常体。
Subject: NetBSD/hpcarmのディストリビューションが完成したよ
To: None
From: Jason Mitchell
List: port-hpcarm
Date: 01/07/2003 05:18:36
hpcarmのディストリビューション作成において、いくつかの進展があったよ。
crunchgenを使い、インストールに必要なすべてのファイルをRAMディスクの中に収めたんだ。
だから、インストールには下記の三つのファイルしか必要ない:
JINSTALL.gz
hpcboot.cnf
hpcboot.exe
従って、DOSパーテーションから何かを起動する必要もなくなった。
これにともなって、インストール指南書を更新した。そして、それを後述したよ。
ここで二つほど簡単な質問がある。
■質問 1
sysinstは、以下のファイルがunpackされたことを確かめるためにチェックする:
/netbsd /etc /etc/fstab /sbin/init /bin/sh /etc/rc /etc/rc.subr /etc/rc.conf
/dev /dev/console /etc/fstab /sbin/fsck /sbin/fsck_ffs /sbin/mount
/sbin/mount_ffs /sbin/mount_nfs
もちろん、そこには/netbsd一つだけが存在しないだろう。
最初の質問は、hpcarmのディストリビューションファイルのうちの一つに、0バイトの/netbsd(大抵base.tgzだろうか?)を追加することは可能だろうか? ということ。
そうすれば、sysinstでのインストール終了処理をもう少し改良できるだろう。
■質問 2 (訳注:この項、内容に自信がないです)
自動的にDOSパーテーション用のスライスeを加えるためにsysinstのmd.cを修正した。
インストール時に必要なファイルはすべてRAMディスク上にあるので、これがよい一方、必ずしも必要なものではなくなっている。また、sysinstは、そのコードを持つべき最良の場所ではないかもしれない。
しかし、他に良い方法が聞けなければ、私はそれをまっとうに動作させるために必要な、より多くの仕事を行なわないだろう。(パーティションテーブル中の4つのスロットのうち、どれをDOSパーテーションにするか捜させることなど)
何か意見はあるかい? (訳注:原文にはないですが、そういうことでしょう)
Jason M.
■インストール指南書
---------------------------------
CFカードに5MBのDOSパーテーションを作る。そして、それがCFの最初のパーテーション(パーテーション0)であるかどうか確かめる。
ファイルをftp://www.rtgx.com/pub/hpcarm-dist/install-filesからダウンロードしてきて、さきほど作ったCFのDOSパーテーションにコピーする。
もしjornada以外にCFをフォーマットできる環境がないならば、前述の三つのファイルをDOSパーテーションのみで構成されたCFにコピーして、それをそこで実行させればいい。(訳注:意訳あり。原文参照のこと)
ただし、その場合はカーネルがロードされるとき、それらのファイルは削除されるだろう。しかし、削除されるときには、すべてはRAMに展開されている。(訳注:〜ので、インストール作業には支障がないはずだ)
WindowsCEのデータを取っておきたいならば、――ただちにそれをバックアップしておこう!! それは、次のステップで失われるだろう。
続いて、HPCboot.exeを実行する。――Bootの前に、HPCboot.exeの設定を行なおう。ディレクトリは\Storage Card(非英語圏のユーザーは、それぞれの適切なディレクトリ名に読みかえる必要があるだろう)に、ファイル名はJINSTALL.gzに設定されるべきだ。
10秒の後に、カーネルの読み込みが始まる。(ウィンドウのトップの近くの青いゲージを見てみよう)
起動の前にダイアログが表示され、「Press OK to boot」と問い合わせが入る。
これが、どのWindowsCEファイルをも保存する最後のチャンスだ。
OKを押した後10秒以内に、次なるメッセージが画面に表示されるはずだ――「Enter path to shell or press enter for /bin/sh」
そうしたら、Enterキーを押そう。
すると、Sysinstが起動する。最後までメニューに従って作業しよう。
少しばかり注意するべきことがある。下記しよう。
■注意点 1
もし、できあいのディスクレイアウトである「Standard」や「Standard with X」を選ぶ場合は、スライスeはDOSパーテーション用に自動的に確保されるだろう。(ただし、それがパーテーション0である場合のみ)
DOSパーテーションは、絶対必要というわけではない。しかし、あると新しいカーネルと差し換えることが容易になる。
■注意点 2
H/PCからカーネルを実行していれば、sysinst終了前(再起動する前)に、DOSパーテーションが作成されていることを確かめてほしい。
そして、sysinstを終了した後に、newfs_msdosを使ってDOSパーテーションをフォーマットする。(例えばnewfs_msdos /dev/wd0eなどとして)
それは、sysinstの外部で行なうことはとても難しい。
■注意点 3
sysinstはファイルシステムのsanityチェックに失敗したと苦情を言った後に、不意に終了するだろう。
しかし、これは正常な動作だ。
■注意点 4
Sysinstが終了した後、rc.confを編集する必要がある。
具体的には、以下のようにする:
chroot /mnt
vi /etc/rc.conf
rc_configured=NOをrc_configured=YESに変更する。
さらに、最初のwsconsにするために、コンソールもまた変更することができる。
/devで、以下のように作業する。
rm console
ln -s ttyE0 console.
これで、起動メッセージがjornadaの画面に表示されるようになるだろう。
Jason Mitchellさんという方がsysinstを使ったjornada7**へのNetBSD/hpcarmインストール手法を考案され、Mailing Listであるport-hpcarmにて発表されてます。ほかにNetBSD環境が必要ない、つまりWinner/マカーも安心な内容というのがウリです。それを訳しました。
NetBSD環境がない僕も早速試してみたのですが、sysinst の途中disklabelやnewfsでエラーが出て、ファイルシステムを作ることができないです(自分の凡ミスという可能性もありますが)。以下の手順でインストールできたら、ぜひとも教えてください。
Subject: NetBSD/hpcarmのディストリビューションがほとんど完成しました。
To: None
From: Jason Mitchell
List: port-hpcarm
Date: 12/18/2002 02:12:14
こんちは!
OK、Mailing Listのアーカイブを読んで、sysinstの問題が、disklabelがMUSE_MBRでコンパイルされなかったから起こっていたということに気付きました。
従って、スライスeを自動的に作成するよういくつかの変更を加えた新しいdisklabelをビルドし、次にNetBSD/hpcarmのインストールが可能になるように、 sysinst のメニューにそれが反映されるようにしました。(従って、utilsがそうである場合(?)、DOSパーテーションはdisklabel後もまだアクセスすることができるということです)
すべてはrootのパスワードとMAKEDEVを変えることでうまく動作します。
Sysinstは、ファイルシステムのsanity チェックで失敗すると苦情を言ってきます(他の問題があるかもしれませんが、/netbsdが無いためです)。
その後、sysinstは「sysinst terminated.」というメッセージとともに終了します。
しかし、システムはブートするでしょう。従って、私は、それが大した問題ではないと推測します。
それを補修するための手順が以下です。
■CFカードに15MBのDOSパーテーションを作ります。
■それが、CFの最初のパーテーション(Partition 0)であることを確認します。
■ftp://www.rtgx.com/pub/hpcarm-dist/install-filesからファイルをダウンロードしてきて、DOSパーテーションにコピーし、jornadaにCFを挿し込みます。
■もし、取っておきたいWinCEデータがあるならば、バックアップをただちに取ってください。それらは、次のステップで消えていることでしょう(訳注:CFからも、RAMからもです)。
■HPCboot.exeを起動し、directoryは"\Storage Card"に設定しましょう。ファイル名は"JINSTALL.gz"にしましょう(訳注:日本語版ではメモリカード名はいろいろ変えているでしょうからそれに合わせます。ハードリセット直後なら半角の"メモリ カード"に)。もし、それらの設定がされていなければです。
■数秒の後、"Enter path to shell or press enter for /bin/sh"と表示されたら、Enterを押します。
■#のプロンプトが表示されたら、以下のようにタイプします。
#mount /dev/wd0e /usr/bin
#TERM=vt220; export TERM
#sysinst
■すると、sysinstのメニュー画面がスタートするでしょう。促されるままに、最後までそれを進行させましょう。
■ひとたびsysinstを成功をもって完了させたら、カレントディレクトリを /mnt/dev に移動し、以下のようにタイプします。
#cd /mnt/dev
#rm console
#ln -s ttyE0 console
(このようにしておけば、次のステップでシリアルポートを使用する必要がないのです。さらに、以下のように続けます)
#reboot
■システムを再起動してWindowsCEが起動したらHPCboot.exeを再度起動し、ファイル名を"JINSTALL.gz"から"netbsd-JORNADA720"に変えてブートします。
■1分程度の後に、rc.confが未設定であるというメッセージが表示され、マルチユーザ・ブートが異常終了します。そうしたら、以下のようにタイプします。
#mount -o rw /
#mount /usr
#vi /etc/rc.conf
(ここで、viを使い、「rc_configured=NO」(もしくはそのような記述)から「rc_configured=YES」と書き換え、viを終了させます。さらに、以下のように続けます)
#exit
■システムはマルチユーザモードで起動し、ログインプロンプトが表示されるでしょう。
■もし、仮想コンソールが必要なら、/etc/ttysにttyE1-n (n<=7) を追加してください。