ae4bdfbd36
(following entries are not updated by this commit: crunchgen.1 groff.1 grohtml.1 grolj4.1 grops.1 grotty.1 pic.1 troff.1 groff_font.5 magic.5 groff_mm.7 re_format.7 disklabel.8)
340 lines
8.5 KiB
Groff
340 lines
8.5 KiB
Groff
.\" -*- nroff-fill -*-
|
|
.\" %FreeBSD: src/share/man/man8/picobsd.8,v 1.1.2.3 2000/12/12 10:00:56 ru Exp %
|
|
.Dd December 23, 1999
|
|
.\" jpman %Id: picobsd.8,v 1.3 2000/08/10 13:49:12 horikawa Stab %
|
|
.Os FreeBSD
|
|
.Dt PicoBSD 8
|
|
.Sh 名称
|
|
.Nm PicoBSD
|
|
.Nd フロッピディスクベースの FreeBSD システム
|
|
.Sh 書式
|
|
.Nm
|
|
は、1 枚ないし数枚のフロッピディスク上に実装した最小限の
|
|
.Fx
|
|
です。
|
|
フロッピディスクはロードする際にのみ必要です。
|
|
システムは RAMDISK から立ち上り、それゆえフロッピディスクの速度限界に
|
|
左右されません。
|
|
.Sh 解説
|
|
1 枚目の
|
|
.Nm
|
|
フロッピ (これが唯一必須のものです) には、
|
|
圧縮したカーネルと圧縮した MFS ルートファイルシステム、
|
|
それに
|
|
.Pa /etc
|
|
ディレクトリのいくつかのファイルが含まれます。
|
|
システムはこのカーネルを通常どおりロードし、
|
|
ファイルシステムの圧縮を解凍してルートとしてマウントします。
|
|
続いてフロッピの
|
|
.Pa /etc
|
|
ディレクトリ内のファイルを MFS の
|
|
.Pa /etc
|
|
ディレクトリにコピーし、特別なバージョンの
|
|
.Pa /etc/rc
|
|
を実行します。
|
|
標準版の
|
|
.Pa /etc/rc
|
|
は追加フロッピを求めるプロンプトを出し、
|
|
それを MFS ファイルシステムに読み込みます。
|
|
.Sh 環境
|
|
サイズ制限が極めて厳しいため、
|
|
.Nm
|
|
の環境は通常の
|
|
.Fx
|
|
といくつかの点で異なっています:
|
|
.Bl -bullet
|
|
.It
|
|
ダイナミックライブラリはなく、
|
|
.Pa /usr/lib
|
|
ディレクトリもありません。
|
|
そのため、スタティックリンクした実行体のみ実行可能です。
|
|
.It
|
|
実行体のサイズを減らすため、特定のフロッピ内のすべての実行体は、
|
|
.Xr crunchgen 1
|
|
を利用して単一の実行体にまとめられています。
|
|
.It
|
|
プログラムによっては最小限のバージョンが提供されています。
|
|
.Nm ns
|
|
は
|
|
.Nm netstat
|
|
の機能限定版であり、
|
|
.Nm vm
|
|
は
|
|
.Nm vmstat
|
|
の機能限定版です。
|
|
.El
|
|
.Sh PicoBSD の構築
|
|
.Nm
|
|
のソースはディレクトリ
|
|
.Pa /usr/src/release/picobsd
|
|
の下にあります。
|
|
以下では、相対パス名はすべてこのディレクトリからの相対位置です。
|
|
.Nm
|
|
の構築過程は、できるだけ多くのものをフロッピに詰め込めるよう、
|
|
柔軟に設計されています。
|
|
特に、以下のことが可能です:
|
|
.Bl -bullet
|
|
.It
|
|
旧式の構築法では、
|
|
.Pa build/build
|
|
と呼ばれるスクリプトを用います。
|
|
このスクリプトを使うには、ディレクトリ
|
|
.Pa build/
|
|
に移って
|
|
.Cm build
|
|
を実行します。
|
|
.Cm build
|
|
は対話的なスクリプトで、いくつかパラメータを尋ねた後、
|
|
適切な単一フロッピ版を構築します。
|
|
5 種類のフロッピが想定されています:
|
|
.Bl -hang
|
|
.It dial
|
|
はダイヤルアウト (ppp) ネットワーキングに適したコンフィギュレーションです。
|
|
.It install
|
|
はソフトウェアインストールに適したコンフィギュレーションです。
|
|
.It isp
|
|
はダイヤルイン (ppp) ネットワーキングに適したコンフィギュレーションです。
|
|
.It net
|
|
は一般的なネットワーキングに適したコンフィギュレーションです。
|
|
.It router
|
|
はルータとして使う場合に適したコンフィギュレーションです。
|
|
この特別なコンフィギュレーションは、最小限のハードウェアで動作することを
|
|
目標としています。
|
|
.El
|
|
.It
|
|
新しい構築法では
|
|
.Cm make
|
|
を使用します。
|
|
ファイル
|
|
.Pa Makefile
|
|
によって
|
|
.Pa custom
|
|
ディレクトリ内で構築が行われます。
|
|
.El
|
|
.Pp
|
|
構築過程には次のステップがあります。
|
|
その中の例ではサブディレクトリ
|
|
.Pa custom
|
|
が用いられていますが、要点はサブディレクトリ
|
|
.Pa dial ,
|
|
.Pa install ,
|
|
.Pa isp ,
|
|
.Pa net ,
|
|
.Pa router
|
|
にもあてはまります。
|
|
.Bl -hang
|
|
.It Em カーネルの構築
|
|
各ディレクトリには
|
|
.Pa PICOBSD
|
|
で始まる名前のコンフィギュレーションファイルがあります。
|
|
カスタム
|
|
.Nm
|
|
を構築する際は、このファイルを注意してチェックすることが重要です。
|
|
最も小さなカーネルは圧縮後で約 600 kB の大きさを占めますが、
|
|
ちょっとしたことで 900 kB 程度まで大きくなります。
|
|
900 kB のカーネルで
|
|
1 枚目の
|
|
.Nm
|
|
フロッピを構築することは恐らく不可能です。
|
|
.It Em MFS イメージの構築
|
|
1 枚目のフロッピの MFS イメージは
|
|
.Nm vnode
|
|
ファイルシステムとして作られます。このファイルシステムは後に
|
|
.Pa /dev/vn0
|
|
として
|
|
.Pa custom/mmnt
|
|
にマウントされます。
|
|
.It Em crunch 版実行体の作成
|
|
1 枚目フロッピの実行体は
|
|
.Pa crunch/crunch1/
|
|
ディレクトリ内で構築されます。
|
|
この実行体の中身はファイル
|
|
.Pa crunch/crunch1/crunch.conf
|
|
で決定されます。
|
|
.It Em フロッピイメージの構築
|
|
後に 1 枚目フロッピとなる 2 つめのファイルシステムイメージが構築され、
|
|
.Pa /dev/vn1
|
|
として
|
|
.Pa custom/fmnt
|
|
にマウントされます。
|
|
その中には、圧縮したカーネル、圧縮した MFS ファイルシステム、
|
|
ツリー
|
|
.Pa floppy.tree/
|
|
、及びもし存在すれば
|
|
.Pa floppy.tree/custom/
|
|
の内容が含まれます。
|
|
この 2 段階の方法により、
|
|
.Pa floppy.tree/custom/
|
|
中の特別なファイルによって
|
|
.Pa floppy.tree/
|
|
にあるファイルを上書きすることができます。
|
|
.It Em 2 枚目フロッピのイメージの作成
|
|
最後に、2 枚目のフロッピ用イメージを構築します。
|
|
このフロッピにはただ 1 つのファイルしかありません。
|
|
そのファイルはブート時に MFS 相対ディレクトリの
|
|
.Pa /bin
|
|
にコピーされます。
|
|
その中身は
|
|
.Pa crunch/crunch2/
|
|
ディレクトリで構築されます。
|
|
また、この実行体の内容はファイル
|
|
.Pa crunch/crunch2/crunch.conf
|
|
で決定されます。
|
|
.It Em フロッピへのデータのコピー
|
|
以上のステップは
|
|
.Nm make all
|
|
ステップで実行されます。
|
|
.Nm make all
|
|
はデータをフロッピディスクにコピーしません。代わって、
|
|
.Nm make floppy
|
|
を使って 1 枚目フロッピを、
|
|
.Nm make floppy2
|
|
を使って 2 枚目フロッピを作成します。
|
|
.It Em 追加フロッピの作成
|
|
理論的には、多数のフロッピを MFS に読み込むことが可能です。
|
|
追加の各フロッピは (2 枚目もそうですが)、
|
|
.Pa /bin
|
|
相対のファイルを含む、gzip した tar ファイルです。
|
|
この形式で、任意のスタティックリンクプログラムをフロッピに入れることができ、
|
|
スタートアップルーチンは自動的にそれを読み込みます。
|
|
ダイナミックライブラリは存在しないことにくれぐれもご注意。
|
|
プログラムはスタティックでなければなりません。
|
|
.El
|
|
.\" .Sh FILES
|
|
.\" .Sh EXAMPLES
|
|
.\" This next request is for sections 1, 6, 7, 8 & 9 only
|
|
.\" (command return values (to shell) and
|
|
.\" fprintf/stderr type diagnostics)
|
|
.\" .Sh DIAGNOSTICS
|
|
.\" The next request is for sections 2, 3 and 9 error
|
|
.\" and signal handling only.
|
|
.\" .Sh ERRORS
|
|
.Sh PicoBSD のブート
|
|
.Nm
|
|
をブートするには、フロッピを挿入してマシンをリセットします。
|
|
ブート手順は標準の
|
|
.Fx
|
|
ブートと似ていますが、
|
|
非常にゆっくりと進みます。
|
|
POST (BIOS の Power On Self Test) が終ってから
|
|
2 枚目フロッピを求めるプロンプトが出るまで 3 分ほどかかります。
|
|
.Pp
|
|
追加フロッピを求めるプロンプトが出たら、
|
|
そのフロッピをドライブに挿入してから
|
|
.Em y
|
|
と答えます。これ以上フロッピがない場合は
|
|
.Em n
|
|
を入力します。
|
|
このバージョンの
|
|
.Nm
|
|
には root パスワードがありません。
|
|
もし一層のセキュリティを求めるなら、自分の
|
|
.Pa /etc/master.passwd
|
|
と、もし必要なら
|
|
.Pa /etc/group
|
|
も、1 枚目フロッピにコピーすることができます。
|
|
必要なファイルはこの 2 つだけです。
|
|
ブートプロセスは自動的に次のファイル
|
|
.Pa /etc/passwd ,
|
|
.Pa /etc/spwd ,
|
|
.Pa /etc/pwd.db
|
|
を生成します。
|
|
.Ss スワップ空間
|
|
ブート後は、
|
|
.Nm
|
|
は完全に MFS ファイルシステム上で走ります。
|
|
もはやフロッピは不要ですし、
|
|
たとえ
|
|
.Nm
|
|
カーネルにハードディスクドライバが含まれていても、
|
|
.Nm
|
|
はハードディスクにアクセスしません。
|
|
特に、スワップ空間もありませんので、
|
|
メモリ不足の際には予期できない事態が発生し得ます。
|
|
.Pp
|
|
もしディスクドライバがあって、
|
|
スワップパーティションを含むディスクがあり、
|
|
しかもそのスワップパーティションに
|
|
保存しておきたいダンプが含まれていないなら、
|
|
そのスワップを
|
|
.Nm PicoBSD
|
|
で使用することも可能です。
|
|
.Xr swapon 8
|
|
コマンドを使って下さい。
|
|
.Sh クラッシュしたシステムの回復
|
|
.Em カスタム
|
|
.Nm
|
|
コンフィギュレーションには
|
|
.Em fixit
|
|
フロッピにあるすべてのプログラムが含まれますので、
|
|
fixit フロッピの代わりにカスタム
|
|
.Nm
|
|
を使用することができます。
|
|
.Sh 関連項目
|
|
.Xr crunchgen 1 ,
|
|
.Xr swapon 8 ,
|
|
.Xr vnconfig 8
|
|
.\" .Sh STANDARDS
|
|
.\" .Sh HISTORY
|
|
.Sh 作者
|
|
.An -nosplit
|
|
.An Andrzej Bialecki Aq abial@FreeBSD.org
|
|
です。
|
|
マニュアルページと Makefile の作成は
|
|
.An Greg Lehey Aq grog@lemis.com
|
|
が行いました。
|
|
.Sh バグ
|
|
.Nm
|
|
を構築する際、
|
|
構築作業を行うシステムのカーネルには
|
|
.Nm vn
|
|
ドライバがインストールされていなければなりません。
|
|
.Pp
|
|
構築の過程は
|
|
.Nm root
|
|
で実行しなければなりません。
|
|
.Pp
|
|
構築の過程では未使用 vnode デバイスの検索は行いません。常に
|
|
.Pa /dev/vn0
|
|
と
|
|
.Pa /dev/vn1
|
|
を使用します。
|
|
もしこれらのファイルが他のプログラムで使用中なら、
|
|
予測できない結果になるかもしれません。
|
|
.Pp
|
|
.Nm
|
|
の構築には、依然、中身の見えにくいところがあります。
|
|
最大の問題は、
|
|
どういうふうにすればフロッピにぴったり詰め込むことができるかを
|
|
判断することです。
|
|
現実的な方法は試行錯誤しかありません。
|
|
.Pp
|
|
オリジナル版の
|
|
.Nm
|
|
は 1 枚のフロッピにちょうと収まります。
|
|
.Fx 4.0
|
|
以降、カーネルが大変大きくなったため、
|
|
ほとんどのコンフィギュレーションでは 2 枚目フロッピがなければ
|
|
生産的な作業ができなくなっています。
|
|
しかし、他のプログラムと一緒に 1 枚のフロッピにちょうど収まる
|
|
最小限のカーネルを作成することは可能なはずです。
|
|
.Pp
|
|
.Xr crunchgen 1
|
|
を使って実行体を作成するアプローチにより、
|
|
異なるフロッピ間にライブラリの重複が相当発生することになります。
|
|
.Pp
|
|
現時点 (1999 年 12 月) では、
|
|
旧式の構築法は
|
|
.Fx Ns -CURRENT
|
|
では使えません。
|
|
3.x カーネルに比べ 4.x カーネルのサイズが非常に大きい点からみて、
|
|
この方式が使えるようになるかどうか定かではありません。
|
|
.Pp
|
|
.Nm
|
|
は 1999 年に少しだめになり、
|
|
現在、ほとんどの旧式コンフィギュレーションでは構築は行えません。
|
|
.Pp
|
|
.Nm
|
|
上で
|
|
.Nm Emacs
|
|
を動作させる方法はなさそうです。
|