やりなおし。
こんどは、zpool create で、スライスではなく、disk 丸ごと zfs に。
しかし、ここにも罠が。
EFI label だと、installgrub できない orz
# installgrub /zfsroot/boot/grub/stage1 /zfsroot/boot/grub/stage2 /dev/rdsk/c1t1d0s0cannot open/stat device /dev/rdsk/c1t1d0s2
そりゃそうだねぇ・・・
まぁ、冒険は後からでもいいので、とりあえずは最初に戻って、手順書通りにやってみる。
とりあえず、/rootpool/boot/grub/menu.lst は、こんな感じで設定し、32bit kernel が強制的に起動するようにしてみる。手順書には、console=ttya がついてるのだけど、それは外しときます。
title Solaris ZFSで、恐る恐る shutdown -y -i6 -g0 してみると・・・
root (hd0,0,a)
kernel$ /platform/i86pc/kernel/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/boot_archive
title Solaris ZFS - failsafe
root (hd0,0,a)
kernel /boot/platform/i86pc/kernel/unix
module /boot/x86.miniroot-safe
きたっ!zfsboot きたっ!
# mount -pいい感じです。read/write が速くなっています。
rootpool/rootfs - / zfs - no rw,noatime
/devices - /devices devfs - no
/dev - /dev dev - no
ctfs - /system/contract ctfs - no
proc - /proc proc - no
mnttab - /etc/mnttab mntfs - no
swap - /etc/svc/volatile tmpfs - no xattr
objfs - /system/object objfs - no
/usr/lib/libc/libc_hwcap1.so.1 - /lib/libc.so.1 lofs - no
fd - /dev/fd fd - no rw
swap - /var/run tmpfs - no xattr
/dev/dsk/c1t0d0s0 - /ufsroot ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
rootpool - /rootpool zfs - no rw,devices,setuid,exec,xattr,atime
/hgfs - /hgfs vmhgfs - no
/tmp/VMwareDnD - /var/run/vmblock vmblock - no
とにかく、Manual Setup to boot ZFS on x86 を、きちんと読むのが成功の秘訣です。
section 4 の find と cpio による populate の次にある、「Run this script to create them.」これは、忘れずに実行することです。
コピペすると大変なことになるので、きちんと確認を。
あと、起動時に以下の WARNING が。
unknown genunix: [ID 921906 kern.warning] WARNING: Cannot find /etc/dfs/sharetabsharetab は、build 62 で、kernel が持つようになったので、以下のようにしてから再起動してあげればいいみたい。
unknown kcf: [ID 415456 kern.warning] WARNING: No randomness provider enabled for /dev/random. Use cryptoadm(1M) to enable a provider.
# touch /etc/dfs/sharetabcryptoadm は、わかんね。
いまのところ、さとうは VMware Fusion Beta 3 を使って実験しているので、仮想環境で練習してから挑むのをオススメ。
次は、64 bit kernel で起動させてみないと。