NetBSD Wiki/users/jun/
intro
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に入れて起動
 
�8030
- 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 230
 - (NetBSD/sh3+NetBSD/hpcmips)/2+
�の開発ノウハウとソフトウェア資産
 - NetBSD/hpcmipsとのソース共有化
- NetBSD/Dreamcast互換
 
 - NetBSD/hpcarm
 - StrongArm搭載WindowsCEマシン向け
 - SA-1100/1110対応
 - HP Jornada720
 - 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スタックがあります
 - ��あるハードウェアが生き返ります
 - ��のネットワークコードが利用できます
 - ��かしたらリサイクル団体なんでしょうか?
 
