(JA) OpenSolaris b106 : installation into usb memory

すでに Solaris Express で同様のことはテスト済みなのですが、 OpenSolaris b106 の ISO イメージが配布され始めたので、こちらでもテストをしてみました。
USBへのインストールは LiveCD / LiveUSB のどちらでも行えます。 下図は LiveUSB から USBメモリへのインストールを行っているところです。


インストール方法は以下の通りです。たいしたモノではありませんが…。

  1. OpenSolaris LiveCD もしくは OpenSolaris LiveUSB を起動する。
    この時点ではインストール用USBメモリは接続しません。 (起動時にエラーが出たりすることがあるので)
  2. OpenSolaris 起動後、USBメモリを接続。FATでフォーマットされている場合などは 自動マウントされるので、念のため、アンマウントしておく。
  3. インストーラアイコンをダブルクリックし、起動。
  4. インストールディスクに USB メモリを選択し、普通にインストール。

これだけです。\^-\^;

インストールは基本的に通常のインストールと変わりません。
一応、インストール手順のスクリーンショットを後半に貼り付けておきます。

================================
(参考) USBメモリブートの安定性向上?

USBメモリからのZFSブートが非常に不安定な場合があります。 GRUBからカーネルを選択後、OpenSolaris起動時に 「ブートできないデバイスです」という趣旨の英語の警告が一瞬表示され、 リブートを繰り返す現象に遭遇しました。
私の環境では /kernel/drv/scsa2usb.conf に OpenSolaris をインストールしたUSBメモリ情報を追加することにより、 この現象が軽減しましたので、参考までに書いておきます。
ただ、設定後でも利用する USB ポートを変えると同じ現象が再現したりする場合もあるので、 USBポートは固定した方が良いのかもしれません。

今回は removable設定のみを上書きするように設定していますが、 他の情報を書き換えたりすることで状況が改善したりするかもしれません。
この辺は今後情報が増えてくると期待。

USBメモリの情報を/kernel/drv/scsa2usb.confに追加する方法は下記のとおりです。

  1. LiveUSB / LiveCD を起動する。
  2. rpool を強制的にインポートする。

    $ zpool import -f -a
    

    おまけ rpool が複数ある場合、作業を行いたいrpoolをインポートできない場合があります。この場合は zfs の id を利用してインポートします。
    まず、下記のように zpool import で zpool 情報を取得します。インポートしていないpoolが複数のある場合は複数行表示されます。

    $ zpool import
      pool: rpool
        id: 6178916327464335414
     state: ONLINE
    status: The pool is formatted using an older on-disk version.
    action: The pool can be imported using its name or numeric identifier, though
    	some features will not be available without an explicit 'zpool upgrade'.
    config:
    
    	rpool        ONLINE
    	  c12t0d0s0  ONLINE
    

    id を利用してインポートします。

    $ zpool import -f 6178916327464335414
    

  3. / ディレクトリのマウントポイントをlegacyに変更する

    $ zfs set mountpoint=legacy rpool/ROOT/opensolaris
    

  4. /mnt でマウントする

    $ mount -F zfs rpool/ROOT/opensolaris /mnt
    

  5. /mnt/kernel/drv/scsa2usb.conf に OpenSolaris をインストールしたUSBメモリ情報を追加する。

    まず rmformat コマンドで USBメモリの製品名を調べておきます。 この場合は、製品名PicoDUAL になります。

    $ rmformat
    Looking for devices...
         1. Logical Node: /dev/rdsk/c11t0d0p0
            Physical Node: /pci@0,0/pci1462,6510@1d,7/storage@2/disk@0,0
            Connected Device: GH       PicoDUAL         PMAP
            Device Type: Removable
    	Bus: USB
    	Size: 15.3 GB
    	Label: 
    	Access permissions: 
    

    次のコマンドを実行します。

    $ prtconf -v > /tmp/a
    

    USBメモリ名を利用して、USBメモリの情報を探します。

    必要な情報は usb-vendor-id, usb-product-id, usb-revision-id(オプション) です。
    下記は prtconf -v 出力の PicoDUAL が該当する部分です。

                        name='usb-product-name' type=string items=1
                            value='PicoDUAL'
                        name='usb-vendor-name' type=string items=1
                            value='GH'
                        name='usb-serialno' type=string items=1
                            value='078C06810B04'
                        name='usb-raw-cfg-descriptors' type=byte items=32
                            value=09.02.20.00.01.01.00.80.64.
                            09.04.00.00.02.08.06.50.00.07.05.81.02.
                            00.02.00.07.05.02.02.00.02.00
                        name='usb-dev-descriptor' type=byte items=18
                            value=12.01.00.02.00.00.00.40.6b.0a.0f.00.10.01.01.02.03.01
                        name='usb-release' type=int items=1
                            value=00000200
                        name='usb-num-configs' type=int items=1
                            value=00000001
                        name='usb-revision-id' type=int items=1
                            value=00000110
                        name='usb-product-id' type=int items=1
                            value=0000000f
                        name='usb-vendor-id' type=int items=1
                            value=00000a6b
    

    /mnt/kernel/drv/scsa2usb.conf に USBメモリの情報を追加します。
    追加するものは下記のとおりです。vid に usb-vendor-id、 pid に usb-product-id、 rev に usb-revision-id (下記は \* を利用し、省略)、 removable = true を指定します。

    # ANYTHING CHANGED BEFORE THIS POINT MAY BE OVERWRITTEN IN UPGRADE
    attribute-override-list = "vid=0xa6b pid=0x0f rev=\* removable=true";
    


  6. /mnt をアンマウント

    $ umount /mnt
    

  7. マウントポイントを元に戻す

    $ zfs set mountpoint=/ rpool/ROOT/opensolaris
    


書き換え間違い等があった場合、OSの起動時(OSバージョン等が表示され、Hostnameが表示される前)に /kernel/drv/scsa2usb.conf がおかしい趣旨の 警告が表示されます。

====================================

インストーラのスクリーンショット



ここで、インストール先に USB メモリを指定しています。



今回は USB メモリ全体を利用するため、選択オプションを変更しました。











インストール後の rmformat, zpool status の情報は次のような感じです。

user@opensolaris:~$ uname -a
SunOS opensolaris 5.11 snv_106 i86pc i386 i86pc Solaris
user@opensolaris:~$ cat /etc/release
                         OpenSolaris 2009.06 snv_106 X86
           Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                            Assembled 28 January 2009

user@opensolaris:~$ rmformat
Looking for devices...
     1. Logical Node: /dev/rdsk/c10t0d0p0
        Physical Node: /pci@0,0/pci10f7,8338@1d,7/storage@1/disk@0,0
        Connected Device: GH       PicoDUAL         PMAP
        Device Type: Removable
	Bus: USB
	Size: 15.3 GB
	Label: 
	Access permissions: 
     2. Logical Node: /dev/rdsk/c8t0d0p0
        Physical Node: /pci@0,0/pci10f7,8338@1d,7/cdrom@3/disk@0,0
        Connected Device: MATSHITA DVD-RAM UJ-823S  1.50
        Device Type: CD Reader
	Bus: USB
	Size: 
	Label: 
	Access permissions: 
user@opensolaris:~$ zpool status
  pool: rpool
 state: ONLINE
 scrub: none requested
config:

	NAME         STATE     READ WRITE CKSUM
	rpool        ONLINE       0     0     0
	  c10t0d0s0  ONLINE       0     0     0

errors: No known data errors


今回の USB ブート環境は Let's Note W4 で作成したわけですが、 試しに別のノートPC(MCJ Co,.Ltd m-book P650)に入れて起動してみたところ、 普通に起動しました。
Let's Note W4 は内臓グラフィックスで、こちらは GeForce 9600M GT だったりしますが、 普通に認識してます。
GrubもUSBのものが使われていて、Windows等を起動する場合は USBを引っこ抜けば良いので関係ないですし、WindowsのFATで共有領域を作っている場合は 多少テクニックが必要ですが、1つ入れといて使いまわしが効きそうです。

(ひとりごと)
いつの間にか 2009.06 になってますね…。

投稿されたコメント:

コメント
コメントは無効になっています。
About

Technical Infomations of OpenSolaris and Java and etc are in this blog. Contents of this blog are mainly written in Japanese, sometimes written in English.

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日