本文へジャンプ

GIDEON STAFF BLOG

FreeBSD 8.0-RELEASE

FreeBSD Release Engineering Team は FreeBSD 8.0-RELEASE を公開しました。

主な変更は以下の通りです。

  • Xen Dom-U、VirtualBox のゲスト/ホスト環境対応。
  • 階層型 jail のサポート
  • NFSv3 GSSAPI のサポート
  • NFSv4 クライアントの実験的サポート
  • IEEE 802.11s D3.03 無線メッシュネットワークと 仮想アクセスポイントのサポート
  • ZFS はもはや実験的ステータスではなくなった
  • USB 関係を全て書きかえ
  • SMP スケーラビリティの改良
  • ネットワークリンク層の改訂
  • MIPS アーキテクチャの実験的サポート

詳細は [http://www.FreeBSD.org/releases/8.0R/relnotes.html リリースノート] を参照して下さい。

FreeBSD 7.2-RELEASE

FreeBSD Release Engineering Team は FreeBSD 7.2-RELEASE を公開しました。

主な変更は以下の通りです。

  • 仮想メモリサブシステムによるアプリケーションメモリの スーパーページへの透過的使用をサポート
  • BTX ローダの改良、いくつかの問題点の修正
  • ciss ドライバの改良
  • sdhci ドライバの追加による class 8 SD ホストコントローラのサポート
  • NetBSD から Bluetooth ネットワーク管理用の btpand デーモンが移植されました
  • jail の複数 IPv4/IPv6 アドレスサポートなどの改良
  • KDE 4.2.2、GNOME 2.6 が採用されました
  • DVD インストールイメージの配布が開始されました

詳細は [http://www.FreeBSD.org/releases/7.2R/relnotes.html リリースノート] を参照して下さい。

HP ProLiant ML110 G5 で FreeBSD 7.0-RELEASE を稼働させる

PCクラスの筐体でサーバとして稼働できる Hewlett-Packard 社の ProLiant ML110 G5 で FreeBSD を動かしてみました。

ML110 G5 はマザーボードから IDE やパラレルポートといった 旧いインタフェイスが省略されている所謂レガシーフリーなサーバなので、 当然光学ドライブも SATA 接続となります。
FreeBSD 7.0 では(一部の) SATA 接続光学ドライブとは相性が悪いので、 起動時の boot prompt で hw.ata.atapi_dma="0" を指定すると、 スムーズにインストールできる様になります。 インストールした後は /boot/loader.conf に 以下の記述を追加しておくと自動で設定されて便利です。

hw.ata.atapi_dma="0"
	

ML110 のマザーボードに搭載されている NIC は Broadcom 社の GbE ですが、 型番が "NetXtreme BCM5722 Gigabit Ethernet PCIe" となっていて 標準のカーネルでは利用できません。
インストールの際は CD からのインストールを実行したり、 USB 接続の NIC などを利用してインストールした後で、 以下のパッチを適用してカーネルの再構築を行うと、 無事にギガビットイーサが利用できるようになります。
diff -cr /usr/src/sys.orig /usr/src/sys
*** /usr/src/sys.orig/dev/bge/if_bge.c	2009-04-03 12:05:39.000000000 +0900
--- /usr/src.sys/dev/bge/if_bge.c	2009-04-02 12:51:46.000000000 +0900
***************
*** 169,174 ****
--- 169,175 ----
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5715S },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5720 },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5721 },
+ 	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5722 },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5750 },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5750M },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5751 },
diff -cr bge.orig/if_bgereg.h bge/if_bgereg.h
*** /usr/src/sys.orig/dev/bge/if_bgereg.h	2009-04-03 12:05:39.000000000 +0900
--- /usr/src/sys/dev/bge/if_bgereg.h	2009-04-02 12:51:13.000000000 +0900
***************
*** 2011,2016 ****
--- 2011,2017 ----
  #define	BCOM_DEVICEID_BCM5715S		0x1679
  #define	BCOM_DEVICEID_BCM5720		0x1658
  #define	BCOM_DEVICEID_BCM5721		0x1659
+ #define	BCOM_DEVICEID_BCM5722		0x165A
  #define	BCOM_DEVICEID_BCM5750		0x1676
  #define	BCOM_DEVICEID_BCM5750M		0x167C
  #define	BCOM_DEVICEID_BCM5751		0x1677
	

構成にもよりますが デュアルコアの Xeon は早くて快適です。

FreeBSD で BlueTooth マウスを利用する

最近は BlueTooth を内蔵しているハードウェア(特にラップトップ)が増えたが、 勿論 FreeBSD からも BlueTooth マウスは利用可能である。
特にラップトップの場合少ない USB ポートを占有しないので、 BlueTooth マウスは非常に嬉しいハードウェアだといえる。

BlueTooth マウスを利用するためにはカーネルモジュールをロードする必要がある。 シェルプロンプトから kldload (8) を実行してロードしてもよいが、 /boot/loader.conf に以下の記述をすることで 起動時に自動的にカーネルモジュールをロードする様になる。

netgrph_load="YES"
ng_ubt_load="YES"
vkbd_load="YES"
	

BlueTooth 機器に接続するためには BlueTooth 機器のデバイスアドレスと 機器の名称が必要になるので、 hccontrol (8) コマンドを実行して それらの情報を取得する。

# hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
        BD_ADDR: XX:XX:XX:XX:XX:XX
        Page Scan Rep. Mode: 0x1
        Page Scan Period Mode: 0x2
        Page Scan Mode: 00
        Class: 38:01:0c
        Clock offset: 0x5f95
Inquiry complete. Status: No error [00]
	

BlueTooth 機器との接続を管理するのは hcsecd (8) というコマンドなので、 接続する機器ごとの情報を /etc/bluetooth/hcsecd.conf に登録しておく。

device {
	bdaddr  XX:XX:XX:XX:XX:XX;
	name    "任意の名称";
	key     nokey;
	pin     nopin;
}
	

BlueTooth マウスのデバイスアドレスを /etc/bluetooth/hosts に登録する。
XX:XX:XX:XX:XX:XX	任意の名称
	

bthidcontrol (8) コマンドで BlueTooth マウスの情報を取得し 定義ファイルに出力した上で、bthidd (8) コマンドを実行すると BlueTooth マウスが利用可能となる。

# bthidcontrol -a 名称 query > /etc/bluetooth/bthidd.conf
# bthidd -c /etc/bluetooth/bthidd.conf
	

FreeBSD 7.1-RELEASE

FreeBSD Release Engineering Team は FreeBSD 7.1-RELEASE を公開しました。

主な変更は以下の通りです。

  • i386/amd64 の標準スケジューラが ULE スケジューラに変更されました
  • OpenSolaris から DTrace が移植されました
  • NFS Lock Manager (NLM) Client がサポートされました
  • USB デバイスや GPTへの対応など boot loader が改良されました
  • cpuset(2) システムコール、cpuset(1) コマンドが追加されました
  • KDE 3.5.10、GNOME 2.22.3 が採用されました
  • DVD インストールイメージの配布が開始されました

詳細は [http://www.FreeBSD.org/releases/7.1R/relnotes.html リリースノート] を参照して下さい。

セキュリティ情報

FreeBSD 上に以下のセキュリティ上の脆弱性が発見された。

  1. Bluetooth 関係のカーネルモジュールの BUG に起因する脆弱性
  2. netgraph 及び bluetooth 関係のカーネルモジュールで、 適切に初期化されていないポインタが存在している事が原因で 発生する脆弱性が存在する。
    この脆弱性によりローカルユーザにより任意のコードの実行や root 権限の奪取、jail からの脱獄が可能となる。

  3. ftpd サーバにクロスサイトリクエストフォージュリの脆弱性
  4. ftpd は汎用目的の ftp サーバの実装の一つであり FreeBSD ベースシステムに含まれているが、 非常に長い文字列により与えられたコマンドの分割処理に問題があり、 結果として任意のコマンドを実行されるなどの危険性がある。

どちらも標準状態では無効になっているので、 明示的に設定している場合以外はそれほど問題はないが、 修正パッチがリリースされているので適用すべきである。

iSCSI Initiator on FreeBSD

最近は Buffalo の TeraStation など安価な iSCSI ストレージもあるが、 勿論 FreeBSD からも iSCSI は利用可能である。

ただし残念ながら iSCSI がサポートされているのは FreeBSD では 7系からなので、 FreeBSD 7.0-RELEASE で試してみる。

# kldload scsi_initiator
# iscontrol -d -t IPアドレス
TargetName=iqn.2004-08.jp.buffalo:TS…
TargetAddress=IPアドレス
# cat << EOF > /etc/iscsi.conf
name {
	TargetName=iqn.2004-08.jp.buffalo:TS…
	TargetAddress=IPアドレス
}
EOF
# iscontrol -n name
# ls /dev/da*
/dev/da0    /dev/da0s1
ドライバをロードした後で iscontrol コマンドを実行して target を検索。
検出した TargetNameTargetAddress/etc/iscsi.conf に設定を保存して、 再度 iscontrol コマンドを実行すると、 ちゃんと /dev/da0s1 が生えてきて普通に使えました。

FreeBSD 6.4-RELEASE

FreeBSD Release Engineering Team は 6-STABLE 系最後のリリースとして FreeBSD 6.4-RELEASE を発表しました。

主な変更は以下の通り

  • NFS Lock Manager (NLM) Client
  • 暗号化フレームワーク Camellia cipher のサポート
  • USB デバイスや GPTへの対応といった boot loader の改良
  • DVD インストールイメージの配布開始
  • KDE 2.5.10、GNOME 2.22.3 の採用
  • BIND、sendmail、OpenPAM などのアップデート

Flash9 on FreeBSD!

先日 FreeBSD 7-STABLE で Flash9 を動作させるためのパッチが公開されたが、 更に FreeBSD 6.{3,4}-RELEASE でも Flash9 を動作させるパッチが公開されたので、 [http://people.freebsd.org/~nox/linprocfs-6.3.patch ここ] から 早速ダウンロードして Make World してみる。

新しい環境で再起動した後 ports から linux-flashplaye9 をインストール。
インストール後、

$ nspluginwrapper -i /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so
を実行してから firefox を起動し、 about:plugins すると、ちゃんと flashplayer 9 を認識している。
さっそくニコニコ動画にアクセスすると動画がちゃんと表示されています。

結構嬉しいです