携帯情報端末とNetBSD オープンソースを中心とする 分散協調

NetBSD
株式会社 創夢/The NetBSD Project
蛯原 純
[email protected]
[email protected]
NetBSD
4.3/4.4BSD&386BSDベース
1993年4月にNetBSD0.8をリリース
55種類のハードウェアを単一ソースでサポート
ハードウェア依存/非依存部分を分離
最新のネットワークプロトコルをサポート
IPv6 マルチキャスト標準サポート

商用ルータ・プリンタ・家電製品に組み込まれる例も
http://www.netbsd.org/
2015/9/30
Jun Ebihara
2
2015/9/30
Jun Ebihara
3
BSDライセンスの構造
著作権表示
ソースコードの再配布においては、上記の著作権表示、この条
件の列挙、 下記の注意書きを残すこと。
ソースコードの再配布においては、上記の著作権表示、この条
件の列挙、 下記の注意書きを残すこと。
(このソフトウェアの特徴や使用について述べている全ての宣伝
物には以下の 謝辞を記すこと: この製品は、カリフォルニア大
学バークレー校およびその協力者に よって開発されたソフト
ウェアを含んでいます。 )
事前の文書による許可なしに、当大学の名前やその協力者の
名前を、 このソフトウェアから派生した製品の促進に使用しな
いこと。
注意書き

このソフトウェアに関して問題が生じても、作者は責任を負わない
2015/9/30
Jun Ebihara
4
BSDライセンスとNetBSD
転用して販売できる
ソースの公開義務なし
http://www.jp.netbsd.org/ja/Goals/redistribution.html
ライセンス条項が異なるソースを分離する

GNUは/usr/src/gnu以下に
管理元が異なるソースを分離する

/usr/src/dist
 Bind,bzip2,cdk,dhcp,file,ipf,nawk

/usr/src/crypt/dist
 Bind,heimdal,kame,krb4,openssl,ssh
2015/9/30
Jun Ebihara
5
単一ソースコード
単一ソースツリーで



CPUアーキテクチャ 17種類
55種類のプラットホームで動く
16種類のバスサポート
 ATA,CardBus,EISA,PCI,PCMCIA,VME
新しく移植するときには

まず、機種に依存しない部品を組み合わせる
 CPU..バス..

機種依存部分だけを追加する
2015/9/30
Jun Ebihara
6
サポートCPUアーキテクチャ
alpha
arm
hppa
i386
m68010
m68k
mipseb
mipsel
ns32k
sh3eb
sh3el
sh5
Sparc
sparc64
vax
x86_64
powerpc
17種類
2015/9/30
Jun Ebihara
7
Alpha
alpha
2015/9/30
Jun Ebihara
8
arm
acorn26
acorn32
cats
evbarm
hpcarm
Netwinder
shark
2015/9/30
Jun Ebihara
9
hppa
hp700
2015/9/30
Jun Ebihara
10
i386
i386
Pc98
IPv6 Hi-spec Routers
(FM Towns・FMR?)
2015/9/30
Jun Ebihara
11
m68010
sun2
2015/9/30
Jun Ebihara
12
m68k
Amiga
Atari
Cesfic
Hp300
Luna68k
Mac68k
Mvme68k
News68k
next68k
2015/9/30
Sun3
X68k
Jun Ebihara
13
mips
Algor
Arc
Cobalt
evbmips
hpcmips
mipsco
newsmips
DEC Pmax
sbmips
Sgimips
Playstation2
2015/9/30
Jun Ebihara
14
ns32k
pc532
2015/9/30
Jun Ebihara
15
powerpc
OpenBlocks
Amigappc
Bebox
evbppc
Macppc
mvmeppc
Ofppc
pmppc
Prep
Sandpoint
2015/9/30
Jun Ebihara
16
sh3
Dreamcast
Evbsh3
Hpcsh
Mmeye
IIJ SEIL
Home Routers
2015/9/30
Jun Ebihara
17
sparc
sparc
sparc64
2015/9/30
Jun Ebihara
18
sh5
evbsh5
2015/9/30
Jun Ebihara
19
vax
vax
2015/9/30
Jun Ebihara
20
x86_64
AMD64
2015/9/30
Jun Ebihara
21
pdp10
pdp10
2015/9/30
Jun Ebihara
22
4.4BSD由来の機能
Nullfs – loopbackマウント
Unionfs – ファイルシステムを重ねる
Lfs – 高速書き込み性能
NFS – NFSv3 NFSoverTCP
IP virtual hosting
2015/9/30
Jun Ebihara
24
NetBSD独自の改良
NFS – WebNFS
NFS over IPv6
UVM virtual memory system
UBC unified buffer cache system
Cardbus
Wscons
USB ver2.0
64bit clean
Wireless networking
http://www.netbsd.org/Misc/fetures.html
2015/9/30
Jun Ebihara
25
アーキテクチャに共通する部分
Package system
バス USB、CardBus
デバイスドライバ
オーディオフレームワーク
OSエミュレーション
2015/9/30
Jun Ebihara
26
バスサポート
ATA
CardBus
EISA
I2C
ISA
MII
Plug&Play
MCA
PCI
Podule
bus
Open
Firmware
SBUS
PCMCIA
SCSI and TURBO
ATAPI
channel
2015/9/30
USB
Jun Ebihara
VME
27
仮想デバイス
Concatenated disk driver
Memory disk driver
RAIDframe disk
Random device
Vnode disk
2015/9/30
Jun Ebihara
28
物理デバイス
オーディオデバイス
WSCONS - ワークステーションコンソール



2015/9/30
wsdisplay
wskbd
wsmouse
Jun Ebihara
29
NetBSD:カーネル
機種に依存する部分

i386/MIPS/SH/68000…
デバイスに依存する部分

PCIバス/ISAバス/PCMCIA…
その他

2015/9/30
メモリ管理
Jun Ebihara
30
新しいマシンをサポートするには
搭載CPUがサポートされているか?
搭載バスがサポートされているか?
搭載デバイスがサポートされているか?
共有部分はすべてで共有できる
サポートされていない部分だけを作り
CVSツリーに追加する
2015/9/30
Jun Ebihara
31
エミュレーション
Linux
SunOS4.X
Tru64/OSF1
FreeBSD
Solaris2
Ultrix
BSD/OS
SVR4
WINE (VM86)
Darwin
IRIX
HP-UX
SCO/iBCS2
Openserver
PECOFF
Windows2000
2015/9/30
Jun Ebihara
32
Package - /usr/pkgsrc
41種類のジャンル
4162種類のソフトウェア
Make installでソフトウェアのインストール
各CPUアーキテクチャ間で共通
Mipsel –mips endian little




Arc – MIPSで動くNTマシン
Cobalt – Cobalt Qube1/2
Pmax – DEC station
Hpcmips – MIPS搭載WinCE
Zoularis –NetBSD libs on Solaris&Linux
2015/9/30
Jun Ebihara
33
Packagesジャンル一覧
Archivers
Cad
Corba
Doc
Fonts
Ham
Math
Net
Print
Textproc
x11
2015/9/30
Audio
Chat
Cross
Editors
Games
Imputmethod
Mbone
News
Security
Time
Biology
Comms
Converters
Databases Devel
Emulators Finance
Geography Graphics
Lang
mail
Meta-pkgs Misc
Parallel
Pkgtools
Shells
Sysutils
Wm
www
Benchmarks
Jun Ebihara
34
Package – NetBSD以外での利用
Darwin 6.3/powerpc OpenBSD 3.2/i386
Debian Linux/i386
Slackware 8.1/i386
FreeBSD 3.5/i386
Solaris 9/sparc
FreeBSD 5.0/i386
Solaris 9/i386
IRIX 6.5/mips
2015/9/30
Jun Ebihara
35
リリース
メジャーリリース NetBSD 1.6

0.8-1.0-1.4-1.5-1.6-(2.0)
パッチリリース - NetBSD 1.6.2(もうすぐ)

1.4.1-1.4.2-1.4.3,1.5.1-1.5.2…,1.6.1
開発版



2015/9/30
NetBSD 1.6ABCDEFG…
NetBSD-current
1.6ZC
/usr/src/sys/conf/osrelease.sh参照
Jun Ebihara
36
NetBSD開発ロードマップ
1993/04
1993/08
1994/10
1995/11
1996/10
1998/01
1999/05
2000/12
2002/9
2004/?
2015/9/30
NetBSD 0.8
NetBSD 0.9
NetBSD 1.0
NetBSD 1.1
NetBSD 1.2
NetBSD 1.3
NetBSD 1.4
NetBSD 1.5
NetBSD 1.6
NetBSD 2.0?
Jun Ebihara
1Port
3Port
9Port
12Port
15Port
16Port
20Port
32Port
49Port
55Port
1CPU
2CPU
6CPU
6CPU
8CPU
8CPU
8CPU
10CPU
13CPU
17CPU37
2015/9/30
Jun Ebihara
38
組織構成
Core 5人 テクニカルマネージメント
Port maintainer 43人

各実装に関する担当者
Developer

CVS/WWW/FTP等開発資産に書き込みできる
Core+Port maintainer+Developer=256人
NetBSD Foundation,Inc




2015/9/30
デラウェア州の法人組織
サーバマシンを所有
お金と寄付を管理
NetBSDの版権を管理
Jun Ebihara
39
developer
直接ソースを変更できる
CVS/FTP/WWWサーバの内容
世界中で256人
GNATSでバグ管理
Cvsweb.netbsd.org
日本人47人
2015/9/30
Jun Ebihara
40
NetBSD開発者世界分布図
NetBSD
2015/9/30
Jun Ebihara
41
NetBSD開発者分布図
2015/9/30
Jun Ebihara
42
Port-maintainer
移植責任者
55種類のうち15種類は日本人が担当
2015/9/30
Jun Ebihara
43
日本人担当ハードウェア15/55
acorn26 acorn32
amigappc arc
cesfic
cobalt
evbsh3 hp300
i386
ibmnws
mipsco mmeye
algor
atari
netwinder
news68k
newsmips next68k
ofppc
pc532
playstation2
pmax
sgimips
sun3
prep
sparc
walnut
evbsh5
sandpoint
sbmips
sparc64 sun2
x68k
amd64
2015/9/30
alpha
bebox
dreamcast
evbarm
hpcarm hpcmips
luna68k mac68k
amiga
cats
evbmips
hpcsh
macppc
mvme68k mvmeppc mvme88k
openblocks405
Jun Ebihara
pmppc
shark
vax
evbppc
44
NetBSD動作マシン@日本
DEC 3000/300 Alpha
Sun3/60
DEC station 3100
SONY NEWS3470
Apple SE/30
DoCoMo シグマリオン
Apple iMac
SONY VAIOシリーズ
Apple G4Cube
DreamCast
Apple PowerBook Ti
CobaltQube
Sun SPARC Classic
Playstation2
2015/9/30
Jun Ebihara
45
日本からの貢献
国産ハードウェアサポート
ゲーム機・携帯情報端末サポート
IPv6/ IPSEC
Pkgsrc
CardBusサポート
MIPS/SH/m68K
NetBSD書籍が世界一多く出版される
developer40人以上
2015/9/30
Jun Ebihara
46
WindowsCE向けNetBSD
MIPS系CPU搭載


NEC MobileGear
SHARP Tellios
SH系CPU搭載


HP ジョルナダシリーズ
SEGA DreamCast
StrongARM系CPU搭載


2015/9/30
Compaq iPAQ
HP ジョルナダシリーズ
Jun Ebihara
47
ブートまでの流れ
コンパクトフラッシュを2分割


WindowsCEの領域
NetBSD/hpcmipsの領域
WindowsCE上のブートローダからブート


メモリ空間を取れるだけ確保する
カーネルファイルをメモリ空間に送り込んで
NetBSDの世界へ飛び込んでゆく
2015/9/30
Jun Ebihara
48
NetBSD/hpcmips最近の話題
Sigmarion IIより新しいマシンは?



もっと速いCPU
もっと低消費電力
致命的なバグの減ったCPU
SigmarionIIのいいところ




液晶きれい
FOMAコネクタ 実はUSB
キーボード打ちやすい
USBメモリスティック内蔵攻撃
悪いところ


初期ロットCPUの致命的なバグ
仕様が完全に公開されていない
2015/9/30
Jun Ebihara
49
NetBSD/hpcsh
SH搭載WindowsCEマシン向け
HP Jornada680 690 620LX
日立ペルソナ HPW50 230
(NetBSD/sh3+NetBSD/hpcmips)/2+α
従来の開発ノウハウとソフトウェア資産
NetBSD/hpcmipsとのソース共有化
NetBSD/Dreamcast互換
2015/9/30
Jun Ebihara
50
NetBSD/hpcarm
StrongArm搭載WindowsCEマシン向け
SA-1100/1110対応
HP Jornada720・820
Compaq iPAQ
hpcファミリー中最速
XSCALEへの移行が水面下で進む

2015/9/30
SONY clie・ネットワークプロセッサ対応
Jun Ebihara
51
クロス開発環境
NetBSD/i386でクロスコンパイル


build.sh –m hpcmips –D /hpcmips-root
Pkgsrc/cross以下に各種パッケージ
Windows環境でクロスコンパイル

Cygwinなど
Linux上でクロスコンパイル
FreeBSD上でクロスコンパイル
2015/9/30
Jun Ebihara
52
バイナリ互換性を利用する
Cobalt Qube2で
hpcmipsバイナリ作成



MIPSでendian little
=mipsel同士なら動く
ユーザランドはほとん
どそのまま動く
パッケージも共通化
 NetBSD/{pmax,cobalt
2015/9/30
,arc,hpcmips}で共通
 数GBある各種アプリ
ケーション群を共通に
する
Jun Ebihara
53
エミュレーション環境
Linux

I386以外のバイナリも動くようにする
FreeBSD
Windows2000



2015/9/30
PECOFF
Win32アプリケーションをそのまま動かす
ゲームなど
Jun Ebihara
54
移植成果をNetBSDに組み込む
カーネル部分を移植する
セルフコンパイルでスナップショット作成
パッケージソフトウェアセットを作る
ドキュメント整備

Web・マニュアル・FAQ
インストーラを作る
メーリングリストを作る
2015/9/30
Jun Ebihara
55
プログラミング以外にすること
Port登録 NetBSD/???? 部分
Webページ作成
バグレポートデータベース作成

GNATS
マニュアル作成

インストールマニュアル・マニュアル・FAQ
メーリングリスト作成
ニュースとして報告
2015/9/30
Jun Ebihara
56
NetBSD開発者情報
ftp/WWW/CVS/SUPサーバ

http://www.jp.netbsd.org/ja/JP/sites.html
開発環境設定方法

http://www.netbsd.org/developers/
メーリングリスト


http://www.jp.netbsd.org/ja/JP/ml.html
[email protected]
http://releng.netbsd.org
2015/9/30
Jun Ebihara
57
ソースコード取得方法
ftp
Cvs
cvsup
Sup
Anonymous CVS
rsync
2015/9/30
Jun Ebihara
58
Japan NetBSD Users’ Group
1999年8月21日成立
日本のNetBSDユーザに便宜を図る
FTP/CVS/WWWサーバの管理
ドキュメント・WWWページ翻訳
ハードウェア提供:ぷらっとホーム
場所提供:インターネット総合研究所
http://www.jp.netbsd.org/
年一度定期総会・BoFを予定


2003年6月28日
国立オリンピック記念青少年総合センター(代々木)
IPV6ネットワークが使える200人くらい入る会場募集

2015/9/30
Jun Ebihara
59
www.netbsd.org 翻訳
現在


jp.netbsd.org上のCVSリポジトリ
www.netbsd.org上のCVSリポジトリ
各国の翻訳




ドイツ語
韓国語
ポーランド語
フランス語
緊急度の高い情報を正確に広報する
2015/9/30
Jun Ebihara
60
国内BSDユーザグループ
http://www.netbsd.org/gallery/groups.html
BBQ
BSD Users Group,Shinshu
Chofu *BSD Users’ Group
Chiba *BSD Users’ Group
Daibou East *BSD Users Group
Echigo BSD Users Group
Kansai *BSD Users Group
Ladies’ BSD Users Group
Nagoya *BSD Users Group
Northern land BSD Users Group
Shikoku BSD Users Group
Tohoku BSD Users Group
2015/9/30
Jun Ebihara
61
BSDなひととき
FreeBSD,NetBSD,OpenBSD,BSDIユーザのため
のBOF
毎年2回開催 参加者300人


7月 N+I InterOp
(12月 InternetWeek)
 規模が大きくなりすぎたのでInternetweekでは開催しません
全国のBSDグループがXCASTで参加
手伝ってくれる人&企画募集

2015/9/30
[email protected]まで連絡ください
Jun Ebihara
62
2015/9/30
Jun Ebihara
63
BSDカンファレンス2003
http://www.bsdcon.jp/
2003年10月18日(土)
BIZ新宿
参加者170名 盛況でした
スレッドの話は常に盛り上がる
ベンチマークの話も
イベントTシャツまだあります
2015/9/30
Jun Ebihara
64
2015/9/30
Jun Ebihara
65
株式会社創夢
1984年創業 http://www.soum.co.jp/
東京都渋谷区 京王新線幡ヶ谷
UNIX・BSD・IPv6・Grid


インターネット{放送・自動車・衛星…..}
次世代インターネットの設計と実装
主な業務




ソフトウェア・デバイスドライバ開発/移植
ネットワークサイト保守・コンサルティング
IPv6セミナー開催 雑誌記事執筆
その他
UNIXエンジニア募集中 面接見学大歓迎

[email protected]まで
2015/9/30
Jun Ebihara
66
2015/9/30
Jun Ebihara
67
2015/9/30
Jun Ebihara
68
まとめ
NetBSDはいろんなハードで動きます

自作ソフトをいろんなCPUで試せます
最初から移植を考えて設計されています


試作機に移植する工数が最小ですみます
自分の専門分野だけを組み込めます
自由に利用可能で再配布可能なOSです
移植するとIPv6マシンに変貌

さまざまなCPU向けIPv6スタックがあります
愛着あるハードウェアが生き返ります


最新のネットワークコードが利用できます
もしかしたらリサイクル団体なんでしょうか?
2015/9/30
Jun Ebihara
69