one floppy NetBSD/i386 system
深町 賢一
Copyright (C) 2002 Ken'ichi Fukamachi
All rights reserved.
(page 1)
one floppy system
(page 2)
one floppy system とは?
(page 3)
Example
- thin client ? (<-> terminal server)
(page 4)
何が嬉しいの? (1)
main board + floppy drive + ethernet card
中古のノート+中古のイーサカード's
(page 5)
何が嬉しいの? (2)
- せいぜい 4 M 程度の大きさにどこまで OS が入るか:-)
(page 6)
嬉しいか???
(page 7)
参考: 他の OS 事情
http://www.fdlinux.com/
http://www.floppyfw.org/
http://www.linuxrouter.org/
http://mulinux.nevalabs.org/
?
http://people.freebsd.org/~picobsd/
売りものだと GNAT BOX
その他もろもろ…
(page 8)
fdgw
(page 9)
fdgw (1)
/usr/pkgsrc/sysutils/fdgw/
(page 10)
fdgw (2)
- 任意のバージョンのソースから作成可能なことを目的に
- NetBSD 1.5 stable は少なくとも OK
- current で作れるかどうはまだ不明
- とりあえず i386 のみサポート
- i386 以外で floppy だけのシステムを使うか??
VAX とか:)
- ベンチマーク
- PC 110 でも 1 から 2 M (3 M 説もあり) bps はでる
(page 11)
fdgw (3): supported network interfaces
できるだけ多くのネットワークカードをサポートしたいですね
- ISA
- ate cs ec eg el ep ef ai fmv ix iy lc nele ne sm we
- PCI
- de ep ex epic fxp le ne rtk sip tl tlp vr
(page 12)
fdgw (4): other kernel functions
- BPF (Berkeley Packet Filter)
(page 13)
fdgw (5): optional softwares
(page 14)
fdgw installation
- カスタマイズ
- フロッピーを mount して書き換える
- ソースを変更して make する
- まぁ OS のカスタマイズと同様( 1.4 風味)
(page 15)
one floppy system のしくみ
(page 16)
基本的な仕組み
- インストールフロッピィの作り方と一緒
- memory disk + crunch binary
- ブート過程の最後が異なる
- crunch binary で一つのバイナリにする
- 例えば /bin/ls は static
- 本体は 20 K くらい
- 250 k くらいが library だが…
(page 17)
カーネル図解
(page 18)
ls の例
% ls -l /bin/ls
-r-xr-xr-x 1 root wheel 266212 Jun 18 2001 /bin/ls
% ls -l ls.cro
-rw-r--r-- 1 fukachan wheel 20890 Jan 10 21:08 ls.cro
% ls -l ls
-rwxr-xr-x 1 fukachan wheel 20589 Jan 10 21:57 ls
(page 19)
crunchide
ls.cro
00000304 T _$$hide$$ ls.cro ls_main
00001188 T _$$hide$$ ls.cro main
...
0000095c t _$$hide$$ ls.cro traverse
00002594 T _$$hide$$ ls.cro usage
...
00000000 T _crunched_ls_stub
(page 20)
crunchgen
ramdiskbin.c
ls なら _crunched_ls_stub() を実行する。
struct stub entry_points[] = {
{ "cat", _crunched_cat_stub },
...
{ "ls", _crunched_ls_stub },
(page 21)
議論
- fd 複数枚ってのもいただけないような気がするが?
(page 22)
資料
今日の資料は
http://www.fml.org/home/fukachan/lecture_notes/
に置いておきます。
(page 23)