NetBSD
こういうOSが欲し�
- コンピュータは世界中にある
- 昔の計算機から最近のパソコン/組込まで目についたすべてのコンピュータで動くOS
- 手持ちの周辺機器が全部使えるOS
- すべてのソフトウェアが動くOS
- ソースコードを自由に使えるOS
- 読む/書く/引用する/売る
NetBSD
- 4.3/4.4BSD&386BSDベー�
- 1993年3月21日から開始
- 今年18周�
- 2012年2月11日にNetBSD5.1
- 58種類のハードウェアを単一ソースでサポー��
- ハードウェア依存/非依存部分を分�
- 最新のネットワークプロトコルをサポー��
- IPv6 マルチキャスト標準サポー��
- 商用ルータ・プリンタ・家電製品に組み込まれる例�
http://www.NetBSD.org/
http://commons.wikimedia.org/wiki/File:Unix_history-simple.png
NetBSDのライセン�
- 著作権表
- ソースコードの再配布においては、上記の著作権表示、この条件の列挙、下記の注意書きを残すこと�
- バイナリー形式の再配布においては、上記の著作権表示、この条件の列挙、下記の注意書きを、配布物に付属した文書および/または他のものに再現させること�
- 注意書�
- このソフトウェアに関して問題が生じても、作者は責任を負わな� [http://www.netbsd.org/ja/about/redistribution.html]
BSDライセンスとNetBSD
- 著作権表示を保存する
- 転用して販売できる
- ソースの公開義務なし [http://www.NetBSD.org/about/redistribution.html]
- ライセンス条項が異なるソースを分離する
- GNUは/usr/src/gnu以下�
- /usr/src/external/gpl3
��理元が異なるソースを分離する
- /usr/src/dist bzip2,dhcp,file,ipf,iscsi,libpcap,nawk,ntp,nvi...
- /usr/src/crypto/dist heimdal,ipsec-tools
- /usr/src/external bsd am-util,atf,bind,dhcpcd gpl2 lvm2,xcvs intel-fw-oem intel-fw-public intel-public acpica mit xorg
GPLv3
- ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-current/src/external/gpl3/README
- http://www.gnu.org/licenses/gcc-exception-faq.html
- gcc 4.1.3で止める→4.5.3に移�
- GCCを捨ててpccかllvm
- pccで動く(i386/2011/5/10)
- gettextは0.14.4
- ブートローダをGPLじゃないものに置き換える
単一ソースコー��
- 単一ソースツリー�
- CPUアーキテクチャ 15種�
- 58種類のプラットホームで動く
- 16種類のバスサポー��
- ATA,CardBus,EISA,PCI,PCMCIA,VME
新しく移植するときには
- まず、機種に依存しない部品を組み合わせる
- CPU..バス..
機種依存部分だけを追加する
Alpha/arm/acorn26/acorn32/cats/evbarm/hpcarm/Netwinder
- shark/WZero3/evbarm/hppa/hp700/i386/sun2/
- Amiga/Atari/Cesfic/Hp300/Luna68k/Mac68k/Mvme68k/News68k/next68k
ドリームキャスト版CD
- http://ftp.netbsd.org/pub/NetBSD/misc/tsutsui/dreamcast/ dreamcastbootcd-20101010.tar.gz
- CD-R付きNetBSDマシンで展開
- CD-R入れる
- makeすると、バイナリをダウンロードしてブートCDが焼ける
- dreamcastに入れて起��
��6803��
- X68kエミュレータ
- XM6i
- NetBSDがブートしま�
- http://www.xm6i.org/
- OSC広島で祭�
- 21世紀のX68
- CPU内部の挙動を細かく観測できる
- ATCエントリが見える
サポートハードウェア 56種�
4.4BSD由来の機能
- Nullfs – loopbackマウン��
- Unionfs – ファイルシステムを重ねる
- Lfs – 高速書き込み性能
- NFS – NFSv3 NFSoverTCP
- IP virtual hosting
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/about/features.html
- ZFS? Google Summer of Code
アーキテクチャに共通する部�
- Package system
- バス USB、CardBus
- デバイスドライ��
- オーディオフレームワーク
- OSエミュレーション
- バスサポー��
- 仮想デバイ�
- Concatenated disk driver
- Memory disk driver
- RAIDframe disk
- Random device
- Vnode disk
- �理デバイ�
- オーディオデバイ�
- WSCONS - ワークステーションコンソー��
- wsdisplay
- wskbd
- wsmouse
NetBSD:カーネ��
- 機種に依存する部�
- i386/MIPS/SH/68000…
- デバイスに依存する部�
- PCIバス/ISAバス/PCMCIA…
- その��
- メモリ��
新しいマシンをサポートするには
- 搭載CPUがサポートされているか��
- 搭載バスがサポートされているか��
- 搭載デバイスがサポートされているか��
- 共有部分はすべてで共有できる
- サポートされていない部分だけを作�
- CVSツリーに追加する
Package - /usr/pkgsrc
- ��単にソフトウェアをコンパイル・インストー��
- 1997年8月開始ー今年で13年目
- 2011-Q2 もうすぐ準�
- 41種類のジャン��
- 9963種類以上のソフトウェ�
- Make installでソフトウェアのインストー��
- 各CPUアーキテクチャ間で共�
- Mipsel –mips endian little
- Arc – MIPSで動くNTマシン
- Cobalt – Cobalt Qube1/2
- Pmax – DEC station
- Hpcmips – MIPS搭載WinCE
- NetBSD/Solaris/Linux/Darwin/FreeBSD/OpenBSD/
- IRIX/BSDOS/AIX/SUA(Interix)/DragonFlyBSD/OSF1/hpux
エミュレータ
- /usr/pkgsrc/emulators
- gxemul
- mips (pmax,hpcmips)
- dreamcast
- simh
- NetBSD/vax
- tme
- sun2,sun3,SPARCstation 2
- QEMU
- PC
- USBデバッグ
Packagesジャンル一��
- ソフトウェアのコンパイル/インストー��
- drupal
- cd /usr/pkgsrc/www/drupal6
- make package
- make install
- 関連するソフトウェアがインストー��
- OpenOffice
- cd /usr/pkgsrc/misc/openoffice3
- make package
- make install
- /usr/pkg/bin/soffice ....
NetBSDを使う�
- OSをインストールする
- pkgsrc.tar.gzを取得
- 必要なパッケージをインストー��
- tcsh,icewm,kterm,anthy-elisp,ja-less
- openoffice,firefox,gimp
- �的別
- デスクトップ向�
- ��み込み向�
- pkgsrc/meta-pkgにいくつかある
Package対応プラットフォー��
- NetBSD
- FreeBSD
- OpenBSD
- BSD/OS
- Solaris
- Linux
- DragonflyBSD
- (SSD Linux)
Package – NetBSD以外での利用
Packageとライセンスの取扱�
- 個々のパッケージごとにLICENSE定義
- 受け入れられるライセンスを制御した�
- ツールとライブラリのライセンスが違�
- ツールがGPL,ライブラリがLGPL
- GPLv2とv3が混在する例
- rubyとreadline6
- GPL2とGPL2 or laterの区別
- GPL3とリンクできるかできないか
- http://d.hatena.ne.jp/obache/20090922/
NetBSDのリリー�
- リリース版2.0 3.0 4.0 5.0......
- マイナーリリース 2.1.. 3.1...
- パッチリリース 2.1.1... 3.1.1...
- 開発版 2.99 3.99 4.99 5.99...
- カーネルAPIの変更があるとき 2.99.1...
NetBSD開発ロードマップ
- NetBSD5.1サポート機能
- RAIDframe parity maps, which greatly improve parity rewrite times after unclean shutdown
- X.Org updates
- Support for many more network devices
- Xen PAE dom0 support
- Xen PCI pass-through support
NetBSD6.0に入れたい機能
- kernel modules
- kernel scalability improvements
- 64bit time_t (solves year 2038 problem)
- DTrace
- ZFS
- NILFS
- Logical Volume Manager
- NPF (New Packet Filter)
- Thread Local Storage
- Xen SMP support�
NetBSD6.0に入れたい機能(2)
- automated tests
- improved puffs (Pass-to-Userspace Framework File System)
- improved rump (Runnable Userspace Meta Program kernel)
- UltraSPARC III(+) support
- MIPS 64bit support
- a lot of updated and new 3rd party software
- Automated Testing Framework
- cd /usr/tests;
- atf-run | atf-report
��織構�
- Core 5人 テクニカルマネージメン��
- Port maintainer 28�
- 各実装に関する担当�
- Developer
- CVS/WWW/FTP等開発資産に書き込みできる
- アクティブなのは188�
- NetBSD Foundation,Inc
- デラウェア州の法人��
- サーバマシンを所��
- お金と寄付を��
- NetBSDの版権を��
developer
- �接ソースを変更できる
- CVS/FTP/WWWサーバの内��
- 世界中で188�
- GNATSでバグ��
- Cvsweb.netbsd.org
- 日本人38�
NetBSD開発者世界分布図
- NetBSD開発者分布図
Developerになるには(1��
- 去年のクリパでやったこと
- PGP/GnuPGの鍵を作る
- fingerprint印刷
- gpg --fingerprint jun@soum.co.jp
- fingerprint交��
- 他のDeveloperとfingerprint印刷を交��
- 本人確�
- 公的証明書を見せあって本人確�
Developerになるには(2)
- �手の鍵を取り込んで、fingerprint照�
- gpg-email-confirm soda@netbsd.org..
- ランダムな文字列を送る
- メールを暗号化して送り返してもら�
- 送った文字列とメールアドレスを照合する
- 鍵にサインしてもらって送り返してもら�
- Developerサイン入り自分の鍵ができる
- 自分の鍵束にimport
- pgp.mit.eduにサイン入り自分の鍵を登録する
世界中で打ち合わせをする時�
- May 21 03:00 PM -0700 America/Los_Angeles
- May 21 06:00 PM -0400 America/New_York
- May 21 11:00 PM +0100 Europe/London
- May 22 00:00 AM +0200 Europe/Berlin
- May 22 01:00 AM +0300 Europe/Helsinki
- May 22 07:00 AM +0900 Asia/Tokyo
- May 22 08:00 AM +1000 Australia/Melbourne
Port-maintainer
- �植責任�
- 57種類のうち15種類以上は日本人が担��
日本人担当ハードウェア15/56
- NetBSD動作マシン@日本
日本からの貢献
- 国産ハードウェアサポー��
- ゲーム機・携帯情報端末サポー��
- IPv6/ IPSEC
- Pkgsrc
- CardBusサポー��
- MIPS/SH/m68K
- NetBSD書籍が世界一多く出版される
- developer53�
WindowsCE向けNetBSD
- MIPS系CPU搭��
- NEC MobileGear
- SHARP Tellios
- SH系CPU搭��
- HP ジョルナダシリー�
- SEGA DreamCast
- StrongARM系CPU搭��
- ��ompaq iPA��
- ��P ジョルナダシリー�
- WZero3
ブートまでの流�
- コンパクトフラッシュを2分割
- WindowsCEの領�
- NetBSD/hpcmipsの領�
- WindowsCE上のブートローダからブー��
- メモリ空間を取れるだけ確保する
- カーネルファイルをメモリ空間に送り込ん�
- NetBSDの世界へ飛び込んでゆく
NetBSD/hpcsh
- SH搭載WindowsCEマシン向�
- HP Jornada680 690 620LX
- 日立ペルソナ HPW50 23��
- (NetBSD/sh3+NetBSD/hpcmips)/2+�
従来の開発ノウハウとソフトウェア資
- NetBSD/hpcmipsとのソース共有�
- NetBSD/Dreamcast互��
- NetBSD/hpcarm
- StrongArm搭載WindowsCEマシン向�
- SA-1100/1110対応
- HP Jornada72��
- WZero3
- Compaq iPAQ
- hpcファミリー中最�
クロス開発環境
- NetBSD/i386でクロスコンパイ��
- build.sh –m hpcmips –D /hpcmips-root
- Pkgsrc/cross以下に各種パッケージ
- Windows環境でクロスコンパイ��
- Cygwinなど
- Linux上でクロスコンパイ��
- FreeBSD上でクロスコンパイ��
- distcc - コンパイルだけ速いマシン�
- pkgsrcをクロスコンパイ��
- pkgsrcのcrossbuildでググる��
- http://www.lins.jp/~obata/diary/200803242.html
- クロス用toolsを作る
バイナリ互換性を利用する
- Cobalt Qube2でhpcmipsバイナリ作�
- MIPSでendian little =mipsel同士なら動く
- ユーザランドはほとんどそのまま動く
- パッケージも共通�
- NetBSD/{pmax,cobalt,arc,hpcmips}で共�
- 数GBある各種アプリケーション群を共通にする
- エミュレーション環境
- Linux
- I386以外のバイナリも動くようにする
- FreeBSD
- Windows2000/XP
- PECOFF
- Win32アプリケーションをそのまま動か�
- ゲームなど
- Unixware
�植成果をNetBSDに組み込�
- カーネル部分を移植する
- セルフコンパイルでスナップショット作�
- パッケージソフトウェアセットを作る
- ドキュメント整�
- Web・マニュアル・FAQ
- インストーラを作る
- メーリングリストを作る
プログラミング以外にすること
- Port登録 NetBSD/???? 部�
- Webページ作�
- バグレポートデータベース作�
- GNATS
- マニュアル作�
- インストールマニュアル・マニュアル・FAQ
- メーリングリスト作�
- ニュースとして報�
EeePC&Netbook
- Escape押して起動ディスク選�
- バックアップCDあ�
- ディスプレ�
- 82915GM
- Attansic Technologies L2 100Mbit Ethernet Adapter
- http://www.NetBSD.org/ports/i386/netbook.html
- VAIO Type P
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
- netbsd-request@re.soum.co.jp
- 1994/11- 10年以上! 参加者600�
- http://releng.netbsd.org
ソースコード取得方��
- ftp
- Cvs
- cvsup
- Sup
- Anonymous CVS
- rsync
Japan NetBSD Users’ Group
- 1999年8月21日成立
- 日本のNetBSDユーザに便宜を図る
- FTP/CVS/WWWサーバの��
- ドキュメント・WWWページ翻訳
- 場所提供:IIJ
- http://www.jp.netbsd.org/
- 年一度定期総会・BoFを実施
- 次回は2012/7/��
- 東京 根津 東大武田先端知ビ��
www.netbsd.org 翻訳
- ��在
- www.netbsd.org上のCVSリポジト��
- 削除→各国のwwwサー��
- 各国の翻訳
- ドイツ�
- 韓国�
- ポーランド�
- フランス�
- ��急度の高い情報を正確に広報する
- 古いドキュメントでもあった方がいいか
- そもそも英語のドキュメントは正確か
国内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
- Nagoya *BSD Users Group
- Northern land BSD Users Group
- Shikoku *BSD Users Group
- Tohoku BSD Users Group
まと�
- NetBSDはいろんなハードで動きま�
- 自作ソフトをいろんなCPUで試せま�
- 最初から移植を考えて設計されていま�
- 試作機に移植する工数が最小ですみま�
- 自分の専門分野だけを組み込めま�
- 自由に利用可能で再配布可能なOSで�
- �植するとIPv6マシンに変��
- さまざまなCPU向けIPv6スタックがありま�
- 愛着あるハードウェアが生き返りま�
- 最新のネットワークコードが利用できま�
- もしかしたらリサイクル団体なんでしょうか��
![[NetBSD Logo]](http://www.NetBSD.org/images/NetBSD-smaller.png)