VMware上のFreeBSD 8.1でVMware Toolsを使えるようにする

VMware上で FreeBSD をインストールして、X-Window が動作するところまできましたが、VMware Tools が動作しないのは不便です。
現在(2010/08/04時点)のVMware には、FreeBSD 8.1 に対応したVMware Tools はないようなので、FreeBSDのパッケージから open-vm-tools をインストールし、マウスポインタも透過的に移動できるようにすることにします。

環境は、以下の通り。

参考にしたのは、以下のページ。

VMware 用のドライバ/open-vm-tools をインストールする

  • sysinstall を起動する。


# sysinstall

  • sysinstall Main Menu


Configure を選択


Packages を選択

  • Choose Installation Media


Packages を選択

  • Choose Installation Media


FTP を選択


適切なサイトを選択(例:Japan)

  • User Confirmation Requested


「Running multi-user, assume that the network is already configured?」
Yes を選択

  • Package Selection


以下のパッケージを選択し、Install
- x11-drivers → xf86-input-vmmouse-12.6.7
- x11-drivers → xf86-video-vmware-10.16.9
- emulators → open-vm-tools-253928

  • Package Targets


OK を選択

  • インストールが終わるまでしばらく待つ
  • FreeBSD Configuration Menu


Exit を選択

  • sysinstall Main Menu


tab キーを押して Exit Install

マウスドライバを指定する

  • 下記の内容で /usr/local/etc/hal/fdi/policy/x11-input.fdi を変更する。






evdev



string="Linux">
evdev


kbd
xorg
jp
jp106


string="Linux">
evdev



vmmouse





ビデオドライバを設定する

  • xorg.conf の設定を変更し、ビデオドライバに "vmware"を指定する(Driver "vmware"の行)。
  • xorg.conf がない場合、「Xorg -configure」で作成することが出来る(ただし、Xが起動していてはダメ)。


Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "HWcursor" # [<bool>]
#Option "Xinerama" # [<bool>]
#Option "StaticXinerama" # <str>
Identifier "Card0"
Driver "vmware"
VendorName "VMware"
BoardName "SVGA II Adapter"
BusID "PCI:0:15:0"
EndSection

リブートする

VMware Toolbox を起動する


# vmware-toolbox &

悩みの解消法

人生指南書の古典、カーネギーの「道は開ける」をゲットしたので、読み進めています。

道は開ける 新装版

道は開ける 新装版

せっかくなので、「道は開ける」を読んだ読書日記を書いてみようかと思いつきました。

PART3「悩みの習慣を早期に断とう」の「6.心の中から悩みを追い出すには」より。

不安で一杯な時、その不安が不安を呼んで押しつぶされそうになることがあります。まさしくマーフィーの法則です。
自分自身が勉強でも仕事でも不安があるとき、どうするか?

がむしゃらにその勉強や仕事に取り組んできたのです。一生懸命にやっていると、不安を感じている暇が無いので、いつもそうしていたわけですが。

「道は開ける」の「6.心の中から悩みを追い出すには」の章を読んでみて、そうか!と腑に落ちました。

要約すると、


忙しい状態に身を置けば、心の中から悩みを一掃できる
というものです。

これは、


人間は「一つ一つを《交互に》考えることは出来ても、二つを同時に考えることは出来ないはず。これと同じことが感情にも当てはまり、一方で楽しく夢中になりながら、もう一方で暗く沈むことは出来ない。
という人間の一種の限界から来ているようです。

忙しく働いたり勉強したりして忙しくしていれば、悩んだり悔やんだりしている暇は無いはずで、どうやら知らず知らずのうちにこれを実践していたようです(しかも、一生懸命に取り組むことで、それなりの成果も出て、いつの間にかハッピーな気分になっていたりします)。

このように忙しい状態に人を置くことは、「作業療法」とも呼ばれているようです。今も同様の療法があるかどうかは分かりませんが、70年代のアメリカでは実際に精神病の患者の治療に使われていたようです。そして、もっとも安価な治療薬だと。

カーネギーは「「6.心の中から悩みを追い出すには」の章末で


忙しい状態でいること。悩みを抱えた人間は、絶望感に打つ負けないために、身を粉にして活動しなければならない。
と締めくくっています。

これからも悩まないようにがむしゃらに忙しくしておこうと思った今日でした。

FreeBSD 8.1でX-Windowを使えるようにする

FreeBSDZFSで構築(こちら)してみたので、引き続きコンソールだけではなく、X-Windowが使えるようにしてみる。ログインマネージャはいろいろと試行錯誤した結果、SLiMとした(というより、xmdもgdmも上手くいかなかったので)。

環境は、以下の通り。

参考にしたのは、以下のページ。

準備

FreeBSDは、The FreeBSD Projectからダウンロードしておく
ゲストOSのCDROMにダウンロードした「FreeBSD-8.1-RELEASE-i386-disc1.iso」をセットする
仮想マシンのメモリは、1GB以上を設定する(512MBだとkernel panicになるかも)

X11/gnome2をインストールする

  • sysinstall を起動する。


# sysinstall

  • sysinstall Main Menu


Configure を選択


Packages を選択

  • Choose Installation Media


Packages を選択

  • Choose Installation Media


FTP を選択


適切なサイトを選択(例:Japan)

  • User Confirmation Requested


「Running multi-user, assume that the network is already configured?」
Yes を選択

  • Package Selection


以下のパッケージを選択し、Install
- x11xorg-7.5
- x11 → slim-1.3.1_9
- japanese → ja-font-ipauigotic-00203
- japanese → ja-scim-anthy-1.2.7
- gnome → gnome2-2.30.1_1

  • Package Targets


OK を選択


適切なサイトを選択(例:Japan)

  • User Confirmation Requested


「You've already done the network configuration once, would you like to skip over it now?」
Yes を選択

  • インストールが終わるまでしばらく待つ
  • FreeBSD Configuration Menu


Exit を選択

  • sysinstall Main Menu


Exit Install を選択

X11のための設定をする

  • DbusとHalデーモンが起動するように /etc/rc.conf に以下を追加する。


dbus_enable="YES"
hald_enable="YES"

  • ~/.xinitrc を作成する。


export LANG=ja_JP.UTF-8
exec gnome-session

  • リブートする。


# reboot

  • リブート後、ログインして X11 をスタートする。


# startx

X11を設定する(キーボード編)

  • gnomeのメニューから「システム」−「設定」−「キーボード」を選択する
  • 起動した「キーボードの設定」の「レイアウト」タブを選択する
  • 「追加...」ボタンを押す
  • 「レイアウトの選択」画面で「国」として「日本」を選択する
  • 「追加」を押して、レイアウトを追加する
  • 「キーボードの設定」画面の「レイアウト」タブで追加した「Japan」を選択して、一番上に移動させる
  • 「閉じる」を押して「キーボードの設定」を終わる

X11を設定する(ログイン画面編)

  • SLiMが起動するように /etc/rc.conf に以下を追加する。


slim_enable="YES"





evdev



evdev



kbd

xorg
jp
jp106


evdev




  • リブートする。


# reboot

  • リブート後、ログイン画面が表示される(ただし、入力できるまでに時間がかかる。何故?)。

おまけ

  • FreeBSDの仮想コンソールの切り替えは、次のキー入力となっていました
    • FreeBSD 8.1だからなのか、VMware Player 上にインストールしたからなのかは分かりません・・・
  • X11の画面からコンソールに切り替え


Shift+Alt+Ctl+Fn (Fn=F1、F2、…F8)

  • コンソールからX11の画面に切り替え


Alt+F9

  • コンソール画面同士を切り替え


Alt+Fn (Fn=F1、F2、…F8)

FreeBSD 8.1をZFSで構築してみる

色々なOSをインストールしてみたけど、FreeBSDはインストールしたことがなかったので、チャンレンジしてみる。ちょうど、ZFSを正式サポートしたFreeBSD 8.1がリリースされたので、これを試す。ZFSは少し前にSolaris 10で構築したときに面白く・便利だったので、VMware Player上でFreeBSD 8.1を動かしてみた。

参考にしたのは、以下のページ。

FreeBSDhttp://www.freebsd.org/ja/ からダウンロード

ゲストOSを作成する

メモリ 512MB
HDD 8GB
CD/DVD(1) FreeBSD-8.1-RELEASE-i386-bootonly.iso
CD/DVD(2) FreeBSD-8.1-RELEASE-i386-disc1.iso

ゲストOSを起動する

BIOS設定でCDから起動する設定になっているかを確認。
「1. Boot FreeBSD [default]」を選択する。

  • Country Selection

110 Japanを選択

  • System Console Keymap

Japanese 106を選択

  • sysinstall Main Menu

Fixitを選択

  • Please choose a fixit option

2 CDROM/DVDを選択

  • Choose a CD/DVD type

acd0 ATAPI/IDE CDROMを選択 (※acd0は1台目のCD/DVDドライブ)

Fixitのコマンドプロンプトが表示される

ディスクを準備する

ここの手順は、「http://wirednoize.net/freebsd/index.php?FreeBSD%208.0RC2%20amd64%20pure%20ZFS%20install」を使わせてもらっていますので、わかり辛いところはオリジナルを参照してください。


Fixit# mount -t devfs devfs /dist/dev
Fixit# chroot /dist tcsh
#

  • 接続ドライブを確認する(先頭のad0がHDD)。


# dmesg | grep ^ad
ad0: 8192MB at ata0-master UDMA33

  • テーブルを初期化する。


# dd if=/dev/zero of=/dev/ad0 bs=1m count=1
1+0 records in
1+0 records out
1048576 bytes transferred in 0.054120 secs (19374996 bytes/sec)


# kldload zfs.ko


# kldstat
Id Refs Address Size Name
1 9 0xc0400000 bb5504 kernel
2 1 0xc3d96000 12e000 zfs.ko
3 1 0xc3ec5000 3000 opensolaris.ko

  • GPT スキームを作成する。


# gpart create -s GPT ad0
ad0 created

  • ブートストラップコードを保護された MBR に埋め込む。


# gpart bootcode -b /boot/pmbr ad0
ad0 has bootcode


# gpart add -b 34 -s 128 -t freebsd-boot ad0
ad0p1 added

  • ブートストラップコードをインストールする(実行後、何も表示されない)。


# gpart bootcode -p /boot/gptzfsboot -i 1 ad0


# gpart show ad0
=> 34 16777149 ad0 GPT (8.0G)
34 128 1 freebsd-boot (64K)
162 16777021 - free - (8.0G)


# gpart add -b 162 -s 16777021 -t freebsd-zfs ad0
ad0p2 added


gpart show ad0
=> 34 16777149 ad0 GPT (8.0G)
34 128 1 freebsd-boot (64K)
162 16777021 freebsd-zfs (8.0G)


# exit
Fixit#

ファイルシステムを構築する

ここの手順は、「http://wirednoize.net/freebsd/index.php?FreeBSD%208.0RC2%20amd64%20pure%20ZFS%20install」を使わせてもらっていますので、わかり辛いところはオリジナルを参照してください。ただし、プール名は、Solarisの標準の名前 rpool にしています。

  • ZFS ストレージプールを作成する(プール名は、rpool)。


Fixit# zpool create rpool /dev/ad0p2

  • 作成したZFS ストレージプールを確認する。


Fixit# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
rpool 7.94G 72K 7.94G 0% ONLINE -


Fixit# zfs create rpool/system
Fixit# zfs create rpool/system/home
Fixit# zfs create rpool/system/usr
Fixit# zfs create rpool/system/usr/src
Fixit# zfs create rpool/system/var


Fixit# zfs create -V 1gb rpool/swap
Fixit# zfs set org.freebsd:swap=on rpool/swap


Fixit# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 1.82G 6.00G 19K /rpool
rpool/swap 1G 7.00G 16K -
rpool/system 95K 6.00G 22K /rpool/system
rpool/system/home 18K 6.00G 18K /rpool/system/home
rpool/system/usr 37K 6.00G 19K /rpool/system/usr
rpool/system/usr/src 18K 6.00M 18K /rpool/system/usr/src
rpool/system/var 18K 6.00G 18K /rpool/system/var

OSをインストールする

ここの手順は、「http://wirednoize.net/freebsd/index.php?FreeBSD%208.0RC2%20amd64%20pure%20ZFS%20install」を使わせてもらっていますので、わかり辛いところはオリジナルを参照してください。ただし、インストールメディアを2台目のCDROMドライブとしましたので、追加の手順があります。

  • 通常インストール用のCD(acd1に設定済み)を /mnt にマウントする。


Fixit# /dist/sbin/mount_cd9660 /dev/acd1 /mnt


Fixit# export DESTDIR='/rpool/system'
Fixit# echo $DESTDIR
/rpool/system

  • base をインストールする


Fixit# cd /mnt/8.1-RELEASE/base
Fixit# ./install.sh

You are about extract the base distriution into /rpool/system - are you SURE
you want to do this over your installed system (y/n)?y

  • kernel をインストールする。


Fixit# cd /mnt/8.1-RELEASE/kernels
Fixit# ./install.sh generic
Fixit# cd $DESTDIR/boot
Fixit# rmdir kernel
Fixit# mv GENERIC kernel

  • src をインストールする


Fixit# cd /mnt/8.1-RELEASE/src
Fixit# ./install.sh all
Extracting sources into /rpool/system/usr/src/...
Extracting source compoment: base
:
Done extracting sources.


Fixit# unset DESTDIR
Fixit# echo $DESTDIR

ブートローダを再構築する

ここの手順は、「http://wirednoize.net/freebsd/index.php?FreeBSD%208.0RC2%20amd64%20pure%20ZFS%20install」を使わせてもらっていますので、わかり辛いところはオリジナルを参照してください。

  • 設定前準備をする。


Fixit# mount -t devfs devfs /rpool/system/dev
Fixit# chroot /rpool/system tcsh
#

  • make.conf を設定する(viで編集してもOK)。


echo 'LOADER_ZFS_SUPPORT="yes"' > /etc/make.conf

  • 現在の loader を確認する(日付とサイズを覚えておく)。


# ls -l /boot/loader
-r-xr-xr-x 1 root wheel 262144 Jul 19 02:24 /boot/loader

  • /usr/share/man/man5 ディレクトリを作成する(loader インストール時にエラーになるため)。


# mkdir -p /usr/share/man/man5

  • ZFS 対応 loader を再構築する。


# cd /usr/src/sys/boot/
# make clean
# make obj
# make depend
# make
# cd i386/loader
# make install

  • 置き換わった loader を確認する(日付とサイズが変わっていれば、OK)。


# ls -l /boot/loader
-r-xr-xr-x 1 root wheel 262144 Aug 1 15:34 /boot/loader

FreeBSDの設定をする

ここの手順は、「http://wirednoize.net/freebsd/index.php?FreeBSD%208.0RC2%20amd64%20pure%20ZFS%20install」を使わせてもらっていますので、わかり辛いところはオリジナルを参照してください。VMware Player上で構築した関係でDHCPとしましたので、追加の手順があります。

  • sysinstall を起動する。


# sysinstall

  • sysinstall Main Menu


Configure を選択


Root Password を選択

  • rootのパスワードを入力する。


New Password: ******
Retype New Password: ******


User Management を選択

  • User and group management


Group を選択

  • グループを作成する。


Group name: hoge
GID: 1001(初期値)
Group members: 無し

  • User and group management


User を選択

  • ユーザを作成する。


Login ID: hoge
UID: 1001(初期値)
Group: 1001
Password: ******
Confirm Password: ******
Full name: User &(初期値)
Member groups: wheel
Home directory: /home/hoge (自動的に記述される)
Login shell: /bin/tcsh

  • Exit を選択して、FreeBSD Configuration Menu に戻る
  • FreeBSD Configuration Menu


Time Zone を選択


No を選択

  • Time Zone Selector


5 Asia を選択

  • Countries in Asia


18 Japan を選択

  • Confirmation


「Does the abbreviation `JST' look reasonable?」
Yes を選択


Networking を選択

  • Network Services Menu


Interfaces を選択

  • Network interface information required


em0 選択

  • User Confirmation Requested


「Do you want... IPv6 ...of the interface?」
No を選択
「Do you want... DHCP ...of the interface?」
Yes を選択

  • Network Configuration


Host: freebsd-vm.localdomain
Domain: localdomain
IPv4 Gateway: DHCPより割り当て
Name server: DHCPより割り当て
IPv4 Address: DHCPより割り当て
Netmask: 255.255.255.0 (自動的に記述される)
Extra options: なし

  • Network Services Menu


Exit を選択


Exit を選択

  • sysinstall Main Menu


tab キーを押して Exit Install

  • ネットワークインタフェース em0 を停止させる。


# ifconfig em0 down


# exit


Fixit# umount /rpool/system/dev

ブートファイルシステムを設定する

ここの手順は、「http://wirednoize.net/freebsd/index.php?FreeBSD%208.0RC2%20amd64%20pure%20ZFS%20install」を使わせてもらっていますので、わかり辛いところはオリジナルを参照してください。


Fixit# zpool set bootfs=rpool/system rpool

  • zpool.cache の更新して、ZFS BOOT 環境にコピーする。


Fixit# mkdir /boot/zfs
Fixit# zpool export rpool
Fixit# zpool import rpool
Fixit# cp /boot/zfs/zpool.cache /rpool/system/boot/zfs/

  • 起動時にZFSが有効になるように rc.conf を設定する(viで編集してもOK)。


Fixit# echo 'zfs_enable="YES"' >> /rpool/system/etc/rc.conf

  • loader.conf の設定する(viで編集してもOK)。


Fixit# echo 'zfs_load="YES"' >> /rpool/system/boot/loader.conf
Fixit# echo 'vfs.root.mountfrom="zfs:rpool/system"' >> /rpool/system/boot/loader.conf

  • fstab を編集して、ZFSがマウントされるようにする。


Fixit# echo 'rpool/system / zfs rw 0 0' > /rpool/system/etc/fstab

  • 自動マウントされないようにする。


Fixit# zfs set mountpoint=none rpool

  • ルート(/)は、レガシーモードにする(通常は、ZFSのmountpointプロパティで設定する)。


Fixit# zfs set mountpoint=legacy rpool/system

  • マウントポイントの変更


Fixit# zfs set mountpoint=/home rpool/system/home
Fixit# zfs set mountpoint=/usr rpool/system/usr
Fixit# zfs set mountpoint=/usr/src rpool/system/usr/src
Fixit# zfs set mountpoint=/var rpool/system/var

  • Fixit を終了する


Fixit# exit

  • Please choose a fixit option


Exit を選択

  • sysinstall Main Menu


tab キーを押して Exit Install

  • User Confirmation Requested


* Are you sure you wish to exit? The system will reboot.
Yes を選択

  • VMware Playerを操作して、CDROM(2台目)を抜いておく。
  • リブートがかかり、FreeBSDが立ち上がる。

USキーボードになっているので、キーマップを変更する

  • root でログインする。
  • sysinstall を起動する。


# sysinstall

  • sysinstall Main Menu


Keymap を選択

  • System Console Keymap


Japanese 106 を選択

  • sysinstall Main Menu


tab キーを押して Exit Install

アフリカに居た頑張り屋の青年

痛いニュース(ノ∀`):アフリカの少年、7年かけ独学で風力発電に成功→バカにしてた村人らが携帯の充電に訪れる

いやぁ〜イイ話しだぁ〜。「本に写真が載っているのだから、だれかがこの機械を作ったということ。それならぼくにも出来るはずだと思った」とあるけど、そう簡単にできるものではない。強い意志と物事をやりぬく強い意志の賜物。こういう青年には、勉強できる機会を是非作ってあげて欲しいと思う。


睡眠と記憶

睡眠と記憶について、気になって少し調べてみました。ざっと見ただけなので、嘘があるかもしれません。

記憶を定着させるためには、睡眠というのは非常に大切で、寝ている間に脳みその海馬という部分が重要な役割があるらしい。

睡眠を通して記憶を定着させるには、昔からよく言われることだけど、寝る前に単語とかの暗記が効果的だと言われる由縁だと思われる。

そこで、脳科学に関する本を物色してみると
一言でこの本を要約すれば、「徹底した復習こそ王道。勉強に王道なし。」であり、勉強において何も魔法は無いことを改めて確認した。

逆に、この言い古された「勉強に王道なし」を確認出来た点で読んで価値ある本だった。

本書で解説されている記憶の3箇条 1.何度も失敗を繰り返して覚えるべし 2.きちんと手順を踏んで覚えるべし 3.まずは大きくとらえるべし ということも、みんなが経験的には知っていることとは思いますが、それをシナプスや海馬のしくみ等脳の性質を解説し、「なぜそうなのか」が分かるようになっています。

最新脳科学が教える 高校生の勉強法    東進ブックス

最新脳科学が教える 高校生の勉強法 東進ブックス