SSブログ

NetBSDで無線LANアクセスポイントとかブリッジとか  [NetBSD]

FreeBSD とはまた流儀が違うみたい

NetBSD を無線 LAN のアクセスポイントにする
http://hehe.s9.xrea.com/root/txt2html.xcg?netbsd_hostap.txt

NetBSD でブリッジ
http://www.unixmagic.org/ml/netbsd/200305/msg00032.html

# ifconfig wi0 chan 1 nwid MYSSID nwkey MYWEP media DS11 mediaopt adhoc
# ifconfig wi0 inet 192.168.1.10 netmask 255.255.255.0 up
# ifconfig ne0 up
# ifconfig bridge0 create
# brconfig bridge0 add wi0 add ne0 up
(1行目の adhoc を hostap にすると、アクセスポイントになる・・・と)

FreeBSDで無線LANアクセスポイントとかブリッジとか 
http://blog.so-net.ne.jp/nakagami/2005-10-06


NetBSD でパーティションとか disklabel とか デバイスファイルの作成を手動でやる [NetBSD]

以下、ちょっと調べただけで試してないので注意。

Microsoft でいうところのパーティションと MBR の書き込みとかは fdisk でやる
BSD 的なパーティションは disklabel でやる

http://www.jp.netbsd.org/guide/en/chap-misc.html#chap-misc-bootmanager
http://www.jp.netbsd.org/guide/en/chap-misc.html#chap-misc-adding-new-disk
http://nobug.tukusi.ne.jp/netbsd-guide/trans/chap-misc.html
以上まとめると、例えば wd1 を取り扱う場合・・・
# fdisk -u wd1
# fdisk -B
# disklabel wd1 >tempfile
# vi tempfile
# disklabel -R -r wd1 tempfile
# newfs /dev/wd1a

デバイスファイルを作る
How to rebuild the devices in /dev
http://www.jp.netbsd.org/guide/en/chap-misc.html#chap-misc-howto-rebuild-devices

(その他いろんなリンク)
NetBSD のパーティション・・・disklabel のこと
http://www.collegium.or.jp/~tueda/NetBSD/NetBSD_i386_inst.shtml#SEC_DISKLABEL

"正しい" ディスクジオメトリーの決定法(NetBSD/i386 FAQ)
http://www.jp.netbsd.org/ja/Ports/i386/faq.html#determining_geometry

NetBSD ブートメニュー(NetBSD/i386 FAQ)
http://www.jp.netbsd.org/ja/Ports/i386/faq.html#NB_bootmenu
(fdisk -i -c /usr/mdec/mbr_bootsel でも出来る?)


シングルユーザーモードとか別のカーネルで起動 [NetBSD]

NetBSD の kernel と userland を Current にしたら、普通の操作ではなんともなくても、
kernel や userland のコンパイル途中で、OS 自体がだんまりになってしまう。
(こういうのも刺さるというのか?)

シングルユーザーモードで起動したり、前のカーネルで起動したりしてあがいてみる

[シングルユーザーモードで起動]
NetBSD のブートしているところで、スペースを押すとブートプロンプトが出る
>boot -s
で、シングルユーザーモードで起動。
この状態では、ファイルシステムが Read Only でマウントされてるが
#mount -rw /
で書き込み可能になる

[別のカーネルで起動]
同じくスペース押下でブートプロンプトを出したところで
>boot hd0a:onetbsd
とすると、 onetbsd というブートイメージが起動
#なんで wd0a: じゃなくて hd0a なのかは知らない
>boot hd0a:onetbsd -s
とすると、指定したカーネルでシングルユーザーモードで起動することもできる

結局、シングルユーザーモードでも刺さるし、1コ前のカーネルでは起動しないでカーネルデバッガに落ちてしまう。どうしようもなくなったので、もう1回 CD-ROM からインストールしなおそうかと
思うが、年内にも 3.0 がリリースされそうなので(クリスマスリリース?)そのときまで待つか。

追記
softdep を止めたらコンパイルできるようになった。うーむ、難しい。しばらく softdep はやめよう。


xsrc と pkgsrc のコンパイル [NetBSD]

root の環境変数に CVSROOT をセットされている環境で、
( export CVSROOT=anoncvs@anoncvs.netbsd.org:/cvsroot )

[X Window system]
# cd /usr
# cvs co xsrc
# cd /usr/xsrc
# make all
# make install

[pkgsrc]
# cd /usr
# cvs co pkgsrc
# cd /usr/pkgsrc/some/where
# make install
obsolete された pkgsrc があるので、時々 cvsup update -dP してあげないと混乱する。
Makefile が無いからわかるけど。
ところで、pkgsrc は、
# cd /usr/pkgsrc/bootstrap
# ./bootstrap
としてあげると、NetBSD 以外でも使えるみたいだけど、どれくらいの人が使ってるんだろう
MacOS X の人とか?
http://www.ki.nu/software/macosx/pkgsrc.html

(参考)
http://daisy.math.sci.ehime-u.ac.jp/users/tsuchiya/unix/netbsd/pkgsrc.html
pkgsrc-wip
http://www.soraneko.com/~nel/wiliki.cgi?NetBSD%3Apkgsrc-wip


NetBSD でクロス環境構築 [NetBSD]

cvs の CURRENT を co して
Cygwin で、 build.sh をちょっとだけ書き換えて
----------------------------------------------------------------------
- TOP=$(/bin/pwd -P 2>/dev/null)
+ TOP=/home/nakagami/netbsd/src
-----------------------------------------------------------------------
$ cd /home/nakagami/netbsd/src
$ ./build.sh -m macppc tools
で、
/home/nakagami/netbsd/src/tooldir.CYGWIN_NT-5.1-1.5.18-unknown に
ツールを作っている
・・・途中(heimdal をコンパイルしているあたり)でこけた。ヘッダーがないとか言われる。
惜しい。Cygwin ではダメだったけど、FreeBSD ならできそうな予感。
いずれにせよ、ホストマシンが NetBSD じゃないとダメっていう作りになってないので
そのうち直るかもなぁ(コンセプトはすばらしくて感心する)。
そういえば、ずいぶん以前の BSD magazine で、FreeBSD 上で NetBSD のソースを
クロスコンパイルする話があったような気がする。

src/build.sh のオプションに -m とか -T -O -D とか、クロス環境で構築するための
オプションやら、コマンドがいろいろあって、(環境変数でも代用できる)
1つのソースからいろいろなバイナリが作れるようになってる。

クロス構築
http://www.jp.netbsd.org/ja/Documentation/cross/
藤川さんのメモ
http://www.lab1.kuis.kyoto-u.ac.jp/~fujikawa/200509.htm
nakagami の make world
http://blog.so-net.ne.jp/nakagami/2005-12-11


capslock と ctrl の入れ替えとかユーザーの追加とか softdep [NetBSD]

1.Capslock と Ctrl の入れ替え
[wsconsol の場合]
/etc/rc.local に

wsconsctl -w encoding=us.swapctrlcaps


と入れる。

[X.org の場合]
xorg.conf に

    Option "XkbOptions" "ctrl:swapcaps"

2.(ユーザーの追加とか)NetBSD 2.0 の初期設定
http://www.geocities.jp/maple4estry/netbsd.html

3.Softupdate(NetBSD では Softdep と言うらしい)
有効にするには、/etc/fstab に softdep オプションを加えて再起動してあげればいいらしい。


NetBSD で、make world [NetBSD]

ソースは↓から CVS Web で見られる
http://cvsweb.netbsd.org/bsdweb.cgi/

CURRENT のソースで構築するのは、
root の環境変数に CVSROOT をセットされている環境で、
( export CVSROOT=anoncvs@anoncvs.netbsd.org:/cvsroot )

[kernel & userland]
# cd /usr
# mkdir obj
# cvs co src
# cd /usr/src
# ./build.sh tools
# cd sys/arch/i386/conf
# /usr/src/tooldir.NetBSD-3.0_RC5-i386/bin/nbconfig GENERIC
# cd ../compile/GENERIC
# /usr/src/tooldir.NetBSD-3.0_RC5-i386/bin/nbmake-i386 depend
# /usr/src/tooldir.NetBSD-3.0_RC5-i386/bin/nbmake-i386
# make install
# reboot
# cd /usr/src
# ./build.sh -T ./tooldir.NetBSD-3.0_RC5-i386 release
# ./build.sh -T ./tooldir.NetBSD-3.0_RC5-i386 install=/

build.sh は、柔軟に対応できるように、いろいろオプションがあって、
どれをどう指定すればいいのか、いまいちよくわからん。
上の例は、できるだけオプションを付けないようにしたが、
本当はどうするのがいいのか、まだよくわかっていない。

また、上の例では kernel と userland を分けて、 config & make でカーネルを
コンパイルするようにしてみが、単純に

# cd /usr/src
# ./build.sh install=/

だけで、世界は作られるみたい。
(その場合 tool が /usr/src/obj/toolsdir.xxxx にできてるなぁ・・・)

(その他参考)
NetBSD-currentの追跡
http://schnarff.com/netbsd/htdocs/ja/Documentation/current/
NetBSD make world
http://www.tera.ics.keio.ac.jp/person/koki/netbsd/netbsdworld.html

追記 あとで発見したが、これ↓が一番役に立ちそう
http://www.sopht.jp/blog/index.php?/archives/16-NetBSD-current.html#extended


VGA コンソールで漢字を出したい [NetBSD]

FreeBSD の kon2 とか、Linux の jfbterm みたいなのが欲しいけど、NetBSD では現在
これ!っていうのがないような・・・
(あったら教えてください)

仕方がないので、ここ↓のパッチを見てみる。
http://www.jp.netbsd.org/ja/JP/ml/tech-pkg-ja/200501/msg00033.html

マルチリンガルと銘打って encoding を切り替えようとしたりしてるのでややこしい。

EUC-JP 固定(3バイト文字なし)で、src/sys/dev/ic/vga_raster.c の
vga_raster_copyrows()
vga_raste_eraserows()
vga_raster_allocattr()
あたりを、2バイト文字でよさげに処理してあげればよさそう。
パッチで加えている
vga_raster_getstride() は使ってない
vga_raster_setencoding() は encoding を切り替えなければいらない。

byteseq_to_dbchar() → ISO-2022-JP の uchar シーケンスから1文字分取ってくる
byteseq_to_dbchar_euc() → EUC-JP/EUC-KR の uchar シーケンスから1文字分取ってくる
結果を、src/sys/dev/wscons/wsemul_vt100.c の vt100_output_normal() で表示
    ここ大事↑

byteseq_to_dbchar_euc() の引数 buf, nbytes の意味がよくわからん
・・・たぶん、
ASCII --> 文字コードを返す。*buf, *nbytes は 0
2バイト文字の1文字目 --> 0 を返す。*buf に入ってきた文字を取っておく。*nbytes は 2を設定。
2バイト文字の2文字目 --> 1バイト目とあわせて jis コードで返す。*buf, *nbytes は 0
2バイト文字の2文字目かどうかは *nbytes が2かどうかで判定

vga_raster_font 構造体の中の、encoding, firstchar, stride, numchars を見る必要があるか?
(とりあえず、なさそう?)
WSDISPLAY_FONTENC_JIS を定義して、vga_rastert_font の encoding に設定する必要があるか?
(WSDISPLAY_FONTENC_PCVT でごまかしちゃだめか?)

wsfont_find() を、width=16, height=16 で呼んでいるところがないのは、大丈夫なのか?

wsfontload(8) に加えた処理のうち、readbdffont() は、参考になる。
wsfontload とは別のコマンドにするのが良さそう。
bdfフォントを、wsfontload(8) で読み込める形式に変換するツールを作るのがいいかも。
kon2 のフォントを読み込んでいる処理も見ておくといいかも。

wscons のガイドも見ておくべし
http://nobug.tukusi.ne.jp/netbsd-guide/trans/chap-cons.html#AEN4160


NetBSD と 白箱の雑多なメモ [NetBSD]

NetBSD ユーザーグループ
http://www.jp.netbsd.org/ja/JP/JNUG/

NetBSD-current 追っかけ日記
http://www.jaist.ac.jp/~ryoh/NetBSD_diary.html
山本さん@IIJ のおもちゃばこ
http://www.mew.org/~kazu/toy/

Multilingual Console Driver for NetBSD(動かないらしい)
http://projects.netbsd.org/cgi-bin/projects.cgi?token=0&mode=viewproj&projnum=93
uwscons for NetBSD-2.0
http://www.jp.netbsd.org/ja/JP/ml/tech-pkg-ja/200501/msg00033.html
http://www.jp.netbsd.org/ja/JP/ml/tech-pkg-ja/200502/msg00033.html
http://www.unixmagic.org/ml/netbsd/200301/msg00016.html
world21 っていうのもある(あった)みたいだけど、どうなった?

SH3/4 については、
「LANDISKで漕ぎいでな~♪」 さんところの NetBSD の情報から辿ると良さそう
http://eggplant.ddo.jp/www/pukiwiki/index.php?NetBSD
・・・と言いつつ、最新の状態がちとわからない。
↓ここで、なぜストライクされているんでしょう?
http://www.asahi-net.or.jp/~aw9k-nnk/n/landisk.html

LANDISK GigaLANDISK で NetBSD を動かす ML
http://www.freeml.com/info/netbsd-landisk@freeml.com

ついでに見たら「白箱」のページが、以前より充実してた
http://supertank.iodata.jp/products/sotohdlwu/

シリアルケーブル(汎用レベル変換ケーブルっておもしろい)
http://www.picosoft.co.jp/serial/
LANDISK のシリアルの信号の並び
http://www.mizore.jp/wiki/index.php?LANDISK%2Fserial-console
USL-5P のシリアルの信号の並び
http://www.mizore.jp/hoso/landisk/usl5p.html

玄箱でNetBSDを動かす
http://www5.atwiki.jp/kuro-bsd/pages/1.html
http://www.ki.nu/hardware/