CUIなワークステーションを作る へ

U270でCUIな「ノート型ワークステーション」を仕立ててみる(FreeBSD9.0&9.1編)

 もう既に8.3については完成している訳ですが……。
 PC-BSD9では動いているVirtualboxについて,今まで述べてきたCUIなワークステーションから使えないかという観点で,いろいろ試してみるうちに,FreeBSD9.0で8.3と同じようにできないかと思ってやってみたのが,あっさりうまくいったので,FreeBSD9.0バージョンも紹介してみることにした次第。

大前提として注意事項

 U270とFreeBSD8.3でCUIな「ノート型ワークステーション」を仕立ててみるの「大前提として注意事項」のとおり。

1 準備するもの

・いわゆるLANケーブル
・2GB以上のUSBメモリー
・当たり前だけどU270本体と電源アダプター
・気づきにくいけどU270にLANケーブルをつないだ先にインターネットに接続できる環境

2 インストール用USBメモリーの用意

 通常はUSB接続し,起動可能な外付けCD・DVDでも起動できるのですが,U270について言うと起動ディスクが(起動されたFreeBSDからは)途中で行方不明になることがあります。この場合は,USBメモリーからのインストールは可能だったので,今回はこの手順にします。
 USBメモリーからのインストール用のファイル(FreeBSD-9.0-RELEASE-amd64-memstick.img)をダウンロードし,USBメモリーに(ディスクイメージとして)書き込んで,インストール用USBメモリーを作ります。私は今回書込用には,「DDforWindows」を使用しました。
 インストール用ファイルのおおもとのサイトとしてはhttp://www.freebsd.org/ja/where.htmlがあります。ここのサイトからだと配布元→上位のディレクトリに移動→ISOimages→9.0とたどることになります。あとは該当するファイルをクリックするだけ。

3 USBメモリーから起動

 LANケーブルが物理的に接続され,インターネット接続可能な状態になっていることを確認し,USBメモリーを挿して,電源を入れます。
 電源が入ったらF11キーを押しっぱなしにするか何回かタイミングよく押して,起動手順を変え,USBメモリーから起動させます。

4 ブート画面はそのままで可

 BSDおなじみの白黒のブート画面が出ます。
 とはいえ,9.0で若干変わっていることがわかります。
 1を選んでもいいですし,そのままにしても1を選んだことになるんでそれでもいいです。

5 インストールするかLive CDとして使うかどうか

 Installを選択。

6 System Console Keymap

 Keymap Selectionを選択。
 その後「United States of America ISO-8859-1 (Caps Lock acts as Left Ctrl)」
 ちなみにこれを選ぶと英語キーボードのCapsLockがControlとして扱われて,よりHappy Hacking Keyboardに近くなります。
 ※なぜか修正されなかったので,後で/etc/rc.confで「keymap="us.pc-ctrl"」に直しています。

7 Set Hostname

 gentooのコンピューターネットワーク上の名前を設定しましょう。

8 Distribution Select

 後でソフトをパッケージで入れるだけと決め打ちする場合には,
 最低限lib32だけ選んで,残りは後回しでいいと思います。
 ※ちなみに9.1のパッケージは2013年3月5日現在ほとんどできていない模様。
 加えて入れるとすればdoc。
 gamesもまあゲームする気があれば入れておけば簡単か。
 カーネルのコンパイルをする気がなければsrcはいらないでしょう。
 そして今のところportsは使わない予定なので,使う時に「portsnap fetch」で充分です。
 一方ソフトをportsで入れる場合には,なんとsrcが必須な場合があります。
 当然portsも入れないと……ということなんだけど,後で入れてもいいかもしれません。
(いやsrcも後で入れられるんだけどsubversion入れなきゃいけないとか意外に面倒だった。)

9 ハードディスクの領域設定

 とりあえずHDDをまるごと使うので「Guided」でいいです。
 ちなみに「Guided」は「全部まるごと」か「開いている所に領域切って」しかできず,
 既に確保済の所を使う場合は「manual」になります。
 次に使うディスクの指定ですが,たぶん「ada0」でしょうから「OK」です。
 次に全部使うか?と聞いてくるので「Entire Disk」を選び,
 念のため確認されますから「YES」です。
 自動で「boot / swap」を確保しますので,「commit」で変更を書き込みます。
 HDDの全域を使わない場合には「MBR」を選択した上で
 ada0にあわせてcreateでパーティションを確保。
 次に今作ったパーティションであるada0xにあわせてcreateでスライスを確保します。
 スライスの先頭はswapにしてはいけません。はまります。
 またswap以外はマウントポイントの指定も忘れずに。
 ちなみに一番単純なのはまず1つスライスを確保して「freebsd-ufs」「マウントポイントは/」と指定
 残りをswap領域として「freebsd-swap」とするものです。
 実はFreeBSDの場合,今では,swap領域を/以下のファイルをswap領域に指定するという技がありますが,
 どっちが単純かは結構微妙な線だと思います。
 最後にConfirmationのところで「Commit」を選ぶと修正が反映されて次の段階に行きます。
 編集内容を捨ててBSD Installを終わらせるなら「Revert & Exit」,戻る時は「Back」です。

 ちなみに,この局面でHDDが発見できない場合,HDDがSATAでしかもBIOSでAHCI設定になっていることがあります。これは,SATAの能力を引き出すための設定なのですが,いかんせんOS側でデバイスドライバを別に持っていないと動作しません。windowsでも古いものだとだめです。この場合には,BIOSでAHCIからIDE互換に変更します。動作速度は多少落ちるそうですが,少なくとも私には体感できていません。

10 rootのパスワード設定

 例によって2回入れます。
 rootのパスワードなし設定はできないと思われます。

11 ネットワーク設定

 「OK」を選んで設定するわけですが,
 IPv4
 DHCP
 IPv6
 SLAAC
 全部まんまで「OK」
 Resolver Configurationも「OK」

12 コンピューター内部時計の設定

 内部時計はUTCを利用することにします。
 地域設定は「5 Asia」→「18 Japan」
 略称は「JST」で「YES」
 これで内部時計はUTCでありながら画面では日本標準時が表示されます。
 内部時計に日本標準時を使う場合には,最初の「UTCか?」という質問で「No」を選ぶ必要があります。
 この場合でも地域設定と略称は同じ。

13 デーモンの設定

 sshd
 moused
 ntpd
 を動かしておきます。
 powerdは意味わからないけどついでに。

14 crash dumps

 見てもわからないだろうけど一応「YES」

15 ユーザーの追加

 「YES」を選んで追加しておきます。
 あとはひとつひとつ指示通りに。
 Login Groupに「wheel」を選択するのを私は常としています。
 普段はユーザーで必要に応じてrootになれるようにしておくのが正しいお作法。

16 これで設定画面からでていいかい?

 いいよ。

17 手動で設定するかい?

 きちんと起動後に自分でやるからいい→「No」

18 再起動

 ここで再起動がかかります。
 電源が切れる隙にUSBメモリーを抜きましょう
 再起動後,ログインできたら,とりあえず一段落です。

19 .cshrcの設定

 こちらを参照

20 個々のソフトのインストールの手順

 こちらを参照

インストールするプログラムのリスト

nano
パッケージ名は「nano」
簡単なエディタは好きです。emacsは別論としてviよりは好き。
jfbterm
パッケージ名は「jfbterm」
日本語コンソールとしては私これしか使えていません。konはMSiというかたぶんAMDと相性悪いんじゃないかとにらんでいます。
東雲フォント
パッケージ名は「ja-font-shinonome」
どうもデフォルトのフォントがいまいちなので,他のフォントを試してみます。
したがってとりあえず入れないという選択肢はありです。
もし入れる場合,packageで入れられるbitmapなフォントはm-plusか東雲しかないので,東雲を入れます。

実は最初m-plusで試したんだけど……字が小さい!
というので東雲の16dotにしたという。
emacs-w3m
パッケージ名は「emacs-w3m-emacs23」
w3mがemacsから使えるようになります。
「emacs -f w3m http://なんとか」でいきなりサイトが見れます。
ちなみにportsで入れる時は,w3m(-img)→emacs→emacs-w3mと手順を踏んでいます。
emacsで画像表示させたいのに……。

ちなみに2014年2月27日現在,9.1においては,パッケージ名として「emacs-w3m-emacs24」が使用可能です。
そしてpkg_add -rで入れた後,「pkg_delete -f w3m-m17n-0.5.3_1」でw3mを削り
「pkg_add -r w3m-m17n-img」を入れ直すと
素のw3mで画像表示ができ,日本語も問題なく表示される上,
emacsからでも表示ができるようになりました。
これは残る問題が「emacsでの画像表示」なんで相当有望です。
SKK
ddskkをpkg_addで入れると,特に設定はせずとも「control-x control-j」でskkが動きます。
 この場合のパッケージ名は「ja-ddskk-emacs23」
LISP
Common Lisp
Steel Bank Common Lisp
clisp
scheme
MIT-Scheme
Gauche
2013年3月5日現在パッケージもportsもなぜかエラーが出て動きません。
Guile
fuse-ntfs
windows領域を読み書きできるようにします。
デフォルトで入っているmount_ntfsでも読みだけはできるのですが,書きはできない模様なので。
まず普通にインストールします。
次に/etc/rc.confに「fusefs_enable="YES"」を追加します。
念のため「/usr/local/etc/rc.d/fusefs start」で動かしておきます。
これで毎度マウントしてもよいのですが,面倒なので,BSDスタート時に読み書きできるようにします。
まず念のため従来の/sbin/mount_ntfsのファイル名を変えてどこかに退避させておきます。
ちなみに私は「mv /sbin/mount_ntfs /sbin/mount_ntfs.org」としています。
次に「ln -s /usr/local/bin/ntfs-3g /sbin/mount_ntfs」とします。
最後に/etc/fstabに1行書き足します。
私のemperorの場合だと,/dev/ada1s1がPATAのHDDで全領域windowsXpなものですから
マウントポイントを例えば「mkdir /mnt/win」と作っておいてから
「/dev/ada1s1 /mnt/win ntfs rw,late 0 0」
とします。 これで電源入れ直しますと,もうwindowsXp領域が読み書きできるようになっています。
……ja_JP.eucJP設定なんで素のコンソール(例 jfbterm)だと漢字のファイル名は文字化けしていますが……。
  emacsから使うなら問題ないよね?

21 /usr/local/etc/jfbterm.confの設定

最後の方「D. Font and Encoding configuration」の「2) Use M+ bitmap fonts」の箇所をまるごとコピーし
わかりやすいよう「2-1)」とでもした上で,次の行を書き換えます。
「fontset: iso-646-1973irv」の行の末尾「/usr」以下をフォントのファイルがある「/usr/local/share/font-shinonome/shnm8x16r.pcf.gz」へ
「+fontset: jis6226-1978」の行の末尾「/usr」以下をフォントのファイルがある「/usr/local/share/font-shinonome/shnmk16.pcf.gz」へ
「+fontset: jis6220-1969roman」の行の末尾「/usr」以下をフォントのファイルがある「/usr/local/share/font-shinonome/shnm8x16r.pcf.gz」へ
(最後のこれは実は自信なし)

/usr/local/share/font-shinonome見るとファイル名で似たようなパターンがあるんだけど,たぶん規則性あるんじゃないかな。
k16とあれば漢字で16dot(いわゆる全角),8x16はANK(いわゆる半角)
その後になにもなければ基本形
ANKの場合の後の「r」はローマ字
bはbold(太字),iはitalic(斜体),minは小さい文字
でも正直kon2の16dotのフォントが懐かしい。
実はMSゴシック(10pt〜14pt)とかterminalフォントが結構好きなんだけど……。
あれ,合法的に他のOSで使えないのかえ?

22 ~/.emacs.d/init.elの設定

 こちらを参照

これで一旦ログアウトしてログインし直すか,
不安だったらrebootして再度立ち上げれば
CUIなワークステーションが動いています。
(2013.3.6.最終改訂)

CUIなワークステーションを作る へ