2009年9月13日

NetBSD5.0の設定(1)

インストールしたNetBSD5.0の設定を行う。
ちなみに、このマシンは"デスクトップ"用途で使用する予定。(プログラミング関係の勉強等)
サーバ用途には使用しない。

/etc/rc.confに以下を追記する。
  hostname=(設定するホストファイル名)
  auto_ifconfig=NO
  net_interface="ath0"
  dhclient=YES
  dhclient_flags="ath0"
  ifconfig_ath0="mode 11g ssid (SSID) nwkey (WEPキー)

この設定について簡単に解説しておくと、
  • ネットワークは、無線LAN(ドライバとしてath0がアタッチされる)を使用
  • ネットワーク設定はWEPを使用
  • ネットワークには無線ルータを使用(DHCP)しているので、DHCPでIPアドレス取得
という感じ。

続いて、CtrlとCapsLockを入れ替えるために、/etc/wscons.conf を編集する。
encodingという行がある(インストール時の設定では、jpとなっている)ので、そこを以下のように修正する。
  encoding jp.swapctrlcaps

これで、ネットワークの設定とキーボードの設定はできた。
「ネットワークでWEPを使ってるのか?」という声が聞こえてきそうだけど、まぁ暫くはこれで。そのうちWPAに切り替えようと思います。

NetBSD5.0をインストール

ThinkPad X31にNetBSD5.0をインストールする。
NetBSDのサイトからISOイメージファイルを入手し、CD-Rに焼く。焼いたCDからインストーラを起動してインストール。

起動後は、AFTERBOOT(8)のマニュアルページを見ながら各種設定を行う。

2008年12月23日

英語の仕様書・規格書における助動詞の取り扱いについて

英語の仕様書・規格書等のいわゆる規格文書を読んでいて、助動詞の意味をどのように解釈すれば良いか迷うことって度々あります。(shall とか may とか。)

これまで、どう解釈するのが正解だったのかが十分に分かっていなかったのだけれでも、その答えが見つかりました。

答えはJISにありました。JIS Z 8301 「規格票の様式及び作成方法」にその解釈の仕方および意味が記載されていました。JISの規格書自体はJISCのサイトから閲覧のみすることができます。
JIS Z 8301の閲覧ページ

勉強になるな~

2008年12月7日

Firefoxのメニューのフォントサイズを設定する

Firefoxにおいて、表示するWebページのフォントサイズは「編集→設定」から変更することができるが、メニューバー等のフォントサイズはここからでは変更できない。

Gentoo Linux に Firefox 2.0.0.18 をインストールしたところ、画面の解像度(1024 x 768)に対してメニューバーのフォントが大きすぎるので、その設定を変更してみた。

変更方法は以下の通り。
  • $HOME/.mozilla/firefox/*/chrome/以下に、"userChrome.css" というファイルを作成する。
  • 作成した userChome.css に以下を記載する。(同一ディレクトリにuserChome_example.cssというファイルがあるので、それを参考に‥)


@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
* {
font-size: 8pt !important
}

参考ページ
GNOME意外でFirefoxとThuderbirdのフォントサイズを決定する

2008年11月30日

NetBSDからExt2FSのパーティションをマウントする。

NetBSDから、データ用パーティション(こちらで検討したもので、10GBのEXT3FS)をマウントしようとすると、エラーになる。

# mount_ext2fs /dev/wd0j /home
Ext2 fs: unsupport inode size
mount_ext2fs: dev/wd0j on /home: incorrect super block


Linuxマシンから dumpe2fs コマンドでこのパーティションの内容を確認したところ、

Inode size: 256

となっていた。
一方で、NetBSDのカーネルソースコードを確認すると、NetBSDのExt2FSファイルシステムドライバは、inodeサイズを128までしかサポートしていない模様。

そこで、データ用パーティションをフォーマットしなおして(幸い、まだデータをほとんど置いていない)、inodeサイズを変更することにする。
Linuxマシンから、以下のコマンドでパーティションを再フォーマットする。

# mke2fs -j -I 128 /dev/hda6


これで、NetBSDからもマウントできるようになった!

2008年11月23日

NetBSD 4.0.1 のインストール

先日のLinuxのインストールに続いて、今度はNetBSDをインストールする。

NetBSDのサイトから、i386用のインストールCDイメージを取得してきてCD-Rに準備。
このインストーラから起動して、インストールを行う。

基本的にはインストーラに従ってインストールすれば良いが、注意点を以下に記載しておく。
  • HDDのディスクジオメトリの設定 : Linuxのインストール時には、C/H/S = 155061/16/63 として認識されていたが、NetBSDでは、C/H/S = ??/240/63として認識される。このままインストールすると、NetBSDのインストーラがMBRエントリを書き換えてしまうので、ジオメトリをLinuxインストール時と同じに設定すること。
  • MBRを消さない : インストール中に"MBRのエディット" or "ディスク全体を使用する"の選択を聞かれるが、間違ってもディスク全体は使用しないこと。(インストールしたLinuxが上書きされてしまうため)
  • bootcodeは書き込まない。Linuxインストール時にインストールしたGRUBをブートローダとして使用するため、NetBSDインストーラに含まれるブートローダはインストールしないようにする。
続いて、GRUBの設定ファイルにNetBSD用のエントリを追加する。
追加するエントリは以下の通り

#
# NetBSD
#
title NetBSD 4.0.1
root (hd0,4,a)
kernel /netbsd
boot

(hd0,4,a)の意味だが、"hd0"は最初のディスクをあらわしている。"4"パーティション構成で決めた通りパーティション4(0から始まる番号)にNetBSDをインストールしたので、このパーティションが選ばれるようにするため。"a"はNetBSDのdisklabelの『a』をあらわす。
これで、GRUBのメニューからNetBSDが起動できるようになった!

2008年11月22日

Gentoo Linux 2008.0 のインストール

企んでいたOSの再インストールを実施する。
まずはGentoo Linuxのインストール。

インストールするのに参考になるサイトは以下の通り
ハンドブックに従う形で、これと言って問題無くインストール完了!

インストールが完了したら、システムをすべて再ビルドする。(最適化のため)

# emerge --oneshot linux-headers (ヘッダファイルを最新のものにする)
# emerge --oneshot glibc (まず、libcを再ビルドする)
# emerge -e world (システム全体を再ビルドする)
# emerge --depclean (不要なパッケージを削除する)

とりあえず、これで最低限のシステムインストールは完了!

2008年11月21日

ノートPCのOSを入れ替える(パーティションサイズ決定)

先日のエントリで、ノートPCのOS入れ替えを決意。

現在、データのバックアップをせっせとやってます。

パーティションのサイズをおおよそ決めました。
HDDサイズが80GBなので、割り振りとしては以下のような感じかな。
  • P0 : 128MB → ブート用
  • P1 : 2GB → Swap
  • P2 : 15GB → Linuxメイン
  • P4 : 10GB → NetBSDメイン
  • P5 : 10GB → データ(/home)
  • P6 : 約35GB → データ
  • P7 : 約5GB (残り全部) → 遊ぶ用

2008年11月15日

ノートPCのOSを入れ替える(構想検討)

ノートPC(IBM ThinkPad X31)を使っています。
これまで、Gentoo Linux (バージョンは2007.0)を使用していたのだけれども、gcc, binutils, カーネル等の一式の最新版を使ってみたくなりました。また、これまでNetBSDをGentoo上のVMWareで使っていたのだけれども、USB2.0(EHCIホストコントローラ)がエミュレートされなかったりと、チョコチョコ不満があったので、思い切ってPCのOSをすべて入れ替えることにします。

まずは、その方針を検討。
  • とりあえずデュアルブートにして、LinuxとNetBSDをインストールする。
  • Linuxは、Gentoo最新の2008.0にする
  • NetBSDは、最近リリースされた4.0.1にする
  • 各種データ類は、両OSからマウントできるように独立したパーティションを用意する
Xenを使えば両OSを同時に動作させることができるのだけれども、ノートPCということでACPI周り(やCPUの動的周波数変更)等がうまく動作するのかが不安だし、そこまでのニーズは無いので、パスすることにする。(CPUがVTをサポートしていれば完全仮想化にトライしてみたかったところだけど・・・)

まずは、パーティション構成を考えて見ますか・・・
  • Partition0(ExtFS2) : ブートローダ用の領域。ちなみに、ブートローダにはGRUBを使う予定
  • Partition1(SWAP) : Swap領域。1GBのメモリを積んだこのPCに必要なのかは不明・・・
  • Partition2 (ExtFS3) : Linux用のメイン
  • Partition3 : 拡張パーティション
  • Partision4 : (FFS) : NetBSDのメイン
  • Partition5 : (ExtFS3) : データ用 その1
  • Partition6 : (ExtFS3):データ用 その2
  • Partiton7 : (TBD) : 色々遊ぶ用のパーティション
とりあえずこんなところかな?
気になる点としては、
  • 拡張パーティションからのNetBSD起動って大丈夫?
  • そもそも、GRUBとNetBSDの組み合わせって初めて使う・・・
  • NetBSDで無線LANを問題なく使えるか?(802.11 a/b/g)
といったところだろうか?
詳細はこんど詰めることにします。とりあえず、データのバックアップを取らないと・・・

2008年10月11日

firefoxとthunderbirdを連携させる(Linux)

Linuxマシン(Gentoo)を使っているのだけれども、thunderbirdのURLリンクをfirefoxで開きたい。そこで、その設定を行ったのをメモで残しておく。

なお、マシンの構成は以下の通り。
  • ディストリビューション : Gentoo Linux 2008.0
  • ウィンドウマネージャー : fluxbox 1.0 RC3
  • ブラウザ : firefox 2.0.0.5
  • メーラー : thunderbird 2.0.0.5
thunderbirdのプリファレンスを保持するファイルを $HOME/.thunderbird/<プロファイル名>/users.js として作成し、以下のエントリを記載する。(users.jpが既に存在している場合には追記する)

user_pref("network.protocol-handler.app.http", "/home/<ユーザ名>/.thunderbird/openlink.sh");
user_pref("network.protocol-handler.app.https", "/home/<ユーザ名>/.thunderbird/openlink.sh");
user_pref("network.protocol-handler.app.ftp", "/home/<ユーザ名>/.thunderbird/openlink.sh");
user_pref("mail.strictly_mime.parm_folding", 0);


この設定により、メール本文中のhttp, https, ftpのリンクをクリックした際に、openlink.shというシェルスクリプトが実行されるようになる。

続いて、このopenlink.shのシェルスクリプトを作成する。
作成したスクリプトはこんな感じ

#!/bin/sh
export MOZILLA_LIB="/usr/lib/mozilla-firefox"
mozilla_bin="/usr/bin/firefox"
url="$1"
if [ "x$url" = "x" ]; then
url="about:blank"
fi
if $MOZILLA_LIB/mozilla-xremote-client -a firefox openURL\("$url, new-tab"\); then
exit 0
fi
exec $mozilla_bin $url

この設定を行った上で、thunderbirdを再起動すればOK。

今度は、firefoxのMail.toでthunderbirdを開くようにする方法を調べてみようかな‥


<参考リンク>