セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

RaspberryPIでNetBSDを使ってみる

特徴

NetBSDをRaspberryPIで利用するために、ディスクイメージを用意しました。 Xが動いて、ご家庭のテレビでmikutterが動きます。 うまく動いたら、動いた記念写真をツイートだ! fossil(http://www.fossil-scm.org/)も入れてあります。家庭内Webサーバとかチケットシステムとかwikiサーバになるんでないかい。

準備するもの

RaspberryPI本体 HDMI入力のあるテレビ/ディスプレイ USBキーボード USBマウス 有線ネットワーク

起動ディスクの作成

ディスクイメージのダウンロード

earmv6hf # ftp http://cdn.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/ 2016-07-29-earmv6hf/2016-07-29--raspi-earmv6hf.img.gz

2GB以上のSDカードを準備します。 ダウンロードしたディスクイメージを、SDカード上で展開します。

disklabel sd0 ..... 必ずインストールするSDカードか確認してください。 gunzip < 2016-07-29-netbsd-raspi-earmv6hf.img.gz.gz|dd of=/dev/rsd0d bs=1m

Cubieboard2,BananaPI用イメージ

Cubieboard2,BananaPI用のイメージが、 http://cdn.netbsd.org/pub/NetBSD/misc/jun/allwinner/ 以下にあります。 同じ手 順で起動できます。

ODROID-C1用イメージ

ODROID-C1用のイメージが、 http://cdn.netbsd.org/pub/NetBSD/misc/jun/odroid_c1/ 以下にあります。 同じ手順で起動で きます。

RaspberryPIの起動

1. HDMIケーブル/USBキーボード/USBマウス/有線ネットワークをRPIにさします。 2. 電源を入れてRPIを起動します。 3. 少し待つと、HDMIからNetBSDの起動メッセージが表示されます。 4. メモリカードの容量にあわせたサイズまでルートパーティションを自動調整します。(現在、RPI2では自動調整プログラムの起動が失 敗します) 5. 容量調整後に再起動します。再起動した後は、起動プロセスが最後まで進み、ログインできる状態になります。 6. 起動しない場合、まず基板上のLEDを確認してください。

赤いランプのみ点灯している場合 OSを正しく読み込めていません。 少なくともMSDOS領域に各種ファームウェアファイルが見えていることを確認する。 SDカードの接触不良の可能性があるので、SDカードを挿しなおしてみる。 ファームウェアが古いため起動しない 緑のランプも点灯している場合 OSは起動しているのに画面をHDMIに表示できていません。 HDMIケーブルを差した状態で電源ケーブルを抜き差しして、HDMIディスプレイに何か表示するか確認する。 HDMIケーブル自体の接触不良。ケーブルを何度か差し直してください。 電源アダプタ容量には、少なくとも800mA程度の容量を持つアダプタを使ってみてください。スマートフォン用のアダプタなら まず大丈夫です。起動途中で画面が一瞬消えたり、負荷をかけるといきなり再起動したりする場合は、電源やUSBケーブルを気 にしてみてください。

1 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

ログイン

rootでログインできます。rootアカウントではリモートからログインすることはできません。

login: root

startxでicewmが立ち上がります。

# startx

mikutterを使ってみよう

xtermからdilloとmikutterを起動します。

# dillo & # mikutter &

しばらく待ちます。 mikutterの認証画面がうまく出たら、httpsからはじまるURLをクリックするとdilloが起動します。 twitterのIDとパスワードを入力すると、pin番号が表示されます。pin番号をmikutterの認証画面に入力します。 しばらくすると、mikutterの画面が表示されます。表示されるはずです。落ちてしまう場合は時計が合っているか確認してくださ い。 漢字は[半角/全角]キーを入力すると漢字モードに切り替わります。anthyです。 青い鳩を消したいとき:mikutterのプラグインを試してみる

% touch ~/.mikutter/plugin/display_requirements.rb

すると、鳩が消えます。 mikutterはプラグインを組み込むことで、機能を追加できる自由度の高いtwitterクライアントです。プラグイ ンに関しては、「mikutterの薄い本 プラグイン」で検索してみてください。

fossilを使ってみよう

fossilは、Wiki/チケット管理システム/HTTPサーバ機能を持つ、コンパクトなソースコード管理システムです。fossilバイナリひとつと、 リポジトリファイルひとつにすべての情報が集約されています。ちょっとしたメモをまとめたりToDoリストを簡単に管理できます。

% fossil help Usage: fossil help COMMAND Common COMMANDs: (use "fossil help -a|--all" for a complete list) add changes finfo merge revert tag addremove clean gdiff mv rm timeline all clone help open settings ui annotate commit import pull sqlite3 undo bisect diff info push stash update branch export init rebuild status version cat extras ls remote-url sync % fossil init sample-repo project-id: bcf0e5038ff422da876b55ef07bc8fa5eded5f55 server-id: 5b21bd9f4de6877668f0b9d90b3cff9baecea0f4 admin-user: jun (initial password is "f73efb") % ls -l total 116 -rw-r--r-- 1 jun users 58368 Nov 14 18:34 sample-repo % fossil server sample-repo -P 12345 & ブラウザでポート12345にアクセスし、fossil initを実行した時のユーザとパスワードでログインします。

キーマップの設定を変更する

ログインした状態でのキーマップは/etc/wscons.confで設定します。

encoding jp.swapctrlcaps .... 日本語キーボード,CtrlとCAPSを入れ替える。

Xでのキーマップは.xinitrcで設定します。

setxkbmap -model jp106 jp -option ctrl:swapcap

コンパイル済パッケージをインストールする

コンパイルしたパッケージを以下のURLに用意しました。

2 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

% cat /etc/pkg_install.conf

PKG_PATH=http://cdn.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/earmv6hf/2016-07-29

パッケージのインストール

pkg_addコマンドで、あらかじめコンパイル済みのパッケージをインストールします。関連するパッケージも自動的にインス トールします。

# pkg_add zsh

パッケージの一覧

pkg_infoコマンドで、インストールされているパッケージの一覧を表示します。

# pkg_info

パッケージの削除

# pkg_delete パッケージ名

/usr/pkgsrcを使ってみよう

たとえばwordpressをコンパイル/インストールする時には、以下の手順で行います。

# cd /usr/ # ls /usr/ ... 上書きしてしまわないか確認 # ftp http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz # tar tzvf pkgsrc.tar.gz |head ... アーカイブの内容確認 # tar xzvf pkgsrc.tar.gz # ls /usr/pkgsrc # cd /usr/pkgsrc/www/php-ja-wordpress # make package-install

# cd /usr/pkgsrc # cvs update -PAd

パッケージ管理

pkg_chk コマンドを使って、インストールしたパッケージを管理してみましょう。あらかじめpkgsrcの内容を更新しておきま す。どこからパッケージファイルを取得するかは、/etc/pkg_install.confのPKG_PATHに書いておきます。

# pkg_info ... インストールしているパッケージ名と概要を出力します。 # pkg_chk -g ... 使っているパッケージの一覧を/usr/pkgsrc/pkgchk.confに作ってくれます。 # pkg_chk -un ... パッケージをアップデートします。(nオプション付きなので実行はしません) # pkg_chk -u ... パッケージをアップデートします。

ユーザー作成

# useradd -m jun # passwd jun

root権限で作業するユーザーの場合: # useradd -m jun -G wheel

# passwd jun

サービス起動方法

/etc/rc.d以下にスクリプトがあります。dhcpクライアント(dhcpcd)を起動してみます。

テスト起動: /etc/rc.d/dhcpcd onestart テスト停止: /etc/rc.d/dhcpcd onestop

正しく動作することが確認できたら/etc/rc.confに以下のとおり指定します。

3 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

dhcpcd=YES

/etc/rc.confでYESに指定したサービスは、マシン起動時に同時に起動します。

起動: /etc/rc.d/dhcpcd start 停止: /etc/rc.d/dhcpcd stop 再起動: /etc/rc.d/dhcpcd restart

vnconfigでイメージ編集

NetBSDの場合、vnconfigコマンドでイメージファイルの内容を参照できます。

# vnconfig vnd0 2016-07-29-netbsd-raspi-earmv6hf.img.gz # vnconfig -l vnd0: /usr (/dev/wd0e) inode 53375639 # disklabel vnd0 : 8 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 3428352 385024 4.2BSD 0 0 0 # (Cyl. 188 - 1861) b: 262144 122880 swap # (Cyl. 60 - 187) : 3690496 122880 unused 0 0 # (Cyl. 60 - 1861) d: 3813376 0 unused 0 0 # (Cyl. 0 - 1861) e: 114688 8192 MSDOS # (Cyl. 4 - 59) # mount_msdos /dev/vnd0e /mnt # ls /mnt LICENCE.broadcom cmdline.txt fixup_cd.dat start.elf bootcode.bin fixup.dat kernel.img start_cd.elf # cat /mnt/cmdline.txt root=ld0a console=fb #fb=1280x1024 # to select a mode, otherwise try EDID #fb=disable # to disable fb completely

# umount /mnt # vnconfig -u vnd0

HDMIじゃなくシリアルコンソールで使うには

MSDOS領域にある設定ファイルcmdline.txtの内容を変更してください。

https://raw.github.com/Evilpaul/RPi-config/master/config.txt

fb=1280x1024 # to select a mode, otherwise try EDID fb=disable # to disable fb completely

起動ディスクを変えるには

MSDOS領域にある設定ファイルcmdline.txtの内容を変更してください。

root=sd0a console=fb ←ld0をsd0にするとUSB接続したディスクから起動します

最小構成のディスクイメージ

NetBSD-currentのディスクイメージに関しては、以下の場所にあります。日付の部分は適宜読み替えてください。

# ftp://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201502042230Z/evbarm-earmv6hf/binary/gzimg/rpi_inst.bin.gz # gunzip < rpi_inst.bin.gz |dd of=/dev/rsd3d bs=1m .... sd3にコピー。

RaspberryPIにsdカードを差して、起動すると、# プロンプトが表示されます。 # sysinst .... NetBSDのインストールプログラムが起動します。

X11のインストール

rpi.bin.gzからインストールした場合、Xは含まれていません。追加したい場合は、

ftp://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201310161210Z/evbarm-earmv6hf/binary/sets/ 以下にあるtarファイルを展開しま す。tarで展開するときにpオプションをつけて、必要な権限が保たれるようにしてください。

4 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

tar xzpvf xbase.tar.gz -C / .... pをつける

クロスビルドの方法

ソースファイル展開 ./build.sh -U -m evbarm -a earmv6hf release earm{v[4567],}{hf,}{eb} earmv4hf http://mail-index.netbsd.org/tech-kern/2013/11/12/msg015933.html

acorn26 armv2 acorn32 armv3 armv4 (strongarm) cats shark netwinder armv4 (strongarm) iyonix armv5 hpcarm armv4 (strongarm) armv5. zaurus armv5 evbarm armv5/6/7

外付けUSB端子

NetBSDで利用できるUSBデバイスは利用できる(はずです)。電源の制約があるので、十分に電源を供給できる外付けUSBハブ 経由で接続したほうが良いです。動作しているRPIにUSBデバイスを挿すと、電源の関係でRPIが再起動してしまう場合があり ます。その場合、電源を増強する基板を利用する方法もあります。

外付けSSD

コンパイルには、サンディスク X110 Series SSD 64GB(読込 505MB/s、書込 445MB/s) SD6SB1M-064G-1022I を外付け ディスクケース経由で使っています。NFSが使える環境なら、NFSを使い、pkgsrcの展開をNFSサーバ側で実行する方法もあり ます。RPIにSSDを接続した場合、OSの種類と関係なく、RPI基板の個体差により、SSDが壊れる場合があるので十分注意して ください。

液晶ディスプレイ

液晶キット( http://www.aitendo.com/page/28 )で表示できています。

aitendoの液晶キットはモデルチェンジした新型になっています。 On-Lap 1302でHDMI出力を確認できました。 HDMI-VGA変換ケーブル を利用する場合、MSDOS領域にある設定ファイルcmdline.txtで解像度を指定してください。

https://twitter.com/oshimyja/status/399577939575963648 とりあえずうちの1024x768の液晶の場合、 hdmi_group=2 hdmi_mode=16 の2行をconfig.txtに書いただけ。なんと単純。disable_borderはあってもなくても関係

inode

inodeが足りない場合は、ファイルシステムを作り直してください。

# newfs -n 500000 -b 4096 /dev/rvnd0a

bytebench

おおしまさん(@oshimyja)がbytebenchの結果を測定してくれました。

https://twitter.com/oshimyja/status/400306733035184129/photo/1 https://twitter.com/oshimyja/status /400303304573341696/photo/1

壁紙

おおしまさん(@oshimyja)ありがとうございます。

http://www.yagoto-urayama.jp/~oshimaya/netbsd/Proudly/2013/

パーティションサイズをSDカードに合わせる

2GB以上のSDカードを利用している場合、パーティションサイズをSDカードに合わせることができます。この手順はカードの内容が消

5 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

えてしまう可能性もあるため、重要なデータはバックアップをとるようにしてください。 手順は、http://wiki.netbsd.org/ports/evbarm/raspberry_pi/ のGrowing the root file-systemにあります。

シングルユーザでの起動

1. /etc/rc.confのrc_configured=YESをNOにして起動します。 2. 戻すときはmount / ;vi /etc/rc.conf でNOをYESに変更してrebootします。

参考URL

http://wiki.netbsd.org/ports/evbarm/raspberry_pi/ NetBSD Guide http://www.netbsd.org/docs/guide/en/ NetBSD/RPiで遊ぶ(SDカードへの書き込み回数を気にしつつ) http://hachulog.blogspot.jp/2013/03/netbsdrpisd.html http://www.raspberrypi.org/phpBB3/viewforum.php?f=86 NetBSDフォーラム http://www.raspberrypi.org/phpBB3/viewforum.php?f=82 日本語フォーラム RaspberryPIでNetBSDを使ってみる(omxplayerとか)

omxplayer

RaspberryPIにはGPUが載っていて、動画再生ソフトのomxplayer(https://github.com/popcornmix/omxplayer)をNetBSDでも使うことが できます。 pkgsrc/multimedia/omxplayer です。

# pkg_add omxplayer

youtube-dlのインストール

youtube-dl(http://rg3.github.io/youtube-dl/)もインストールしてみましょう。 pkgsrc/net/youtube-dl です。

# pkg_add youtube-dl

youtube-dlとomxplayerで動画再生

youtube-dl経由でダウンロードしたビデオをomxplayerで再生してみます。 スペースキーで一時停止、qで終了します。

# youtube-dl https://www.youtube.com/watch?v=wG8ZCC8IwvM # omxplayer *.mp4

livestreamerをインストールしてみる

ストリームを再生するためのコマンドラインユーティリティ livestreamer(http://livestreamer.tanuki.se/)をインストールしてみましょ う。 pkgsrc/wip/livestreamerにもありますが、Pythonのpip経由をつかってみます。

# pkg_add py27-pip # pip2.7 install livestreamer

livestreamer経由のストリーム再生

youtubeのビデオを、livestreamer経由でストリーム再生してみましょう。コマンドラインでプレーヤーと再生品質を指定して、 livestreamerを起動します。crontabで起動するようにすると、定期的にビデオ再生をするシステムを簡単に作ることができます。

# livestreamer --player omxplayer --fifo --yes-run-as-root https://www.youtube.com/watch?v=wG8ZCC8IwvM --default-stream best

RaspberryPIでNetBSDを使ってみる(Xfceとか)

startxと.xinitrc

コマンドプロンプトからstartxコマンドを実行すると、icewmが起動するように なっています。

# startx

このイメージの/root/.xinitrcは以下のURLにあります。

6 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/root/.xinitrc

順番にざっとみてみましょう。 このあたりで、日本語キーボードに設定しています。 オプションにctrl:swapcapsと指定すると、コント ロールキーとCAPSキーを入れ替えます。

#set keyboard layout #setxkbmap -layout jp -option ctrl:swapcaps setxkbmap -model jp106 jp

次に、日本語入力の設定です。uim経由で入力できるように、環境変数XMODIFIERSを 設定します。uimの設定を細かく指定したい時は、 uim-pref-gtkというアプリケーションを 起動して変更します。

uim-xim & # To select input method via uim-pref-gtk userinterface. # uim-pref-gtk export XMODIFIERS=@im=uim

もし、デスクトップ環境としてxfce4を使うときにはコメントアウトしてあるstartxfce4の #をはずせば、ここでXfce4を起動できます。 ディスク容量の関係でXfceをイメージには入れて いないので、この後追加してみましょう。

#to install: pkg_add xfce4 #startxfce4;exit

icewmを使うときにはこのまま進みます。背景の色はxsetrootで決められます。 バックグラウンドでの画像表示はxsetbgを使っています が、icewmの設定ファイルでも 指定できます。

xsetroot -bg black -grey #kterm -geometry 80x25+0+0 -fk k14 -fn a14 -fr r14 -km euc& xsetbg NetBSD.png

mikutterを使いはじめるとき、twitterの認証画面をWebブラウザで表示します。 デフォルトのブラウザをdilloに指定しておくと、クリッ クしただけでdilloが 起動します。

#for mikutter , click and start browser. export BROWSER=dillo

あとは、icewmが入っていればicewmを。なければtwmを起動します。

xterm -geometry 80x25+0+0 &

if [ -f /usr/pkg/bin/icewm ]; then icewm else twm fi

Xfce4をインストールする

pkg_addコマンドでXfce4をインストールしてみましょう。正常に終わればXfce4がインストールできています。

pkg_add xfce4

.xinitrcでコメントアウトされていたstartxfce4の行の#をはずして、startxコマンドを 実行してみましょう。画面が真っ黒になってびびり ますが、そのまま待っているとねずみちゃんの ような何かが表示されます。

Firefoxもインストールしてみる

うまくいったらfirefoxもインストールしてみましょう。正常に終わればfirefoxがインストールできています。

pkg_add firefox pkg_add firefox-l10n

コンパイル済みパッケージのありか

このイメージではpkg_addコマンドでコンパイル済みパッケージをインストールできるようにしています。 コンパイル済みイメージの場 所は、/etc/pkg_install.confに書いてあります。 そこにはftp://ftp.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/earmv6hf/2015-11-26/ のようなURLがかいてあります。自分でコンパイルしたパッケージを使う場合は、この部分を書き換えて みてください。

7 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

RaspberryPIでNetBSDを使ってみる(イメージ作成)

Raspberry PIのイメージをつくろう

Raspberry PIで動くイメージファイルの作り方を説明します。

ISOイメージ取得

NetBSDのISOイメージをダウンロードします。 ダウンロードには、以下のRubyスクリプトを使っています。

https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/Image/NewestISO

編集するところ:ftpサーバを選ぶ

FTP="nyftp.netbsd.org" #FTP="ftp.jp.netbsd.org" #FTP="ftp7.jp.netbsd.org"

編集するところ: アーキテクチャ選択

#ARCH="earmv7hf" ARCH="earmv6hf" #ARCH="earm"

コマンドを実行すると、指定したftpサーバが持っている最新のイメージをダウンロードするためのスクリプトを生成します。

$ ./NewestISO ftp ftp://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201511241720Z/images/NetBSD-7.99.21-evbarm-earmv6hf.iso mv NetBSD-7.99.21-evbarm-earmv6hf.iso ./NetBSD-7.99.21-evbarm-earmv6hf-201511241720Z.iso

コマンドの出力結果をshに渡すとダウンロードを実行します。

$ ./NewestISO |sh

ダウンロードがうまくいくと、以下のようなisoイメージをダウンロードできます。

NetBSD-7.99.21-evbarm-earmv6hf-201511241720Z.iso

イメージ作成用Makefile

イメージファイルを作るためにMakefileを作っています。

https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/Image/Makefile

編集するところ: イメージファイルの置き場所とかを指定します。

ARCH=earmv6hf #ARCH=earmhf #ARCH=earm PKG_PATH=ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/${ARCH}/2015-11-14/ # iso file information IMAGE=/usr/release/images/NetBSD-7.99.21-evbarm-${ARCH}-201511091610Z.iso PKGSRC=../../../pkgsrc/pkgsrc-2015Q3.tar.gz

make を実行するとイメージファイルができます。 make releaseを実行すると、初期設定ファイル等をコピーします。 make pkgを実行 すると、パッケージをインストールするための準備ができます。

# make # make release # make pkg

./Copy を実行して、パッケージをSDカードにコピーします。

https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/Image/Copy より: DEVICE=rsd2d

#BOARD=raspi-earm BOARD=raspi-earmv6hf #BOARD=raspi-earmv7hf

8 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

COMPRESS=-z SUFFIX=.gz #COMPRESS=

#DATE=`date +%Y-%m-%d` #DATE=2015-11-10

progress $COMPRESS -f ${DATE}-netbsd-${BOARD}.img${SUFFIX} dd of=/dev/${DEVICE} bs=4m

RPIでパッケージのインストール

RPI2にSDカードをさして、ブートするか確認します。rootでログインして、必要なパッケージをインストールします。

cd Package edit Install ./Install

インストールが終わったら再起動して、fontconfigを実行しておきます。 RPIに差し替えて起動して、dmesgを出力しておきます。

# dmesg > dmesg ...RPIの場合 # dmesg > dmesg7 ...RPI2の場合

イメージをSDカードから書き戻すためのスクリプトを実行します。

https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/Image/03_back

tmp日付ディレクトリにRPI,RPI2のdmesgとpkginfoができます。

一時起動時にできたログファイルを消して、配布用イメージを作ります。

make logclean make release

./Copy (https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/Image/Copy)を実行して、できたイメージをSDカードに書き戻し ます。RPIにさして起動して、自動リサイズが正しく起動するか確認します。

rootでログインします。startxを実行します。mikutterを起動します。認証し、何かツィートしてみます。 あひる焼きを含む文章をツィー トして、何か返事があればできあがりです。

http://movapic.com/ebijun/pic/5287850

できたことを知らせる

port-armメーリングリストにリリースメールを書きます。mail-indexに載ったらURLをツィートします。

https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/README に書いて、 http://mail-index.netbsd.org/port-arm/2015/11/11/msg003550.html

dmesg/pkginfoを書きます。

https://github.com/ebijun/NetBSD/blob/master/dmesg/earmv6hf/RPI https://github.com/ebijun/NetBSD/blob/master/dmesg/earmv6hf/RPI2 https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/pkgsrc/pkginfo

RPIのフォーラムにも投げます。

https://www.raspberrypi.org/forums/viewforum.php?f=86

2015年に作ったRPIイメージ一覧 2015/2/7 http://mail-index.netbsd.org/port-arm/2015/02/04/msg002833.html 2015/2/28 http://mail-index.netbsd.org/port-arm/2015/02/26/msg002883.html 2015/3/13 http://mail-index.netbsd.org/port-arm/2015/03/10/msg002918.html 2015/4/19 http://mail-index.netbsd.org/port-arm/2015/04/19/msg003100.html 2015/5/23 http://mail-index.netbsd.org/port-arm/2015/05/21/msg003185.html 2015/6/13 http://mail-index.netbsd.org/port-arm/2015/06/06/msg003243.html 2015/6/30 http://mail-index.netbsd.org/port-arm/2015/06/30/msg003266.html (7.0RC1) 2015/7/4 http://mail-index.netbsd.org/port-arm/2015/07/02/msg003268.html 2015/7/30 http://mail-index.netbsd.org/port-arm/2015/07/31/msg003351.html (7.0RC2)

9 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

2015/8/8 http://mail-index.netbsd.org/port-arm/2015/08/06/msg003389.html 2015/8/19 http://mail-index.netbsd.org/port-arm/2015/08/19/msg003428.html 2015/8/22 http://mail-index.netbsd.org/port-arm/2015/08/20/msg003430.html 2015/9/5 http://mail-index.netbsd.org/port-arm/2015/09/03/msg003439.html 2015/9/19 http://mail-index.netbsd.org/port-arm/2015/09/14/msg003467.html 2015/9/28 http://mail-index.netbsd.org/port-arm/2015/09/29/msg003496.html (7.0) 2015/10/3 http://mail-index.netbsd.org/port-arm/2015/09/30/msg003497.html 2015/10/25 http://mail-index.netbsd.org/port-arm/2015/10/20/msg003534.html 2015/11/7 http://mail-index.netbsd.org/port-arm/2015/11/04/msg003546.html 2015/11/14 http://mail-index.netbsd.org/port-arm/2015/11/11/msg003550.html 2015/12/27 http://mail-index.netbsd.org/port-arm/2015/12/27/msg003586.html NetBSDのご紹介

こういうOSが欲しい

世界中にあるコンピュータ、昔の計算機から最近のパソコン、組み込み系まで、身の回りで目についたすべてのコンピュータ で動くOSは、どのようなものでしょうか?コンピュータに接続できる機器もたくさんあります。手持ちの周辺機器を全部利用 できるOSを考えてみましょう。これまでに利用したことのあるソフトウェアすべてを動かすことのできるOSはどのようなもの であればよいでしょうか?ソースコードを自由に読んだり、書いたり、引用したり、配布したり、売ったり買ったりできるOS を、世界中の人々と共同で作るためにはどのような枠組みがあればよいでしょうか?

NetBSD

NetBSDは、4.3/4.4BSD&386BSDベースのOSです。 プロジェクトは1993年3月21日から開始していて、現在も活発に開発が進 んでいます。 60種類以上のハードウェアを、単一ソースツリーでサポートしています。

ハードウェア依存/非依存部分を分離しており、IPv6をはじめとする最新のネットワークプロトコルをサポートしています。 ソースコードは、商用ルータ・プリンタ・家電製品・ゲーム機など、幅広い機器に組み込まれています。 OSとして組み込まれ ることもあれば、ネットワーク機能など、一部のコードが取り込まれることもあります。

NetBSDのウエブサイトは、http://www.NetBSD.org/ です。

NetBSD全般に関するガイドは、http://www.NetBSD.org/docs/guide/en/ にあります。

BSDライセンス

2 条項 BSD ライセンス

http://www.jp.NetBSD.org/ja/about/redistribution.html

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

2条項BSDライセンス(訳)

http://www.jp.NetBSD.org/ja/about/redistribution.html

ソースおよびバイナリー形式の再配布および使用を、変更の有無にかかわらず、 以下の条件を満たす場合に認める:

1. ソースコードの再配布においては、上記の著作権表示、この条件の列挙、下記の注意書きを残すこと。 2. バイナリー形式の再配布においては、上記の著作権表示、この条件の列挙、下記の注意書きを、 配布物に附属した文書お よび/または他のものに再現させること。

このライセンスの前には著作権表示そのものが付きます。この後には注意書きが付き、このソフトウェアに関して問題が生じ ても、作者は責任を負わないと述べます。

BSDライセンスとNetBSD

NetBSDのソースコードを自由に売ることができます。 NetBSDのソースコードから作ったバイナリを売ることもできます。バ イナリのソースコードを公開する義務はありません。

10 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

ライセンス条項が異なるソースを分離する

NetBSDの配布物には、2 条項 BSD ライセンスのソースコードで書かれているソフトウェアと、そうでないソフトウェアが含ま れています。NetBSDでは、ライセンス条項が違うソースコードをディレクトリごとに分けて管理しています。

% ls /usr/src/external/ CVS atheros gpl2 intel-fw-eula mit Makefile broadcom gpl3 intel-fw-public public-domain README bsd historical lgpl2 realtek apache2 cddl ibm-public lgpl3 zlib

単一ソースツリー

NetBSDは、単一ソースツリーで15種類のCPUアーキテクチャと58種類以上のプラットホームで動きます。

% ls /usr/src/sys/arch CVS bebox hp300 m68k pmax sun3 Makefile cats hp700 mac68k sun68k README cesfic hpc macppc prep usermode acorn26 cobalt hpcarm mips rs6000 vax acorn32 dreamcast hpcmips mipsco sandpoint x68k algor emips hpcsh mmeye sbmips x86 alpha epoc32 hppa mvme68k sgimips xen amd64 evbarm i386 mvmeppc sh3 zaurus amiga evbmips ia64 netwinder sh5 amigappc evbppc ibmnws news68k shark arc evbsh3 iyonix newsmips sparc arm evbsh5 landisk next68k sparc64 atari ews4800mips luna68k ofppc sun2

ソースコードからNetBSDをコンパイルする

ソースコードからNetBSDのインストールCDをコンパイルしてみましょう。

ダウンロード

ソースコードをダウンロードします。

% ftp ftp://ftp.jp.NetBSD.org/pub/NetBSD/NetBSD-current/tar_files/src.tar.gz

展開

ソースコードを展開します。

% tar xvzf src.tar.gz

コンパイル

ここではbuild.shを利用して、i386用のバイナリを作ってみます。

-U

スーパーユーザー以外の権限でコンパイルするときに指定します。

-m 機種種類

どの機種向けの実行ファイルを作るのか指定します。

% cd src % ./build.sh -U -m i386 release : ===> Successful make release ===> build.sh ended: Tue Jul 2 15:37:03 JST 2013 ===> Summary of results: build.sh command: ./build.sh -U -m i386 release build.sh started: Tue Jul 2 17:38:40 JST 2013 NetBSD version: 6.99.22 MACHINE: i386 MACHINE_ARCH: i386 Build platform: 2.6.32-358.11.1.el6.centos.plus.x86_64 x86_64

11 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

HOST_SH: /bin/sh No $TOOLDIR/bin/nbmake, needs building. Bootstrapping nbmake MAKECONF file: /etc/mk.conf (File not found) TOOLDIR path: /home/jun/NetBSD/src/obj/tooldir.Linux-2.6.32-358.11.1.el6.centos.plus.x86_64-x86_64 DESTDIR path: /home/jun/NetBSD/src/obj/destdir.i386 RELEASEDIR path: /home/jun/NetBSD/src/obj/releasedir Created /home/jun/NetBSD/src/obj/tooldir.Linux-2.6.32-358.11.1.el6.centos.plus.x86_64-x86_64/bin/nbmake Updated makewrapper: /home/jun/NetBSD/src/obj/tooldir.Linux-2.6.32-358.11.1.el6.centos.plus.x86_64-x86_64/bin/nbmake-i386 Successful make release build.sh ended: Tue Jul 2 19:37:03 JST 2013 ===> .

コンパイルが正常に終了しました。NetBSD/i386のファイルができています。

% ls /home/jun/NetBSD/src/obj/releasedir/i386 INSTALL.html INSTALL.more INSTALL.ps INSTALL.txt binary installation $ ls /home/jun/NetBSD/src/obj/releasedir/i386/binary/sets/ MD5 etc.tgz kern-XEN3PAE_DOM0.tgz man.tgz text.tgz SHA512 games.tgz kern-XEN3PAE_DOMU.tgz misc.tgz base.tgz kern-GENERIC.tgz kern-XEN3_DOM0.tgz modules.tgz comp.tgz kern-MONOLITHIC.tgz kern-XEN3_DOMU.tgz tests.tgz

次に、OSのCD-ROMイメージを作ってみましょう。

% ./build.sh -U -m i386 iso-image : RELEASEDIR path: /home/jun/NetBSD/src/obj/releasedir : Successful make iso-image

正常に終了すると、NetBSD/i386のCD-ROMイメージができています。このイメージは、VirtualBoxなどでも利用できます。

$ ls /home/jun/NetBSD/src/obj/releasedir/images/ NetBSD-6.99.22-i386.iso ..... CDROMイメージができました!

次に、USBメモリに書き込むとブートするインストールイメージを作ってみましょう。

% ./build.sh -U -m i386 install-image RELEASEDIR path: /home/jun/NetBSD/src/obj/releasedir : Successful make install-image $ ls /home/jun/NetBSD/src/obj/releasedir/images/ MD5 NetBSD-6.99.22-i386-install.img.gz NetBSD-6.99.22-i386.iso SHA512 ...... USBメモリにコピーするとインストールできるイメージができました!

次に、USBメモリに書き込むとそのまま使えるLiveイメージを作ってみましょう。

% ./build.sh -U -m i386 live-image RELEASEDIR path: /home/jun/NetBSD/src/obj/releasedir $ ls /home/jun/NetBSD/src/obj/releasedir/images/ MD5 NetBSD-6.99.22-i386-install.img.gz NetBSD-6.99.22-i386-live-sd0root.img.gz ... liveイメージができました! NetBSD-6.99.22-i386-live-wd0root.img.gz NetBSD-6.99.22-i386.iso SHA512

X11も作ってみる

X11を含んだ形のCD-ROMイメージを作ってみましょう。

% cd .. % ls src src.tar.gz % ftp ftp://ftp.jp.NetBSD.org/pub/NetBSD/NetBSD-current/tar_files/xsrc.tar.gz % tar xzvf xsrc.tar.gz % ls src src.tar.gz xsrc xsrc.tar.gz % cd src % ./build.sh -U -u -X ../xsrc -x -m i386 release -u オプション: 初期化しない -X [パス名] : Xを作る。パス名を指定しない場合/usr/xsrc

12 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

Xのコンパイルができました。X関連のtgzファイルができています。

% $ ls /home/jun/NetBSD/src/obj/releasedir/i386/binary/sets MD5 games.tgz kern-XEN3_DOM0.tgz tests.tgz xfont.tgz SHA512 kern-GENERIC.tgz kern-XEN3_DOMU.tgz text.tgz xserver.tgz base.tgz kern-MONOLITHIC.tgz man.tgz xbase.tgz comp.tgz kern-XEN3PAE_DOM0.tgz misc.tgz xcomp.tgz etc.tgz kern-XEN3PAE_DOMU.tgz modules.tgz xetc.tgz

Xを含むCD-ROM/起動イメージを作ってみましょう。

% ./build.sh -U -u -m i386 iso-image % ./build.sh -U -u -m i386 install-image % ./build.sh -U -u -m i386 live-image % ls ls /home/jun/NetBSD/src/obj/releasedir/images/ MD5 NetBSD-6.99.22-i386-install.img.gz NetBSD-6.99.22-i386-live-sd0root.img.gz NetBSD-6.99.22-i386-live-wd0root.img.gz NetBSD-6.99.22-i386.iso SHA512

X Window システムの初期設定

X Windowシステムも含めてインストールした場合、以下の手順で設定ファイルを作ります。

% su root .... root権限で実行します。 # X -configure .... /root/xorg.conf.new ができます。 # mv /root/xorg.conf.new /etc/X11/xorg.conf % startx .... twmの画面が出てくれば成功です!twm!twm! % xeyes & .... 浮動小数点チェック:ちゃんと目が回るかな?

.xinitrc のコピー

cp /etc/X11/xinit/xinitrc ~/.xinitrc

キーボードレイアウトの変更

コンソール画面ではwsconsを利用して、キーボードレイアウトを変更します。

% more /etc/wscons.conf : # Select a kernel builtin keyboard map by uncommenting the following line and # altering the country code to your requirements # (choose from user, us, uk, be, cz, dk, nl, fi, fr, de, gr, hu, it, jp, no, # pl, pt, ru, es, sv, sf, sg, ua) # See wsconsctl(8), pckbd(4), ukbd(4) etc. for more details. #encoding us.swapctrlcaps encoding jp.swapctrlcaps .... この行を追加します

X Window システムでは、setxkbmapコマンドを利用して、レイアウトを切り替えます。

setxkbmap -model jp106 jp -option ctrl:swapcap

外部ディスプレイへの出力切り替え

外部ディスプレイへの出力は、xrandrコマンドで行います。xrandrを実行すると、X画面が表示されますが、色がおかしい場 合、コンソールを一度、X以外に切り替えてからX画面に戻ると正しく表示されます。うまく切り替わらない場合は、/etc /rc.confに、wscons=YESが指定してあるか確認してください。

% grep wscons /etc/rc.conf wscons=YES % xrandr --auto ... 外部ディスプレイ端子に出力されます。 Control+Alt+F4 を押して、コンソール画面に切り替えます。 Control+Alt+F5 を押して、X画面に戻ります。

ネットワーク設定

13 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

DHCPでつないでみる

# dhcpcd ale0

無線LANの設定(WEP)

# ifconfig ath0 up # ifconfig ath0 ssid "SSIDをここに書く" nwkey "WEPキーをここに書く"

無線LANの設定(WPA-PSK)

% cat wpa.conf ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=wheel

network={ ssid="SSIDをここに書く" scan_ssid=1 key_mgmt=WPA-PSK psk="pskをここに書く" } # /usr/sbin/wpa_supplicant -B -i athn0 -c wpa.conf # dhcpcd athn0

rc.d

# ls /etc/rc.d DAEMON downinterfaces ldpd perusertmp savecore DISKS envsys local screenblank LOGIN fccache lpd pf_boot securelevel NETWORKING fsck lvm pflogd sshd RCS fsck_root makemandb postfix staticroute SERVERS ftp_proxy mdnsd powerd swap1 accounting ftpd mixerctl ppp swap2 altqd gpio mopd pwcheck amd hostapd motd quota sysdb apmd httpd mountall racoon syslogd bluetooth identd mountcritlocal raidframe timed bootconf.sh ifwatchd mountcritremote raidframeparity tpctl bootparams inetd mountd random_seed ttys ccd moused rarpd cgd ipfs mrouted rbootd virecover cleartmp ipmon named rndctl wdogctl cron ipnat ndbootd root wpa_supplicant dbus ipsec network route6d wscons devpubd irdaattach newsyslog routed wsmoused dhclient iscsi_target nfsd rpcbind xdm dhcpcd isdnd nfslocking rtadvd xfs dhcpd isibootd rtclocaltime ypbind dhcrelay kdc ntpd rtsold yppasswdd dmesg ldconfig ntpdate rwho ypserv # cat /etc/rc.conf : wscons=YES rtclocaltime=YES hostname=yourhostname.example.com ip6mode=autohost rtsol=YES sshd=YES powerd=YES dbus=YES

httpdの起動方法

NetBSDには、標準でbozohttpdというhttpdプログラムが含まれています。以下の手順で起動できます。

# cat > /var/www/index.html << EOF test page test

14 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

EOF # /etc/rc.d/httpd onestart # grep httpd /etc/rc.conf httpd=YES # /etc/rc.d/httpd start # /etc/rc.d/httpd stop

TireI/II/III

Tier I

Tier I: Focus — support is part of NetBSD’s strategy Port CPU Machines Latest Release amd64 x86_64 64-bit x86-family machines 6.1 with AMD and Intel CPUs evbarm arm ARM evaluation boards 6.1 evbmips mips MIPS-based evaluation boards 6.1 evbppc powerpc PowerPC-based evaluation 6.1 boards hpcarm arm StrongARM based Windows CE 6.1 PDA machines i386 i386 32-bit x86-family generic 6.1 machines (“PC clones”) sparc64 sparc Sun UltraSPARC (64-bit) 6.1 xen i386 x86_64 Xen Virtual Machine Monitor 6.1

Tier II

Tier II: Organic — evolving at its own pace Port CPU Machines Latest Release acorn26 arm Acorn Archimedes, A-series 6.1 and R-series systems acorn32 arm Acorn RiscPC/A7000/NC and 6.1 compatibles algor mips Algorithmics MIPS evaluation 6.1 boards alpha alpha Digital Alpha (64-bit) 6.1 amiga m68k Commodore Amiga, 6.1 MacroSystem DraCo amigappc powerpc PowerPC-based Amiga boards 6.1 arc mips Machines following the 6.1 Advanced RISC Computing spec atari m68k Atari TT030, Falcon, Hades 6.1 bebox powerpc Be Inc’s BeBox 6.1 cats arm Chalice Technology’s Strong 6.1 Arm evaluation board cesfic m68k CES’s FIC8234 VME processor 6.1 board cobalt mips Cobalt Networks’ Microservers 6.1 dreamcast sh3 Sega Dreamcast game console 6.1 emips mips Machines based on “Extensible 6.1 MIPS” evbsh3 sh3 Evaluation boards with 6.1 Renesas (Hitachi) Super-H SH3 and SH4 CPUs ews4800mips mips NEC’s MIPS based EWS4800 6.1 workstations hp300 m68k Hewlett-Packard 9000/300 and 6.1 400 series hp700 hppa Hewlett-Packard 9000/700 6.1 series

15 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

hpcmips mips MIPS based Windows CE PDA 6.1 machines hpcsh sh3 Renesas (Hitachi) SH3 and SH4 6.1 based Windows CE PDA machines ia64 itanium Itanium family of processors none ibmnws powerpc IBM Network Station Series 6.1 1000 iyonix arm Iyonix ARM pc 6.1 landisk sh3 SH4 based NAS appliances by 6.1 I-O DATA luna68k m68k OMRON Tateisi Electronics’ 6.1 LUNA series mac68k m68k Apple Macintosh 6.1 macppc powerpc Apple Power Macintosh and 6.1 clones mipsco mips Mips family of workstations 6.1 and servers mmeye sh3 Brains’ mmEye Multi Media 6.1 Server mvme68k m68k Motorola MVME 68k SBCs 6.1 mvmeppc powerpc Motorola MVME PowerPC SBCs 6.1 netwinder arm StrongARM based NetWinder 6.1 machines news68k m68k Sony’s m68k based “NET WORK 6.1 STATION” series newsmips mips Sony’s MIPS based “NET WORK 6.1 STATION” series next68k m68k NeXT 68k ‘black’ hardware 6.1 ofppc powerpc Generic OpenFirmware 6.1 compliant PowerPC machines pmax mips Digital MIPS-based 6.1 and DECsystems prep powerpc PReP (PowerPC Reference 6.1 Platform) and CHRP machines rs6000 powerpc MCA-based IBM RS/6000 6.1 workstations sandpoint powerpc Motorola Sandpoint reference 6.1 platform sbmips mips Broadcom SiByte evaluation 6.1 boards sgimips mips Silicon Graphics’ MIPS-based 6.1 workstations shark arm Digital DNARD (“shark”) 6.1 sparc sparc Sun SPARC (32-bit) 6.1 sun2 m68k Sun 2 6.1 sun3 m68k Sun 3 and 3x 6.1 vax vax Digital VAX 6.1 x68k m68k Sharp X680x0 series 6.1 zaurus arm Sharp C7x0/C860/C1000/C3x00 6.1 series PDA

Tier III: Life Support — severely incapacitated or broken

TierIII状態のPortはありません。

サポートしているCPU

Ports by CPU architecture CPU Tier(s) Port(s) alpha II alpha

16 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

arm I, II acorn26 acorn32 cats evbarm hpcarm iyonix netwinder shark zaurus hppa II hp700 i386 I i386 xen m68010 II sun2 m68k II amiga atari cesfic hp300 luna68k mac68k mvme68k news68k next68k sun3 x68k mipseb I, II emips evbmips ews4800mips mipsco newsmips sbmips sgimips mipsel I, II algor arc cobalt evbmips hpcmips pmax sbmips powerpc I, II amigappc bebox evbppc ibmnws macppc mvmeppc ofppc prep rs6000 sandpoint sh3eb II evbsh3 mmeye sh3el II dreamcast evbsh3 landisk hpcsh sparc II sparc sparc64 I sparc64 (Can also run sparc binaries) vax II vax x86_64 I amd64 (Can also run i386 binaries), xen

NetBSDを使ってみる

daily-snapshot

ftp://nyftp.netbsd.org/pub/NetBSD-daily/ 以下には、 毎日コンパイルされているNetBSDの動作イメージがあります。 ミラーサイトは、 http://nycdn.netbsd.org/pub/NetBSD-daily/ にあります。

ftp://nyftp.netbsd.org/pub/NetBSD-daily/ の一覧 名前 サイズ 最終更新日時 HEAD 2013年07月10日 01時00分00秒 ファイル:README 1 KB 2012年11月21日 00時00分00秒 netbsd-5 2013年07月10日 01時00分00秒 netbsd-5-1 2013年07月05日 01時00分00秒 netbsd-5-2 2013年07月01日 01時00分00秒 netbsd-6 2013年07月04日 01時00分00秒 netbsd-6-0 2013年07月03日 01時00分00秒 ftp://nyftp.netbsd.org/pub/NetBSD-daily/HEAD の一覧 名前 サイズ 最終更新日時 201307060520Z 2013年07月06日 18時13分00秒 201307070030Z 2013年07月07日 12時23分00秒 201307071220Z 2013年07月08日 00時24分00秒 201307080020Z 2013年07月08日 12時17分00秒 201307081220Z 2013年07月09日 00時15分00秒 201307090630Z 2013年07月09日 18時29分00秒

PCでどの程度起動するか確認する

ftp://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201307080020Z/images/NetBSD-6.99.23-amd64-install.img.gz

RPIでどの程度起動するか確認する

ftp://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201307080020Z/evbarm/binary/gzimg/rpi.img.gz ftp://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201307080020Z/evbarm/binary/gzimg/rpi_inst.img.gz

ておくれイメージ

筒井さんが配布しているNetBSD/i386,amd64,WZero3で動作する イメージファイルがあります。 NetBSDの設定例としても優れているの で、一読をおすすめします。

17 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

http://www.ceres.dti.ne.jp/tsutsui/netbsd/liveimage ...i386/amd64 http://www.ceres.dti.ne.jp/tsutsui/netbsd/liveimage/wzero3.html ..WZero3

http://www.youtube.com/watch?v=Jl0BZVfVSLs ... WZero3起動動画 http://www.slideshare.net/tsutsuii/netbsdcrossliveimage http://www.ceres.dti.ne.jp/tsutsui/osc12do/NetBSD-cross-liveimage.html

RaspberryPI用NetBSDイメージ

RaspberryPI用NetBSDイメージを配布しています。SDカードにコピーして、RaspberryPIから起動すると動作します。

ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/ ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/README-RPI.pdf

ドリームキャスト版CD

http://ftp.netbsd.org/pub/NetBSD/misc/tsutsui/dreamcast/ dreamcastbootcd-20101010.tar.gz

1. CD-R付きNetBSDマシンで展開します。 2. CD-R入れる 3. makeすると、バイナリをダウンロードしてブートCDが焼ける 4. dreamcastに入れるとNetBSDが起動します。

X68030エミュレータ XM6i

Windows/NetBSD/CentOS上で動くX68000エミュレータです。

NetBSD/x68kがブートします http://xm6i.org/ OSC広島で祭り 21世紀のX68→実機デバッグ&エミュレータデバッグ CPU内部の挙動を細かく観測できる ATCエントリが見える

WindowsCE向けNetBSD

MIPS系CPU搭載 NEC MobileGear SHARP Tellios

SH系CPU搭載 HP Jornadaシリーズ SEGA DreamCast ARM系CPU搭載 Compaq iPAQ HP Jornadaシリーズ 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

18 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

StrongArm搭載WindowsCEマシン向け SA-1100/1110対応 HP Jornada720 WZero3 Compaq iPAQ hpcファミリー中最速

NetBSD/evbarm

RPI Gumstix Netwalker (KOBO)

新しく移植するときには

1. まず、機種に依存しない部品を組み合わせます CPU..バス.. 2. 次に機種依存部分だけを追加します 3. 足りない部分を作りこみます 4. 自分で自分をコンパイルして、配布できる状態にします 5. pkgsrcにあるソフトウェアを実際に動かしてみます 6. 何か目的を持った配布イメージを配ってみます

twitterクライアント,Webサーバ....

移植成果をNetBSDに組み込む

カーネル部分を移植する セルフコンパイルでスナップショット作成 パッケージソフトウェアセットを作る ドキュメント整備 Web・マニュアル・FAQ インストーラを作る メーリングリストを作る

プログラミング以外にすること

Port登録 NetBSD/???? 部分 Webページ作成 バグレポートデータベース作成 GNATS マニュアル作成 インストールマニュアル・マニュアル・FAQ メーリングリスト作成 ニュースとして報告

アーキテクチャに共通する部分

Package system バス USB、CardBus デバイスドライバ オーディオフレームワーク OSエミュレーション バスサポート

仮想デバイス

Concatenated disk driver Memory disk driver RAIDframe disk Random device Vnode disk

物理デバイス

オーディオデバイス WSCONS - ワークステーションコンソール

19 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

wsdisplay wskbd wsmouse

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

2038年問題

1970/1/19 0:0:0 GMTからの経過秒数 2^31-1=2147483647 2,147,483,648秒以上を表示できるか 対応済み:date -r 2147483648 Tue Jan 19 12:14:08 JST 2038

未対応:date -r 2147483648 Tue Jan 19 12:14:07 JST 2038

NetBSD:カーネル

機種に依存する部分 i386/MIPS/SH/68000… デバイスに依存する部分 PCIバス/ISAバス/PCMCIA… その他 メモリ管理

新しいマシンをサポートするには

搭載CPUがサポートされているか? 搭載バスがサポートされているか? 搭載デバイスがサポートされているか? 共有部分はすべてで共有できる サポートされていない部分だけを作り、CVSツリーに追加する

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開発ロードマップ

20 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

NetBSD release announcements NetBSD 0.8 20 Apr 1993 NetBSD 0.9 23 Aug 1993 NetBSD 1.0 26 Oct 1994 NetBSD 1.1 26 Nov 1995 NetBSD 1.2 04 Oct 1996 NetBSD 1.2.1 20 May 1997 NetBSD 1.3 04 Jan 1998 NetBSD 1.3.1 09 Mar 1998 NetBSD 1.3.2 29 May 1998 NetBSD 1.3.3 23 Dec 1998 NetBSD 1.4 12 May 1999 NetBSD 1.4.1 26 Aug 1999 NetBSD 1.4.2 19 Mar 2000 NetBSD 1.4.3 25 Nov 2000 NetBSD 1.5 06 Dec 2000 NetBSD 1.5.1 11 Jul 2001 NetBSD 1.5.2 13 Sep 2001 NetBSD 1.5.3 22 July 2002 NetBSD 1.6 14 Sep 2002 NetBSD 1.6.1 21 Apr 2003 NetBSD 1.6.2 01 Mar 2004 NetBSD 2.0 09 Dec 2004 NetBSD 2.0.2 14 Apr 2005 NetBSD 2.0.3 31 Oct 2005 NetBSD 2.1 02 Nov 2005 NetBSD 3.0 23 Dec 2005 NetBSD 3.0.1 24 July 2006 NetBSD 3.0.2 04 Nov 2006 NetBSD 3.1 04 Nov 2006 NetBSD 4.0 19 Dec 2007 NetBSD 4.0.1 14 Oct 2008 NetBSD 5.0 29 Apr 2009 NetBSD 5.0.1 02 Aug 2009 NetBSD 5.0.2 12 Feb 2010 NetBSD 5.1 19 Nov 2010 NetBSD 5.1.2 02 Feb 2012 NetBSD 5.2 03 Dec 2012 NetBSD 6.0 17 Oct 2012 NetBSD 6.0.1 26 Dec 2012 NetBSD 6.0.2 18 May 2013 NetBSD 6.1 18 May 2013

Automated Testing Framework

http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/ に、i386/amd64に関する自動テストレポートがあります。

# cd /usr/tests; # atf-run | atf-report

組織構成

Core 5人 テクニカルマネージメント Port maintainer 28人 各実装に関する担当者 Developer CVS/WWW/FTP等開発資産に書き込みできる アクティブなのは188人

NetBSD Foundation,Inc

21 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

デラウェア州の法人組織 サーバマシンを所有 お金と寄付を管理 NetBSDの版権を管理 http://www.NetBSD.org/foundation/

developer

直接ソースを変更できる CVS/FTP/WWWサーバの内容 世界中で256人 GNATSでバグ管理 cvsweb.netbsd.org 日本人40人 http://www.NetBSD.org/people/developers.html

NetBSD開発者世界分布図

NetBSD開発者分布図

Developerになるには(1)

PGP/GnuPGの鍵を作る fingerprint印刷 gpg –fingerprint [email protected] fingerprint交換 他のDeveloperとfingerprint印刷を交換 本人確認 公的証明書を見せあって本人確認

Developerになるには(2)

相手の鍵を取り込んで、fingerprint照合 gpg-email-confirm [email protected].. ランダムな文字列を送る メールを暗号化して送り返してもらう 送った文字列とメールアドレスを照合する 鍵にサインしてもらって送り返してもらう 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サポート

22 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

MIPS/SH/m68K NetBSD書籍が世界一多く出版される developer53人

クロス開発環境

NetBSD/i386でクロスコンパイル build.sh –m hpcmips

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アプリケーションをそのまま動かす ゲーム/WINE

Unixware

NetBSD開発者情報

ftp/WWW/CVS/SUPサーバ http://www.jp.NetBSD.org/ja/JP/sites.html

開発環境設定方法 http://www.NetBSD.org/developers/ http://releng.NetBSD.org

ソースコード取得方法

ftp Cvs cvsup Sup Anonymous CVS rsync

www.netbsd.org 翻訳

現在 www.netbsd.org上のCVSリポジトリ 削除→各国のwwwサーバ 各国の翻訳 ドイツ語 韓国語 ポーランド語 フランス語 緊急度の高い情報を正確に広報する 古いドキュメントでもあった方がいいか そもそも英語 のドキュメントは正確か

まとめ

23 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

NetBSDはいろんなハードで動きます 自作ソフトをいろんなCPUで試せます 最初から移植を考えて設計されています 試作機に移植する工数が最小ですみます 自分の専門分野だけを組み込めます 自由に利用可能で再配布可能なOSです 移植するとIPv6マシンに変貌 さまざまなCPU向けIPv6スタックがあります 愛着あるハードウェアが生き返ります 最新のネットワークコードが利用できます もしかしたらリサイクル団体なんでしょうか? NetBSD/x68k

「動かしたいアプリが自分の持ってるコンピュータで動かない場合、たとえばAndroid用出てるけどiOS用はない、みたいのは今でも理解 してもらえると思うけど、どうしても動かしたい+ソースはある→移植するぜ、ってやっちゃったのがNetBSD/x68kでした。」 [18]

X68K関連発表

X680x0 でもユーザストリームがしたい! OSC2014広 http://www.pastel-flower.jp/-isaki/NetBSD/osc14hi/ 島 NetBSD/x68k 近況 OSC2014広 http://www.pastel-flower.jp/-isaki/NetBSD/osc14hi/ 島 NetBSD/x68k 近況 OSC2013広 http://www.pastel-flower.jp/-isaki/NetBSD/osc13hi/ 島 (XM6iによる?)NetBSD/m68k FPE の実装 OSC2013広 http://www.pastel-flower.jp/-isaki/NetBSD/osc13hi/ 島 NetBSD/x68kとXM6i 追いかけっこ開発 OSC2012広 http://xm6i.org/event/osc2012hi 島 OSC展示に見るNetBSD6.0新機能 OSC2012広 http://www.slideshare.net/tsutsuii/osc-netbsd-60 島 NetBSD/x68k近況 OSC2012愛 http://xm6i.org/event/osc2012eh/page1.html 媛 XM6iのご紹介 OSC2011広 http://xm6i.org/event/osc2011hi 島

OSCとX68K展示

24 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

OSC2015京都 2012/10/20 XM6i-earmv6hf初展示 OSC2014広島 2012/10/20 Neptune-X Nereid 060turbo Xellent30 XM6i OSC2013広島 2012/10/20 Neptune-X Nereid 060turbo Xellent30 XM6i OSC2012広島 2012/10/20 Neptune-X Nereid 060turbo Xellent30 XM6i OSC2011広島 2011/10/1 Neptune-X Nereid 060turbo XM6i OSC2011神戸 2011/4/16 TT030 X68K OSC2010東京秋 2010/9 XM6i 初展示 /10-11 OSC2007東京秋 2007/10/5-6 Nereid オープンソース祭り2001 2001/2 X68030 みのうらさんの? [6] /10-11

NetBSDでXM6iを動かしてみる。

NetBSD/amd64を用意し、その上でXM6iを動かしてみます。

必要なパッケージのインストール

XM6iを動かすために必要なパッケージをインストールしておきます。

# cd /usr/pkgsrc/x11/wxGTK30 # make package-install

XM6iのダウンロード

XM6iをダウンロードして、展開します。

# mkdir -p /usr/local/XM6i # cd /usr/local/XM6i # http://xm6i.org/download.html # tar xzvf XM6i-0.51-netbsd7.0-i386-amd64-2015Q2.tar.gz

参考資料

[1] Neptune-X http://www.amy.hi-ho.ne.jp/shimada/neptune/ [2] Nereid http://xps.jp/ [3] 060turboの世界 http://homepage2.nifty.com/m_kamada/docs/060turbo.htm [4] Xellent30 関連 http://retropc.net/x68000/software/hardware/xellent30/ [5] X68000 LIBRARY http://retropc.net/x68000/

25 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

[6] オープンソースまつり2001 in 秋葉原 http://www.cqpub.co.jp/interface/column/ShowandNews/010211/010211.htm [7] XM6i http://xm6i.org/ [8] xkeropi http://www.asahi-net.or.jp/-aw9k-nnk/keropi/ [9] XM6i/TypeG勉強会 http://xm6i.org/event/meeting1/ [10] NetBSD/x68k開発用 X68030 ブートストラップ起動動作仕様 http://togetter.com/li/410617 [11] 21世紀のX68000まとめ http://togetter.com/li/195551 [12] X68/040turbo―A Story of Making“After X68030 ,ソフトバンククリエイティブ,1994 [13] NetBSD/X68k (X68k Programming Series),ソフトバンククリエイティブ,1995 [14] 究極!!X68000エミュレータ,秀和システム,2001 [15] Inside X68000,ソフトバンククリエイティブ,1992 [16] X68000テクニカルデータブック,アスキー,1987 [17] Outside X68000,ソフトバンククリエィティブ,1993 [18] https://twitter.com/masaru0714/status/506653219687120896 ザウルスでNetBSDを使ってみる

用意するもの

1. ザウルス本体 2. 1G以上のSDカードまたはMicroSDカード+SDカードアダプタ 3. 2G以上のSDカードを使う場合、SD+SDHCドライバインストール用に、1G以下のSDカードまたはコンパクトフラッシュ。 4. ディスクイメージコピー用NetBSDマシン 5. USBカードリーダ

SDカード用デバイスドライバのインストール

ザウルスSL-Cシリーズでは、2G以上のSDカードを利用できません。 「SL-A300、SL-Cシリーズ、SL-6000用のSD+SDHCドライバ」( [http://petit-noise.net/download/sdhc-driver])を利用すると2G以上のSDカードを利用できます。

ダウンロード

SL-Cxx00用 http://petit-noise.net/system/files/zaurus-sd-driver-update_2.1-for-Cxx00_arm.ipk SL-C750/760/860用 http://petit-noise.net/system/files/zaurus-sd-driver-update_2.1-for-Cxx0_arm.ipk SL-C700用 http://petit-noise.net/system/files/zaurus-sd-driver-update_2.0-for-C700_arm.ipk

インストール

ダウンロードしたzaurus-sd-driver-update_2.1-for-C..._arm.ipkを、CFカードまたは、1GB以下のSDカードにコピーします。コ ピーしたカードをザウルスのカードスロットに差します。

デバイスドライバのインストール

ザウルスを起動し、ファイル→CFカード→zaurus-sd-driver-update_2.1-for-C..._arm.ipkをクリック→インストール先 本体メ モリーを選ぶ→再起動 OKを選択→メニューバー右上のXをクリックすると再起動が始まります。

NetBSDディスクイメージのダウンロード

http://ftp.netbsd.org/pub/NetBSD/misc/tsutsui/zaurus/ ftp ftp://ftp.netbsd.org/pub/NetBSD/misc/tsutsui/zaurus/netbsd-zaurus-20120204-1GB-SD.img.gz

ディスクイメージをコンパクトフラッシュにコピーする

NetBSDをインストールするSDカードをUSBカードアダプタ経由でNetBSDマシンにつなぎます。

# dmesg .... sd3に2GBのMicroSDカードがつながっています。 sd3 at scsibus0 target 0 lun 3: disk removable sd3: fabricating a geometry sd3: 1936 MB, 1936 cyl, 64 head, 32 sec, 512 bytes/sect x 3964928 sectors

26 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

sd3: fabricating a geometry # disklabel sd3 ... sd3のパーティションを確認します。 : 4 partitions: # size offset fstype fsize bsize cpg/sgs a: 2030112 0 MSDOS # (Cyl. 0 - 991*) d: 2030112 0 unused 0 0 # (Cyl. 0 - 991*) ... NetBSDではdパーティションがディスク全体になります。 # gunzip < netbsd-zaurus-20120204-1GB-SD.img.gz|dd of=/dev/rsd3d bs=1m 0+14144 records in 0+14144 records out 926941184 bytes transferred in 158.240 secs (5857818 bytes/sec) USBカードリーダーを差し直します。 # disklabel sd3 8 partitions: # size offset fstype fsize bsize cpg/sgs a: 1742848 67584 4.2BSD 2048 16384 128 # (Cyl. 33 - 883) b: 131072 1810432 swap # (Cyl. 884 - 947) c: 1742848 67584 unused 0 0 # (Cyl. 33 - 883) d: 1941504 0 unused 0 0 # (Cyl. 0 - 947) e: 65536 2048 MSDOS # (Cyl. 1 - 32)

ターミナルソフトのインストール

ターミナルソフトのダウンロード

ftp http://kimux.org/liza/arc/qpe-embeddedkonsole-ja_1.6.0-wide3_arm.ipk

ターミナルソフトのコピー

# mount_msdos /dev/sd3e /mnt # cp qpe-embeddedkonsole-ja_1.6.0-wide3_arm.ipk /mnt # umount /mnt

ターミナルソフトのインストール

ターミナルソフトをインストールするために、ファイル→SDカード→qpe-embeddedkonsole-ja_1.6.0-wide3_arm.ipkをク リックして、インストーラ経由でターミナルソフトをインストールします。

ターミナルソフトの起動

アプリケーションメニュー内に端末ウィンドウアイコンがあることを確認します。端末ウィンドウアイコンを長押しして離す と、プロパティメニューを表示します。チェックボックス 「アプリケーションをVGA(480x640ドット)の画面に最適化して実行 する」のチェックを外して、「OK」ボタンを押してアイコン画面に戻ります。

端末ウィンドウアイコンをクリックして、ターミナルを起動します。フォントの大きさは、Fn+Qで現れるメニューで変更できます。

NetBSDの起動

SL-C700以外

bash-2.05$ cd /mnt/card bash-2.05$ su # insmod -f zbsdmod.o # ./zboot : NetBSD/zaurus (Amnesiac) (console)

login:

SL-C700の場合

メンテナンスカーネルからLinuxを起動

BとDを押しながら、電池ぶたロックをロック、解除、ロックと動かして電源ボタンを押すと、メンテナンスカーネルが起動し ます。 メンテナンスカーネルでは、1GB以上のSDカードは認識しないため、差しておくとキーボード入力を受け付けません。

rootでログインします。

27 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

# zaurus login: root # cd /mnt/card # insmod -f zbsdmod.o # ./zboot スペースキーを押して中断します。 > boot netbsd.c700 :

ログイン

rootでログインします。

X起動

startxコマンドを実行すると、Xサーバが起動します。

cp /etc/X11/xinit/xinitrc ~/.xinitrc chmod +w ~/.xinitrc vi ~/.xinitrc /etc/X11/xorg.conf: Section "Device" : # Option "Rotate" "CW" ... この行をコメントアウトしてください。 EndSection

NetBSD6.1.5用イメージ

NetBSD6.1.5用のイメージを作りました。 http://mail-index.netbsd.org/port-zaurus/2014/12/06/msg000056.html

ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/zaurus/2014-12-06-netbsd6-zaurus.img.gz

このイメージを2GB以上の容量のコンパクトフラッシュにコピーします。

# ftp ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/zaurus/2014-12-06-netbsd6-zaurus.img.gz # gunzip < 2014-12-06-netbsd6-zaurus.img.gz |dd of=/dev/コンパクトフラッシュのデバイス 例) # gunzip < 2014-12-06-netbsd6-zaurus.img.gz |dd of=/dev/rsd3d ザウルスを起動します。 # cd /mnt/cf # ./Boot で起動します。起動デバイスはwd0を指定してください。

ZAURUS用の動くイメージを作ってみる

https://github.com/ebijun/NetBSD/tree/master/zaurus/Image の下にある Makefileを見てみてください。

# make # make release

とすると、イメージファイルができます。

参考リンク

より詳細な説明は、以下のリンクを参考にしてください。

NetBSD/zaurus installation tips [http://mail-index.netbsd.org/port-zaurus/2011/05/20/msg000045.html] ↑日本語訳 [http://www.na.rim.or.jp/~kano/tmp/msg000045ja.html] [http://ftp.jp.NetBSD.org/pub/NetBSD/misc/tsutsui/zaurus/] ザウルス SL-C700 シリアルケーブル作成 [http://togetter.com/li/237198] NetBSDでザウルス SL-C700 サポートするぞ [http://togetter.com/li/242873] NetBSD/zaurus お試し用 1GB SDイメージ [http://togetter.com/li/243703] SDHCドライバ [http://petit-noise.net/download/sdhc-driver] SL-C700でNetBSD/zaurus [http://qml.610t.org/FreeBSD/mutoh_20120212.html] NetBSD/zaurus [http://www.NetBSD.org/ports/zaurus/] NetBSD Guide [http://www.NetBSD.org/docs/guide/download/netbsd-en.pdf.gz] Pkgsrc Guide [http://www.NetBSD.org/docs/pkgsrc/pkgsrc.pdf] 日本NetBSDユーザーグループ [http://www.jp.NetBSD.org/]

28 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

日本NetBSDユーザーグループfacebookページ [http://www.facebook.com/NetBSD.jp] WZERO3でNetBSDを使ってみる

NetBSD/hpcarm 6.1 W-ZERO3 ておくれLive Image

筒井さんによる、ておくれイメージのページも見てください。 http://www.ceres.dti.ne.jp/tsutsui/netbsd/liveimage/wzero3.html

用意するもの

1. WZERO3本体 WS003SH/WS004SH/WS007SH/WS011SH/WS020SH 2. ディスクイメージコピー用NetBSDマシン 3. USBカードリーダ 4. NetBSDインストール用メモリカード

WS003SH/004SH/007SH MiniSDカードが必要です。MicroSDカードとMiniSDカードアダプタを組み合わせても利用できます。 2G以上のSDHCカードを使う場 合は、SDHCドライバをインストールするために、2G以下のSDカードが必要です。 WS011SH/WS020SH 2G以上のMicroSDカード

SDカード用デバイスドライバのインストール

WS003SH,WS004SH,WS007SHで、2G以上のSDHCカードを利用するためにはSDカード用デバイスドライバをインストールします。

SDHCドライバ http://w-zero3.org/?%A5%B7%A5%B9%A5%C6%A5%E0%B4%D8%B7%B8#wf87e46c

インストール

ダウンロードしたSDHCドライバを、2GB以下のMicro/MiniSDカードにコピーします。コピーしたカードをWZEROのカードス ロットに差します。

デバイスドライバのインストール

WZERO3を起動し、ファイルエクスプローラ→mini/microSDカード→コピーしたSDHCドライバをクリック→インストールす る場所 デバイスを選んでインストール→再起動 OKを選択→メニューバー右上のXをクリックすると再起動が始まります。

NetBSDディスクイメージのダウンロード

NetBSD7.99.4インストール済みのディスクイメージファイルを作りました。

ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/hpcarm/2015-01-24-netbsd-hpcarm.img.gz

ディスクイメージをコンパクトフラッシュにコピーする

NetBSDをインストールするMini/MicroSDカードをUSBカードアダプタ経由でNetBSDマシンにつなぎます。

# dmesg .... sd3に2GBのMicroSDカードがつながっています。 sd3 at scsibus0 target 0 lun 3: disk removable sd3: fabricating a geometry sd3: 1947 MB, 1947 cyl, 64 head, 32 sec, 512 bytes/sect x 3987456 sectors sd3: fabricating a geometry # disklabel sd3 ... sd3のパーティションを確認します。 : 5 partitions: # size offset fstype fsize bsize cpg/sgs d: 3987456 0 unused 0 0 # (Cyl. 0 - 1946) e: 3987209 247 MSDOS # (Cyl. 0*- 1946) ... NetBSDではdパーティションがディスク全体になります。 # gunzip < 2014-12-06-netbsd6-hpcarm.img.gz |dd of=/dev/rsd3d bs=1m USBカードリーダーを差し直します。 # disklabel sd3 # size offset fstype fsize bsize cpg/sgs

29 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

a: 2947392 393216 4.2BSD 2048 16384 0 # (Cyl. 97*- 828*) b: 526016 3340608 swap # (Cyl. 828*- 958*) c: 3473408 393216 unused 0 0 # (Cyl. 97*- 958*) d: 3964928 0 unused 0 0 # (Cyl. 0 - 983*) e: 393184 32 MSDOS # (Cyl. 0*- 97*)

NetBSDの起動

hpcboot起動

ファイルエクスプローラ→hpcboot.exe を起動すると、ブートローダhpcbootが起動します。

hpcboot内で機種とカーネルを指定

1. mini/microSDカード→カード種別を指定します。 2. netbsd→呼び出すカーネルを指定します。 3. Sharp W-ZERO3(WS004SH)→機種名をプルダウンメニューから選択します。

NetBSD起動

Bootボタンを押すと、本当に起動していいか確認メニューが現れます。NetBSDを起動すると、WZERO3のメモリ上にセーブし ていたデータは消えてしまうので、必要ならバックアップをとっておいてください。

ログイン

root でログインできます。

login: root

X起動

startxコマンドを実行すると、Xサーバが起動します。

# startx

無線LAN (WS003SH/004SH)

NetBSD起動前にWindowsMobile上で有効(無線LAN LED点灯状態)にしておきます。 「スタート」→「設定」→「ユーティ リティ」→「無線ON/OFF」→「内蔵ワイアレスLANを停止」チェックをはずす→MACアドレスが表示されるか確認する [http://www.nazgul.ch/upgt/upgt-firmware-1.1.tar.gz]をダウンロードします。

% tar xzpvf upgt-firmware-1.1.tar.gz : % ls -l total 68 -rw-r--r-- 1 root wheel 23 Dec 23 2008 Makefile -rw-r--r-- 1 root wheel 28976 Dec 23 2008 upgt-gw3887 -rw-r--r-- 1 root wheel 372 Dec 23 2008 upgt-info # dmesg ... MicroSDカードをUSBカードアダプタ経由でNetBSDマシンにつなぎます。 : sd3 at scsibus0 target 0 lun 3: disk removable sd3: fabricating a geometry sd3: 1947 MB, 1947 cyl, 64 head, 32 sec, 512 bytes/sect x 3987456 sectors sd3: fabricating a geometry # fsck /dev/sd3a ... sd3にメディアがつながっている場合 # mount /dev/sd3a /mnt ... /mntにマウントする。 無線LANのファームウェアをコピーします。 # cp upgt-gw3887 /mnt/libdata/firmware/upgt/upgt-gw3887

参考リンク

より詳細な説明は、以下のリンクを参考にしてください。

http://www.ceres.dti.ne.jp/tsutsui/netbsd/liveimage/wzero3.html http://ftp.netbsd.org/pub/NetBSD/misc/tsutsui/wzero3/ http://ftp.netbsd.org/pub/NetBSD/misc/tsutsui/wzero3/README.ja

30 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

NetBSD Guide [http://www.NetBSD.org/docs/guide/download/netbsd-en.pdf.gz Pkgsrc Guide [http://www.NetBSD.org/docs/pkgsrc/pkgsrc.pdf http://www.amazon.co.jp/dp/B000L81AAU/ 日本NetBSDユーザーグループ http://www.jp.NetBSD.org/ NetBSD/hpcmipsを使ってみる

特徴

NetBSD/hpcmipsを利用するために、ディスクイメージを用意しました。 NetBSDでmatt-nb... がマージされたあと、hpcmipsは不安定です。 NetBSD7に向けて、バイナリイメージで試せるようにします。 RPI向けイメージと同じバイナリを作ってみます。

準備するもの

NetBSD/hpcmipsをサポートしているマシン (NEC mobilegear,sigmarion) 2GB コンパクトフラッシュ SigmarionII:FOMA接続ケーブル+USB ネットワークアダプタ PCMCIAネットワークカード (カードバス対応でないもの)

起動ディスクの作成

ディスクイメージのダウンロード

# ftp ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/hpcmips/ 2013-08-23-netbsd-hpcmips.img.gz

2GB以上のコンパクトフラッシュを準備します。 ダウンロードしたディスクイメージを、コンパクトフラッシュ上で展開します。

disklabel sd0 ..... 必ずインストールするSDカードか確認してください。 gunzip < 2013-08-23-netbsd-hpcmips.img.gz|dd of=/dev/rsd0d bs=1m

NetBSD/hpcmipsの起動

1. コンパクトフラッシュをWindowsCE機に挿して起動します。 2. CF上に見えるhpcboot.exeを実行します。 3. メニューでカーネルを指定して起動します。 4. 少し待つと、NetBSDの起動メッセージが表示されます。

ログイン

rootでログインできます。

login: root

DreamCastでNetBSD

DreamCastでNetBSDを起動してみましょう。DreamCastからNetBSDを 起動するために、起動用のCD-Rを作ります。

1. CD-Rに書き込めるドライブ付きのPCを用意します。 2. ブータブルNetBSDイメージで起動します。 3. CD-ROMドライブでDreamCast起動CD-Rを作ります。 4. 作ったCD-Rを使ってDreamCastを起動します。

@tsutsuiiさん作、DreamCastのCD-Rを作るための環境を準備します。

http://ftp.netbsd.org/pub/NetBSD/arch/dreamcast/dcburn/

詳しい手順はREADMEに書いてあります。 dcburn-20151122.img.gz をダウンロードして、ブート用USBメモリを 作ります。

USBメモリからPCを起動します。

rootでログインします。

31 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

うまくCD-Rドライブとネットワークインターフェースが見えていれば大丈夫です。

ping www.netbsd.org

CD-Rをドライブにいれます。

make を実行します。

http://ftp.netbsd.org/pub/NetBSD/arch/dreamcast/dcserv/

KOBOでNetBSDを動かしてみる

目標

KOBOでNetBSDを動かしてみます。 KOBOにシリアルポート経由で接続します。 バイナリイメージで試せるようにします。 RPI向けイメージと同じイメージで起動します。

できることとできないこと

NetBSDが起動します。 外部から電源を供給できるUSBハブ経由で接続したUSB機器を利用できるはずです。 電子インクは利用できません。

準備するもの

KOBO 2GB 以上のmicro SDカード2枚 シリアル接続ケーブル KOBOとシリアルを接続するジャンパ線

秋月:FTDI 3.3V http://akizukidenshi.com/catalo TXD: 橙色 RXD: 黄色 GND: 黒色

microSDカードの設定

kobo touchには、内蔵microSDスロットと、脇部分にあるmicroSDスロットがあります。内蔵microSDスロットにubootイメー ジを書き込んだmicroSDを挿します。

脇部分にあるmicroSDスロットには、RPI用に作ったイメージを挿します。 元から刺さっていたmicroSDは大事に保管しておきます。 もし NetBSD起動に飽きた時でも、本来の電子図書として楽しく使えます。 KOBOではmicroSDに書き込んだPDFファイルも読めるので、 PDF ビューワとしても便利です。

シリアルケーブル

まず裏蓋を開けます。右下の部分にTX,RXと書いた基盤の穴があります。

ここにシリアルポートを接続します。

uboot

KOBO用ubootイメージは以下の場所にもあります。

http://rappappararin.blogspot.jp/2012/09/kobou-boot.html http://rappappararin.blogspot.jp/2012/09/kobonetbsd.html https://docs.google.com/open?id=0B-K-8275486qNDk2VFVKS3ZaOHc

以下のコマンドでカーネルをロードして起動します。

mmcinfo 1 fatload mmc 1 0x70800000 kobo.bin go 0x70800000

または、環境変数に引数を設定しておきます。

32 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

BR-1A # setenv bootcmd_netbsd 'mmcinfo 1;fatload mmc 1 0x70100000 kobo.bin; go 0x70100000' BR-1A # setenv bootcmd 'run bootcmd_netbsd' BR-1A # saveenv

pkgsrcでソフトウェアをインストールする

pkgsrcを利用すると、さまざまなソフトウェアをコンパイル、インストールすることができます。

1. まずOSをインストールします 2. pkgsrc.tar.gzを展開します 3. 必要なパッケージをコンパイル、インストールします

,icewm,kterm,anthy-elisp,ja-less libreoffice4,firefox,gimp ...

pkgsrcをダウンロード

pkgsrcのWebサイトはhttp://www.pkgsrc.org/です。pkgsrcは、一年に4回定期的にリリースされます。

% ftp ftp://ftp.pkgsrc.org/pub/pkgsrc/ pkgsrc-2012Q4 pkgsrc-2013Q1 pkgsrc-2013Q2 : % ftp ftp://ftp.pkgsrc.org/pub/pkgsrc/stable/pkgsrc.tar.gz 日本のミラーの場合: % ftp ftp://ftp7.jp.NetBSD.org/pub/pkgsrc/stable/pkgsrc.tar.gz

/usr/pkgsrcにダウンロードしたtar ファイルを展開してみましょう。

% su # tar xzvf pkgsrc.tar.gz -C /usr ... /usr以下に展開します。 # ls /usr/pkgsrc CVS comms finance math pkglocate wip Makefile converters fonts mbone pkgtools wip-jp README cross games meta-pkgs print wm archivers databases geography misc regress www audio devel graphics mk security x11 benchmarks distfiles ham multimedia shells biology doc inputmethod net sysutils bootstrap editors lang news templates cad licenses packages textproc chat filesystems mail parallel time

ソフトウェアをコンパイルしてインストールする枠組みが、/usr/pkgsrc/ジャンル/ソフトウェア名 以下にあります。 LibreOfficeをコンパ イルして、インストールしたいときには、次のようにコマンドを実行します。

# cd /usr/pkgsrc/misc/libreoffice4 # make package-install

うまくコンパイルしてインストールできると、LibreOfficeを実行出来ます。

% soffice

pkgsrcを使ってみる

「RaspberryPIでmikutterというtwitterクライアントを使いたい」場合を考えてみます。 インストールできそうなソフトウェアは、/usr /pkgsrc/ジャンル名/ 以下にディレクトリがあります。 ここに使いたいソフトウェアがあれば、コンパイルしてインストールできるかもし れません。

% ls /usr/pkgsrc/* |grep mikutter mikutter .... pkgsrcにmikutterがある! % cd /usr/pkgsrc/*/mikutter .... ジャンルはわからないけど移動 % pwd /usr/pkgsrc/net/mikutter .... "net" の下にあった % ls CVS DESCR Makefile PLIST distinfo files % cat DESCR .... ソフトウェアの説明 Mikutter is a Twitter client aim for endsville Twitter client For all of Miku-aholics and Twitter-holics.

33 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

% cat Makefile # $NetBSD: Makefile,v 1.68 2013/06/23 01:09:43 tsutsui Exp $ #

DISTNAME= mikutter.0.2.2.1264 ... mikutterのバージョンとか PKGNAME= ${RUBY_PKGPREFIX}-${DISTNAME:S/./-/} CATEGORIES= net MASTER_SITES= http://mikutter.hachune.net/bin/ ... 配布サイト

MAINTAINER= [email protected] ... このパッケージを管理している人 HOMEPAGE= http://mikutter.hachune.net/ ... ソフトウェアのホームページ COMMENT= Simple, powerful, and moeful twitter client .. 一行説明 LICENSE= gnu-gpl-v3 AND cc-by-sa-v3.0 ... ソフトウェアのライセンス

RUBY_VERSION_SUPPORTED= 193

.include "../../lang/ruby/rubyversion.mk"

DEPENDS+= xdg-utils-[0-9]*:../../misc/xdg-utils ... 依存しているソフトウェア DEPENDS+= ${RUBY_PKGPREFIX}-hmac>=0.4.0:../../security/ruby-hmac : % cat PLIST ... インストールするファイルの一覧です @comment $NetBSD: PLIST,v 1.23 2013/05/15 11:24:14 obache Exp $ bin/mikutter ... /usr/pkg/bin/mikutterにインストールされます share/applications/mikutter.desktop share/doc/mikutter/README share/mikutter/core/boot/check_config_permission.rb share/mikutter/core/boot/load_plugin.rb share/mikutter/core/boot/mainloop.rb share/mikutter/core/boot/option.rb

% distinfo .... ダウンロードするファイルの一覧とチェックサム $NetBSD: distinfo,v 1.60 2013/06/16 08:58:06 obache Exp $

SHA1 (mikutter.0.2.2.1264.tar.gz) = f93757ca51f3fe9f555df32c86c2ed7021992887 RMD160 (mikutter.0.2.2.1264.tar.gz) = bd3f4a49eb8d96a225b4cc704115995fe390e42a Size (mikutter.0.2.2.1264.tar.gz) = 2318031 bytes

mikutterと、mikutterをインストールするために必要なソフトウェアをインストールoします。

% su # cd /usr/pkgsrc/net/mikutter # make package-install

RaspberryPIで使いそうなソフトを一気にインストールする

/usr/pkgsrc/ジャンル名を眺めて、使いそうなソフトウェアをリストアップします。

% cat List kterm tcsh vlgothic-ttf icewm xli mikutter uim fossil sudo scmgit-base zsh dillo

簡単なシェルスクリプトを作って、実行します。コンパイルがうまく進めば、必要なソフトウェアがすべてソースコードからコンパイ ル・インストールされた状態になります。

% cat Package for i in `cat List` do cd /usr/pkgsrc/*/$i make package-install done % su # sh Package # pkg_info .... インストールされたパッケージの一覧を表示します。

34 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

デスクトップ環境を作ってみる

デスクトップ環境の設定:Xfceの場合

# cd /usr/pkgsrc/meta-pkgs/xfce4 # make package-install # pkg_info |wc .... 110個程度の関連パッケージがインストールされます % rehash .... ログインシェルがcshの場合に必要です % startxfce4 .... 英語版の環境が立ち上がります % setenv LANG ja_JP.UTF-8 .... ログインシェルがcshの場合 % export LANG=ja_JP.UTF-8 .... ログインシェルがshの場合 % startxfce4 .... 日本語版の環境が立ち上がります

デスクトップ環境の設定:gnomeの場合

# cd /usr/pkgsrc/meta-pkgs/desctop-gnome # make package-install # gnome-session

デスクトップ環境の設定: deforaos-desktopの場合

RPIなどでは、/etc/mk.confに以下の行を追加します。 PKG_OPTIONS.deforaos-terminal=embedded

# cd /usr/pkgsrc/meta-pkgs/deforaos-desktop # make package-install

ウィンドウマネージャの設定:icewmの場合

# cd /usr/pkgsrc/wm/icewm # make package-install # which icewm /usr/pkg/bin/icewm % cd % ls .xinitrc ...... xinitrcがあるかどうか確認します。 もし.xinitrcがない場合、以下の手順でコピーします。 cp /etc/X11/xinit/xinitrc -/.xinitrc ... XXX:上書きしないよう気をつけて! % vi .xinitrc ..... 最後の5行を書き換えます。 twm & xclock -geometry 50x50-1+1 & /usr/X11R7/bin/xterm -geometry 80x50+494+51 & /usr/X11R7/bin/xterm -geometry 80x20+494-0 & exec /usr/X11R7/bin/xterm -geometry 80x66+0+0 -name login ↓ xclock -geometry 50x50-1+1 & /usr/X11R7/bin/xterm -geometry 80x50+494+51 & /usr/X11R7/bin/xterm -geometry 80x20+494-0 & /usr/X11R7/bin/xterm -geometry 80x66+0+0 & icewm % startx ..... icewmが起動します。 % cp -r /usr/pkg/share/icewm -/.icewm .... メニューをカスタマイズ % vi -/.icewm/menu prog Kterm Kterm kterm -fk k14 -fn a14 -fr r14 -km euc prog SeaMonkey seamonkey seamonkey prog Mikutter mikutter miutter separator prog Shotwell shotwell shotwell prog GtkPod gtkpod gtkpod prog Fossil fossil fossil server /usr/local/fossil/my-repo separator prog OpenOffice soffice soffice prog Acroread acroread9 acroread9 separator menuprog Gnome folder icewm-menu-gnome1 --list menuprog Gnome folder icewm-menu-gnome2 --list menuprog KDE folder icewm-menu-gnome --list menufile Emulators folder programs ... 階層構造 menufile Games folder games % vi -/.icewm/programs ... .icewmで指定した階層構造 # This is an example for IceWM's toolbar definition file. #

35 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

# Place your variants in /usr/pkg/etc/icewm or in $HOME/.icewm # since modifications to this file will be discarded when you # (re)install icewm. # prog Xnp2 xnp2 xnp2 prog XM6i xm6i xm6i prog Minux Minux Minux % vi -/.icewm/preferences : # Desktop background image # DesktopBackgroundImage="" .... 壁紙のイメージをここで設定できます。

ウィンドウマネージャの設定:jwmの場合

# cd /usr/pkgsrc/wm/jwm # make package-install

漢字変換&emacs

mozcを利用する場合

% cd /usr/pkgsrc/inputmethod/ibus-mozc # make package-install

漢字変換に必要な環境変数を.xinitrc等で設定します。

export LANG=ja_JP.eucJP export GTK_IM_MODULE="ibus" export XMODIFIERS="@im=ibus" export QT_IM_MODULE="ibus" ibus-daemon --xim &

emacsを利用する場合は、mozc-elispパッケージをインストールします。

% cd /usr/pkgsrc/inputmethod/mozc-elisp # make package-install

anthyを利用する場合

# cd /usr/pkgsrc/inputmethod/anthy # make package-install # cd /usr/pkgsrc/inputmethod/uim # make package-install

.xinitrcに以下の行を追加します。

export GTK_IM_MODULE=uim export LANG=ja_JP.eucJP export XMODIFIERS=@im=uim export QT_IM_MODULE="uim" uim-xim &

emacsを利用する場合は、anthy-elispパッケージをインストールします。

% cd /usr/pkgsrc/inputmethod/anthy-elisp # make package-install

.emacs に、以下の記述を追加します。

(set-language-environment "Japanese") (set-default-coding-systems 'utf-8) (set-language-environment "Japanese") (load-library "anthy") (setq default-input-method "japanese-anthy") ; (define-obsolete-variable-alias 'last-command-char 'last-command-event "at least 19.34")

壁紙

36 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

# cd /usr/pkgsrc/graphics/xli # make package-install

.xinitrcに以下の行を追加して、壁紙画像を表示するプログラムを起動します。

例) xsetbg -/Desktop/penguindrum_wp1_1s.jpg

ソフトウェアのコンパイル/インストール

gedit

% cd /usr/pkgsrc/editors/gedit # make package-install

firefox

% cd /usr/pkgsrc/www/firefox # make package-install % cd /usr/pkgsrc/www/firefox-l10n # make package-install # grep flashsupport /etc/mk.conf ACCEPTABLE_LICENSES+= adobe-flashsupport-license # cd /usr/pkgsrc/multimedia/adobe-flash-plugin11 # make package-install

LibreOffice

# grep libreoffice4 /etc/mk.conf # cd /usr/pkgsrc/misc/libreoffice4 # make package-install % /usr/pkg/bin/soffice

LaTeX

# cd /usr/pkgsrc/print/ja-ptex # make package-install

CMSを使ってみる

drupal

# cd /usr/pkgsrc/www/drupal7 # make package-install

wordpress

# cd /usr/pkgsrc/www/php-ja-wordpress # make package-install # cd /usr/pkgsrc/archivers/php-zlib # make package-install .... zip形式のテーマをインストールする時に必要 AddHandler application/x-httpd-php .php

fossilを使ってみる

# cd /usr/pkgsrc/devel/fossil # make package-install % ls /usr/pkg/bin/fossil % fossil help Usage: fossil help COMMAND Common COMMANDs: (use "fossil help --all" for a complete list) add changes finfo merge revert tag addremove clean gdiff mv rm timeline all clone help open settings ui

37 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

annotate commit import pull sqlite3 undo bisect diff info push stash update branch export init rebuild status version cat extras ls remote-url sync This is fossil version 1.25 [d2e07756d9] 2013-02-16 00:04:35 UTC % fossil init my-repo fossil init my-repo project-id: fdd587ee44f524d432186fe6a1dc379c51b26c1d server-id: 7873c960d27f3b0ef2d7da2294bfc6eb092dc61e admin-user: jun (initial password is "bb4867") % fossil server my-repo & .... ブラウザでポート8080にアクセスするとGUI画面が表示されます。

Gitのインストール

# cd /usr/pkgsrc/devel/git-base # make package-install % ls -l /usr/pkg/bin/git

エミュレータでNetBSD

Qemu

# cd /usr/pkgsrc/emulators/ # make package-install # qemu-img create -f qed NetBSD-sparc.qed 500M ... qedが動くかチェック # qemu-system-sparc -M SS-20 -m 64 -kernel netbsd-GENERIC -hda my-sun4c-disk.img -hdb miniroot.fs -nographic -cdrom NetBSD-6.99.17-sparc.iso # qemu-system-sparc -M SS-20 -m 64 -kernel netbsd-sd -hda my-sun4c-disk.img -nographic -net nic -net user -redir tcp:2222::22

Gxemul

# /usr/pkgsrc/emulators/gxemul # make package-install # gxemul -e mobilepro770 -M 128 -I 800000000 -d Z50.img -d c:/usr/release/images/NetBSD-6.99.14-hpcmips.iso netbsd-install

# gxemul -e jornada680 -M 128 -I 800000000 -d c:/usr/release/iso/NetBSD-5.1.2-hpcmips.iso /mnt/netbsd

Package - /usr/pkgsrc

簡単にソフトウェアをコンパイル・インストール 1997年8月開始 201?-Q[1-4] もうすぐ準備 41種類のジャンル 9963種類以上のソフトウェア Make installでソフトウェアのインストール

各CPUアーキテクチャ間で共通

mipsel –mips endian little arc – MIPSで動くNTマシン cobalt – Cobalt Qube1/2 pmax – DEC station hpcmips – MIPS搭載WinCE

/usr/pkgsrc/emulators

gxemul mips (pmax,hpcmips) dreamcast NetBSD/vax tme sun2,sun3,SPARCstation 2 QEMU PC USBデバッグ

38 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

Packagesジャンル一覧

The NetBSD Packages Collection x11 Packages to support the X window system archivers Archivers audio Audio tools benchmarks Benchmarking tools biology Software for the biological sciences cad CAD tools chat Communication programs comms Communication utilities converters Document format and character code converters cross Cross-platform development utilities databases Databases devel Development utilities editors Editors emulators Emulators for other operating systems filesystems File systems and file system related packages finance Monetary financial and related applications fonts Fonts games Games geography Software for geographical-related uses graphics Graphics tools and libraries ham Wireless communication tools and applications inputmethod Input method tools and libraries lang Programming languages mail Electronic mail utilities math Mathematics mbone Multi-cast backBone applications meta-pkgs Collections of other packages misc Miscellaneous utilities multimedia Multimedia utilities net Networking tools news Network news parallel Applications dealing with parallelism in computing pkgtools Tools for use in the packages collection print Desktop publishing security Security tools shells Shells sysutils System utilities textproc Text processing utilities (does not include desktop publishing) time Clocks calendars daily planners and other time related applications wm X11 window managers configuration tools and themes www Packages related to the World Wide Web

目的別

デスクトップ向け 組み込み向け pkgsrc/meta-pkgにいくつかある

Package対応プラットフォーム

1. NetBSD 2. Solaris / SmartOS / illumos 3. Linux 4. Darwin (Mac OS X) 5. FreeBSD 6. OpenBSD

39 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

7. IRIX 8. AIX 9. DragonFlyBSD 10. OSF/1 11. HP-UX 12. QNX 13. Haiku 14. MirBSD 15. Minix3 16. Cygwin 17. GNU/kFreeBSD 18. SCO OpenServer 5

NetBSD以外でpkgsrc

# tar xzvf pkgsrc.tgz # cd pkgsrc/bootstrap # ./bootstrap

Packageとライセンスの取扱い

個々のパッケージごとにLICENSE定義 受け入れられるライセンスを制御したい ツールとライブラリのライセンスが違う ツールがGPL,ライブラリがLGPL GPLv2とv3が混在する例 rubyとreadline6 GPL2とGPL2 or laterの区別 GPL3とリンクできるかできないか http://d.hatena.ne.jp/obache/20090922/

バイナリ互換性を利用する

Cobalt Qube2でhpcmipsバイナリ作成 MIPSでendian little =mipsel同士なら動く ユーザランドはほとんどそのまま動く パッケージも共通化 NetBSD/{pmax,cobalt,arc,hpcmips}で共通 数GBある各種アプリケーション群を共通にする

pkgsrcを更新する

まず/usr/pkgsrcを更新し、次に、必要なソフトウェアを再コンパイルします。cvsで、/usr/pkgsrcを更新します。

# cd /usr/pkgsrc # cvs update -PAd ... 最新版に上げる # cvs update -Pdr pkgsrc-2013Q2 ... 2013Q2に上げる

更新が必要なソフトウェアを更新します。pkg_chkコマンド、またはpkg_rolling-replaceコマンドで更新します。

# pkg_chk -u # /usr/pkg/sbin/pkg_chk -u -b -n -P /usr/local/src/NetBSD/pkgsrc-2013Q2/packages/All # /usr/pkg/sbin/pkg_chk -u -b -P /usr/local/src/NetBSD/pkgsrc-2013Q2/packages/All

# cd /usr/pkgsrc/pkgtools/pkg_rolling-replace # make package-install # /usr/pkg/bin/pkg_rolling-replace

このドキュメント

以下のURLからこのドキュメントのソースコードをダウンロードできます。 ドキュメントはpy-sphinxを利用しています。

https://github.com/ebijun/NetBSD/tree/master/Guide

フォーマット: /usr/pkgsrc/textproc/py-sphinx 編集: /usr/pkgsrc/editors/gedit PDFチェック: /usr/pkgsrc/pring/evince bccksで豆本にしたい

40 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

mlterm-fbを使ってみる

mlterm

リソースの限られたマシンでは、Xを起動させるだけでリソースを使いきってしまう場合があります。 mlterm (pkgsrc/x11/mlterm) [mlterm] は、X上で動作する多言語ターミナルエミュレータですが、mlterm-fbを有効にしてコンパイルすると、フレームバッファ上で動 作する多言語ターミナルエミュレータとして利用できます。

mlterm-fb向けオプション設定

/etc/mk.confに、mltermに与えるオプションを指定しておきます。pkgsrc/x11/mlterm以下を利用して、mltermをインストールします。

% grep mlterm /etc/mk.conf PKG_OPTIONS.mlterm=xft2 mlterm-fb # cd /usr/pkgsrc/x11/mlterm # make package-install # which mlterm-fb /usr/pkg/bin/mlterm-fb

起動

コンソール画面からmlterm-fbを起動します。

% mlterm-fb

PCでのmlterm-fb起動

NetBSD/i386,amd64でmlterm-fbを利用する場合、起動時にVESAを指定します。 [はよーん]

1. 起動オプションで5を選択 2. > プロンプトでvesa を指定 3. boot 4. 起動 5. ログイン 6. mlterm-fb起動

テスト画像表示

mlterm-fbを起動した状態で、catを利用して、画像イメージを表示します。

% ftp http://mlterm.sourceforge.net/vimperator.six % cat vimperator.six

41 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

画像変換方法

netpbmをインストールして、以下のコマンドを実行するとsixel形式に変換できます。

# cd /usr/pkgsrc/graphics/netpbm;make package-install % jpegtopnm aaa.jpg |pnmquant 256 |ppmtosixel > aaa.sixel % pngtopnm aaa.png |pnmquant 256 |ppmtosixel > aaa.sixel

mltermソースからmlterm-fbをコンパイルする

# ./configure --with-gui=xlib,fb # make install

回転させて表示

NetBSD/zaurus C1000以降および、NetBSD/hpcarm WS011SHでは、そのまま起動すると、 mltermが縦画面で起動してしまいます。こ の場合、mltermに–rotateオプションをつけて起動するか、起動後に$ mlcc rotate_display trueすると回転します。 。 .. –rotateオプショ ンの挙動を変更し、–rotate=rightで時計回りに、–rotate=leftで反時計回りに回転します。(WS011SHは反時計回り?) この機能は最新版( http://t.co/l52DRJGwGf ) に追加されています。

mltermについて

http://mlterm.sourceforge.net/ に、より詳しい情報があります。

mlterm-fb上でtwを動かしてみる

mlterm-fb上で日本語が表示できたら、tw [tw] を利用してツイッターのタイムラインを表示してみましょう。

twのインストール

pkgsrcからtwをインストールします。

# cd /usr/pkgsrc/net/ruby-tw # make package-install

[mlterm] mlterm http://mlterm.sourceforge.net/ [tw] tw http://shokai.github.io/tw/ [はよーん] http://jnug.net/msg012914ja.html PkgsrcでCMSを使ってみる

net commons

http://www.netcommons.org/ NetCommons-2.4.1.0.tar.gz をダウンロード 「推奨の組み合わせ: Linux, PHP 5.1.6, MySQL 5.0.22, Apache 2.2.3」

# cd /usr/pkgsrc/lang/php53 ... netcommonsはphp54以降未サポート(2013/8/1) # cd /usr/pkgsrc/databases/php-mysql ... php53+mysqlインストール # vi /usr/pkg/etc/php.ini extension=mysql.so

# cd /usr/pkgsrc/www/ap-php ... php53+apacheインストール # make package-install # vi /usr/pkg/etc/httpd/httpd.conf LoadModule php5_module lib/httpd/mod_php5.so AddHandler application/x-httpd-php .php

# cd /usr/pkgsrc/converters/php-mbstring # make package-install

# vi /usr/pkg/etc/php.ini extension=mbstring.so

# vi /usr/pkg/etc/httpd/httpd.conf DirectoryIndex index.php index.html

42 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

# vi /etc/rc.conf apache=YES # cp /usr/pkg/share/examples/rc.d/apache/etc/rc.d/apache # /etc/rc.d/apache start

# cp -r NetCommons-2.4.1.0/html/html /usr/pkg/share/httpd/htdocs/ # cd /usr/pkg/share/httpd/htdocs # chown -R www.www html # mv html/* .

2013/8/1現在php5.4未対応 [Unknown_Condition_2048 ]:Non-static method LogFactory::getLog() should not be called statically,assuming $this from incompatible context in fil /usr/pkgsrc/lang/php53 make package-install

SSL設定

/usr/pkg/etc/httpd/httpd-ssl.conf SSLCertificateFile SSLCertificateKeyFile SSLCertificateChainFile

/usr/pkg/etc/httpd/httpd.conf Include etc/httpd/httpd-ssl.conf ... コメントはずす

プリンターの設定

hplipのインストール

# cd /usr/pkgsrc/print/hplip # /etc/mk.confに PKG_OPTIONS.hplip=qt追加 # hpli..

cupsのインストール

# cd /usr/pkgsrc/print/cups # make package-install # /etc/rc.conf に cupsd=YESを追加する # ブラウザでhttp://localhost:631にアクセス。 # Administratorタブを開いて、rootでログイン。

NetBSDでの無線LAN設定

1. WEPの時

# ifconfig iwn0 ssid "sdfsdfdsfsdf" nwkey "sdfsfsdfsfs" # ifconfig iwn0 ssid "sdfsdfdsfsdf" nwkey "0x0123ABCDEF"

2. WPA-PSKの時

/etc/wpa_supplicant.confに設定内容を書く。

ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel

network={ ssid="oschiroshima_booth_xx" scan_ssid=1 key_mgmt=WPA-PSK psk="osc2011hiroshima1" }

と書いて、

# ifconfig iwn0 up # /usr/sbin/wpa_supplicant -dd -i iwn0 -c /etc/wpa_supplicant.conf

43 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

でうまく動いたら-ddをとる。 NetBSDで観光ガイドを作ってみる

イベントで配る小冊子を作る

オープンソースカンファレンスではいつもNetBSDブースで「観光ガイド」と いう小冊子を配っています。この作り方を紹介します。

観光ガイド一覧 https://github.com/ebijun/osc-demo

観光ガイドを配るまで

観光ガイドはA4 20ページくらいのPDFファイルです。印刷はセブンイレブンの コピー機を使っています。USBメモリに入れたPDFファイ ルを、セブンイレブンに あるコピー機でカラー1部,白黒15部印刷します。 そのとき「小冊子印刷」を選ぶと、コピー機がページの割付を してくれて、 A5サイズの小冊子を印刷できます。小冊子印刷で印刷するPDFファイルの ページ数は4の倍数にしておきます。一回にかか る費用は2800円程度です。

観光ガイドの構造

観光ガイドは、3つのPDFを組み合わせて作っています。

表紙 本文 裏表紙

PDFを組み合わせる

PDFを組みあわせて、ひとつのPDFファイルにするときには、 pdfshufflerを使っています。

# cd /usr/pkgsrc/print/pdfshuffler # make package-install % pdfshuffler

表紙

表紙は、WindowsのIllustratorで作って、PDF出力しています。 ガイドを作りはじめた頃はWindowsで作っていました。 NetBSDなら inkscapeが使えます。

# cd /usr/pkgsrc/graphics/inkscape # make package-install % inkscape

裏表紙

裏表紙は、scribusを使っています。これもPDF出力できます。

# cd /usr/pkgsrc/print/scribus-qt4 # make package-install % scribus

本文

本文部分は、sphinxとgithubを組み合わせて使っています。

# cd /usr/pkgsrc/textproc/py-sphinx # make package-install

Sphinxでドキュメントを作る

sphinx-quickstartコマンドを実行すると、文書のスケルトンを作ってくれます。

% sphinx-quickstart Welcome to the Sphinx 1.2.2 quickstart utility.

44 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

Please enter values for the following settings (just press Enter to accept a default value, if one is given in brackets).

Enter the root path for documentation. > Root path for the documentation [.]:

You have two options for placing the build directory for Sphinx output. Either, you use a directory "_build" within the root path, or you separate "source" and "build" directories within the root path. > Separate source and build directories (y/n) [n]:

Inside the root directory, two more directories will be created; "_templates" for custom HTML templates and "_static" for custom stylesheets and other static files. You can enter another prefix (such as ".") to replace the underscore. > Name prefix for templates and static dir [_]:

The project name will occur in several places in the built documentation. > Project name: Pipe Piper Paper > Author name(s): Jun Ebihara

Sphinx has the notion of a "version" and a "release" for the software. Each version can have multiple releases. For example, for Python the version is something like 2.5 or 3.0, while the release is something like 2.5.1 or 3.0a1. If you don't need this dual structure, just set both to the same value. > Project version: 1.0 > Project release [1.0]: 0

The file name suffix for source files. Commonly, this is either ".txt" or ".rst". Only files with this suffix are considered documents. > Source file suffix [.rst]:

One document is special in that it is considered the top node of the "contents tree", that is, it is the root of the hierarchical structure of the documents. Normally, this is "index", but if your "index" document is a custom template, you can also set this to another filename. > Name of your master document (without suffix) [index]: [39;49;00m

Sphinx can also add configuration for epub output: > Do you want to use the epub builder (y/n) [n]:

Please indicate if you want to use one of the following Sphinx extensions: > autodoc: automatically insert docstrings from modules (y/n) [n]: > doctest: automatically test code snippets in doctest blocks (y/n) [n]: > intersphinx: link between Sphinx documentation of different projects (y/n) [n]: > todo: write "todo" entries that can be shown or hidden on build (y/n) [n]: > coverage: checks for documentation coverage (y/n) [n]: > pngmath: include math, rendered as PNG images (y/n) [n]: > mathjax: include math, rendered in the browser by MathJax (y/n) [n]: > ifconfig: conditional inclusion of content based on config values (y/n) [n]: > viewcode: include links to the source code of documented Python objects (y/n) [n]:

A Makefile and a Windows command file can be generated for you so that you only have to run e.g. `make html' instead of invoking sphinx-build directly. > Create Makefile? (y/n) [y]: > Create Windows command file? (y/n) [y]:

Creating file ./conf.py. Creating file ./index.rst. Creating file ./Makefile. Creating file ./make.bat.

Finished: An initial directory structure has been created.

You should now populate your master file ./index.rst and create other documentation source files. Use the Makefile to build the docs, like so: make builder where "builder" is one of the supported builders, e.g. html, latex or linkcheck.

html出力をしてみる

gmake htmlを実行すると、_build/html以下にhtmlファイルを作ってくれます。

% gmake html % ls _build/html

45 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

_sources genindex.html objects.inv searchindex.js _static index.html search.html

テキスト出力をしてみる

gmake textを実行すると、_build/テキスト以下にtxtファイルを作ってくれます。

% gmake text % ls _build/text index.txt

Sphinxのディレクトリをgithubに登録する

Sphinxのディレクトリをgithubに登録して、文章の版数管理とプレビューを githubでやってみます。

https://github.com/ebijun/NetBSD/tree/master/Guide

たとえば、 https://github.com/ebijun/NetBSD/blob/master/Guide/Luna.rst を見ると、Lunaの薄い本の内容がそれっぽくフォーマット されて出力されます。

観光ガイド本文を作る

いろんな文章を、markdownでかいて、どんどんgithubに登録していきます。 観光ガイドを作るときは、イベントに合わせた文章をいく つか選んで、 index.rstに登録します。

https://raw.githubusercontent.com/ebijun/NetBSD/master/Guide/index.rst : Place/fukuoka https://github.com/ebijun/NetBSD/blob/master/Guide/Place/fukuoka.rst Place/intro https://github.com/ebijun/NetBSD/blob/master/Guide/Place/intro.rst RPI https://github.com/ebijun/NetBSD/blob/master/Guide/RPI.rst Place/asiabsdcon https://github.com/ebijun/NetBSD/blob/master/Guide/Place/asiabsdcon.rst

gmake singlehtmlを実行します。すべての文章が一つのhtmlファイルにまとまります。

% gmake singlehtml % ls _build/singlehtml _images _static index.html objects.inv

まとまった文章をfirefoxで開きます。全体を20ページにするなら、表紙と裏表紙2ページ分を抜いた18ページ分になるよう、firefoxの表示 縮尺を調整して、PDFで出力します。

% firefox _build/singlehtml/index.html

PDFを組み合わせる

表紙、裏表紙、本文3つのPDFをpdfshufflerでひとつのPDFファイルにつなぎあわせて、 FTPサーバにアップデートします。アップデート したらtwitterなりfacebookなりで 報告します。イベント終了後には、URLを配布ドキュメントとして連絡します。

まとめ

イベントごとに配布している小冊子をNetBSD上で作る方法を紹介しました。 おもにAtomのネットブックでいつも作っていますが、 NetBSDであればどのマシンでも手順自体はおなじです。 日本NetBSDユーザーグループのご紹介

Japan NetBSD Users’ Group

1999年8月21日成立 members-ja:45人 committee:18人 日本のNetBSDユーザに便宜を図る FTP/CVS/WWWサーバの管理 ドキュメント・WWWページ翻訳 KOF,OSCに全て参加(.DB/.cloud除く)

46 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

回線提供:IIJ http://www.jp.NetBSD.org/ 年一度定期総会・BoFを実施 2016/7/9 東京 根津 東大武田先端知ビル ハッシュタグ: #JNUG

メーリングリスト

http://www.jp.netbsd.org/ja/JP/ml.html

NetBSD一般 announce-ja,junk-ja,tech-misc-ja,tech-pkg-ja

機種特有 port-arm32-ja,port-hpcmips-ja,port-mac68k-ja,port-mips-ja,port-powerpc-ja,hpcmips-changes-ja

JNUG関連

members-ja,admin-ja

jp.NetBSD.org運営関連

www-changes-ja

サーバ周り

ftp?.jp.NetBSD.org 1時間に一度更新:cvsweb.NetBSD.org (pigu)とanoncvs.jp.NetBSD.org (incubator)

Webページ

CVS管理からgit管理へ git clone git://github.com/NetBSDjp/htdocs.git

FaceBook

http://www.facebook.com/NetBSD.jp/ 366いいね: イベント欄: www.jp.NetBSD.orgと連携

[email protected]

参加申し込み: [email protected] にメールください アーカイブ: http://www.re.soum.co.jp/~fukaumi/

1994/11/25-: 10446通/7897日(2016/7/9まで:21年227日) メールアドレス登録数 873 有効メールアドレス 402

国内BSDユーザグループ

http://www.netbsd.org/gallery/groups.html BBQ: ? BSD Users Group,Shinshu: ? Chofu *BSD Users’ Grup: ? Chiba *BSD Users’ Grup: ? 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: ?

オープンソースカンファレンスこの一年

オープンソースカンファレンスと関西オープンソースに出展しています

47 / 48 2016/07/21 13:57 セキュリティキャンプ2016 SecCamp2016 ドキュメント file:///usr/local/Github/NetBSD/Guide/_build/singleh...

Facebookイベントページ作成 毎月 [email protected]アナウンス ブース出展:基本セット(RPIなど)+ご当地出展 セミナー:NetBSD観光ガイド(https://github.com/ebijun/osc-demo) +希望者発表 netbsd-advocacyへ参加報告 RaspberryPIイメージ作成 port-armへ告知 togetterでツィートまとめ→反応がわかります pkgsrc: mikutter,mlterm,contao,libreoffice,basercms...

2016/7/5時点のtogetterアクセス数です。

イベント名 URL View オープンソースカンファレンス2016 Okinawa NetBSDブース展示の記録 http://togetter.com/li/995155 551 オープンソースカンファレンス2016 Hokkaido NetBSDブース展示の記録 http://togetter.com/li/988853 598 オープンソースカンファレンス2016 Nagoya NBUG & NetBSDブース展示の記録 http://togetter.com/li/980383 1050 オープンソースカンファレンス2016 Gunma NetBSDブース展示の記録 http://togetter.com/li/975036 739 AsiaBSDCon 2016の記録 http://togetter.com/li/947029 2737 オープンソースカンファレンス2016 Tokyo/Spring NetBSDブース展示の記録 http://togetter.com/li/943037 1749 オープンソースカンファレンス2016 Hamanako NetBSDブース展示の記録 http://togetter.com/li/929091 1098 NetBSD Advent Calendar 2015の記録 http://togetter.com/li/916444 1003 オープンソースカンファレンス2015 Tokushima NetBSDブース展示の記録 http://togetter.com/li/899923 1160 関西オープンソース2015 NetBSDブース展示の記録 http://togetter.com/li/896456 1855 オープンソースカンファレンス2015 Tokyo/Fall NetBSDブース展示の記録 http://togetter.com/li/891107 1233 オープンソースカンファレンス2015 Fukuoka NetBSDブース展示の記録 http://togetter.com/li/881732 977 オープンソースカンファレンス2015 Hiroshima NetBSDブース展示の記録 http://togetter.com/li/875487 1675 オープンソースカンファレンス2015 Niigata NetBSDブース展示の記録 http://togetter.com/li/869752 984 オープンソースカンファレンス2015 Shimane NetBSDブース展示の記録 http://togetter.com/li/863726 1062 オープンソースカンファレンス2015 Kansai@Kyoto NetBSDブース展示の記録 http://togetter.com/li/857157 4008 日本NetBSDユーザーグループ第十七回定期総会 および NetBSD BoF 2015 の記録 http://togetter.com/li/845730 1499

48 / 48 2016/07/21 13:57