Dell Optiplex GXa Solaris 8  x86  6/00

戻る




cdrtools-1.10

CD-RやCD-RWはコストが低く安定しているため、バックアップメディアとして
非常に有効な手段だ。
当初はバックアップしたいデータをWindowsのEasyCD-Creatorで焼いていたが、
ファイルシステムがRockRidgeには対応していないため、作成したCD-Rを
Solarisでマウントすると、ファイル名が8Byte、拡張子が3Byteに省略されてし
まっていた。WindowsでマウントしてFTPで転送すれば問題はないが、もしも
Solarisしかない状況になってしまった場合、ファイルのリネームが
非常に困難になることが予想される。
やはりSolarisのデータはSolarisで焼くのが一番ということに落ち着き、有名
なフリーのCD Writing Softのcdtools-1.10をインストールすることにした。

	※以下は実際に稼動しているServer上での作業記録ではなく、
	 サブマシンにSystemCommander7を使用して実験・検証用
	 としてセットアップされたSolaris8でインストールし、
	 焼込みまでを行ったものである。


マシン環境:

	本体:		Dell Optiples GXa
	SCSIカード:	Adaptec AHA-2940
	CD-Rドライブ:	PHILIPS CDD2600 (SCSI ID:1)


必要なソフトウェア:

	・SCHILYscg.i386.tar.Z
	・scg-i386-sol2.6.beta-debug
	 ftp://ftp.fokus.gmd.de/pub/unix/kernel/scg/
	 国内ミラー(?)は
	 ftp://ftp.u-aizu.ac.jp/pub/misc/device/scsi/scg/

	・cdrtools-1.10.tar.gz
	 ftp://ftp.berlios.de/pub/cdrecord/



SCHILYscg(SCSIドライバ)のインストール

作業ディレクトリを作成する。
	$ mkdir /opt/src/schilyscg.i386

作成した作業ディレクトリに移動する。
	$ cd /opt/src/schilyscg.i386

アーカイブと、i386用ドライバをミラー(?)からダウンロードする。
	$ wget ftp://ftp.u-aizu.ac.jp/pub/misc/device/scsi/scg/SCHILYscg.i386.tar.Z
	$ wget ftp://ftp.u-aizu.ac.jp/pub/misc/device/scsi/scg/scg-i386-sol2.6.beta-debug

解凍展開する。
	$ tar xozf SCHILYscg.i386.tar.Z

SuperUserになる。
	$ su
	password:

解凍されたパッケージを追加する。
	# pkgadd -d .

	=======================================
	次のパッケージを利用できます:
	  1  SCHILYscg         SCSI General Driver
	                       (i386) 3.1

	パッケージ (複数可) を選択してください (すべてのパッケージを
	処理するには 'all' を入力してください)。 (default: all) [?,??,q]: 1

	 中のパッケージインスタンス  を処理中です。

	SCSI General Driver
	(i386) 3.1
	        Copyright 1995 Joerg Schilling, all rights reserved.

	        The author is not deemed to have made any representations as to
	        the suitability of this software for any purpose nor is held
	        responsible for any defects of this software.
	        THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.

	Where should the driver objects be installed [/kernel/drv] [?,q] Enter

	It will be necessary to do a reconfiguration reboot after driver
	installation. Execute 'reboot -- -r' to reboot after installation.

	## パッケージ情報を処理中です。
	## システム情報を処理中です。
	## ディスク領域の要件を確認中です。
	## すでにインストール済みのパッケージとの重複を確認中です。
	## setuid/setgid を行うプログラムを検査中です。

	このパッケージには、パッケージのインストール処理中にスーパーユーザーの
	アクセス権で実行するスクリプトが含まれています。

	 のインストールを継続しますか [y,n,?] y

	SCSI General Driver を  としてインストール中です。

	## 1/1 部分をインストールしています。
	[ クラス  を検査しています ]
	/kernel/drv/scg
	/kernel/drv/scg.conf
	/usr/include/sys/scsi/targets/scgio.h
	[ クラス  を検査しています ]
	## postinstall スクリプトを実行中です。
	devfsadm: driver failed to attach: scg
	Warning: Driver (scg) successfully added to system but failed to attach

	 のインストールに成功しました。

	次のパッケージを利用できます:
	  1  SCHILYscg         SCSI General Driver
	                       (i386) 3.1

	パッケージ (複数可) を選択してください (すべてのパッケージを
	処理するには 'all' を入力してください)。 (default: all) [?,??,q]: q
	#
	=======================================

インストールされたドライバをダウンロードしたi386用のドライバと入れ替える。
	# cp scg-i386-sol2.6.beta-debug /kernel/drv/scg

HDを定着させる。
	# sync
	# sync

稼動中のシステムからロード可能モジュールを一旦アンロードする。
	# modunload -i 0

デバイスを再最適化させる。
	# drvconfig

デバイスリンクを再構築させる。
	# devlinks

ロードされているカーネルモジュールについての情報にscgが正常に
追加されているかを確認する。
	# modinfo | grep scg
	187 fea257ca   2a99  73   1  scg (SCSI General Driver)

/dev/内にSCSIカードが追加されているかを確認する。
(IDEのCD-ROMドライブが接続されたSecondaryのIDEバスもSCSIとしても認識される。これは、IDEの
CD-Rドライブが接続されていてもcdrecordで使用できるようにするためのものらしい(?))

	# ls -l /dev/scg*
	lrwxrwxrwx  1  root  other  45  3月  3日  10:14 /dev/scg0 -> ../devices/pci@0,0/pci-ide@7,1/ide@1/scg@0,0:
	lrwxrwxrwx  1  root  other  42  3月  3日  10:14 /dev/scg1 -> ../devices/pci@0,0/pci9004,7178@f/scg@0,0:



cdrecord-1.10のインストール

下準備としてSuperUserになり、makeをgmakeとしてコピーしておく。
	$ su
	password:
	# cp /usr/local/bin/make /usr/local/bin/gmake
	# exit

作業ディレクトリを作成する。
	$ mkdir /opt/src/cdrtools-1.10

作成した作業ディレクトリに移る。
	$ cd /opt/src/cdrtools-1.10/

アーカイブをダウンロードする。
	$ wget ftp://ftp.berlios.de/pub/cdrecord/cdrtools-1.10.tar.gz

ダウンロードしたアーカイブを解凍展開する。
	$ tar xozf cdrtools-1.10.tar.gz

展開されたディレクトリに移る。
	$ cd cdrtools-1.10

Solaris用のIncludeファイルをviで開く。
	$ vi DEFAULTS/Defaults.sunos5

以下のように11・12・30行目を書き換えて保存する。
	#DEFCCOM=       cc
	DEFCCOM=        gcc
	INS_BASE=       /usr/local

コンパイルする。
(ライブラリファイルが見つからないなどのエラーが出たが、何とかできたようだ)
	$ ./Gmake

SuperUserになる。
	$ su
	password:

インストールする。
(ライブラリファイルが見つからないなどのエラーが出たが、何とかできたようだ)
	# ./Gmake install

インストールされたバイナリの属性を変更しておく。
	# chown root /usr/local/bin/cdrecord
	# chmod 755 /usr/local/bin/cdrecord

接続されているCDドライブをスキャンして、コントローラー番号とID番号を確認する。
	# cdrecord -scanbus

	Cdrecord 1.10 (i386-pc-solaris2.8) Copyright (C) 1995-2001 J・g Schilling
	Using libscg version 'schily-0.5'
	scsibus0:
	cdrecord: Warning: controller returns wrong size for CD capabilities page.
        0,0,0     0) 'NEC     ' 'CD-ROM DRIVE:28B' '3.05' Removable CD-ROM
	.....途中省略.....
        1,1,0   101) 'PHILIPS ' 'CDD2600         ' '1.11' Removable CD-ROM
	.....以下省略.....

   PHILIPS CDD2600が認識されている行の左側の"1,1,0"を覚えておく。
   これはSCSI bus:1,ID:1,LUN:0を示している。

一般ユーザーに戻る。
	# exit


CDイメージの作成

今回は、/export/home/you/内に"backup"というディレクトリがあり、その中に焼きこみ
たいファイルが全てコピーされた状態で、これをCD-Rに焼いた場合の記録である。

	※"backup"ディレクトリ内のファイル全てのパーミッションは、一般ユーザー
	 (自分)が"読み込み可"である必要がある。もしも一つでも"読み込み不可"
	 のファイルがある場合は、root権限で以下を実行する。

homeディレクトリに戻る。
	$ cd ~/

"backup"のCDイメージを"cd.img"として作成する。
(-Rと-Jをつけて、RockRidgeとJolietの拡張をさせる)
	$ mkisofs -R -J -o cd.img backup


CD-Rの焼き込み

CD-Rドライブにブランクメディアを挿入する。

SuperUserになる。
	$ su
	password:

書き込みを実行する。
 ※"-dao" オプションをつけたら、
 SAO writing not available or not implemented for this drive
 というエラーが出てうまくいかなかったので以下のようにした。

	# cdrecord -v dev=1,1,0 speed=2 -eject cd.img

	Cdrecord 1.10 (i386-pc-solaris2.8) Copyright (C) 1995-2001 J・g Schilling
	TOC Type: 1 = CD-ROM
	scsidev: '1,1,0'
	scsibus: 1 target: 1 lun: 0
	Using libscg version 'schily-0.5'
	atapi: 0
	Device type    : Removable CD-ROM
	Version        : 2
	Response Format: 2
	Capabilities   :
	Vendor_info    : 'PHILIPS '
	Identifikation : 'CDD2600         '
	Revision       : '1.11'
	Device seems to be: Philips CDD-2600.
	Using driver for Philips CDD-522 (philips_cdd522).
	Driver flags   :
	FIFO size      : 4194304 = 4096 KB
	Track 01: data  537 MB         padsize:  30 KB
	Total size:     617 MB (61:12.54) = 275441 sectors
	Lout start:     618 MB (61:14/41) = 275441 sectors
	Current Secsize: 2048
	ATIP info from disk:
	  Is not unrestricted
	  Disk application code: 0
	  ATIP start of lead in:  -11849 (97:24/01)
	  ATIP start of lead out: 359849 (79:59/74)
	Disk type:    Long strategy type (Cyanine, AZO or similar)
	Manuf. index: 25
	Manufacturer: Taiyo Yuden Company Limited
	cdrecord: Warning: controller returns zero sized Speed/Dummy information page.
	cdrecord: Warning: controller returns wrong size for Speed/Dummy information page.
	cdrecord: Warning: controller returns wrong page 0 for Speed/Dummy information page (23).
	Blocks total: 359849 Blocks current: 359849 Blocks remaining: 84408
	Starting to write CD/DVD at speed 2 in write mode for single session.
	Last chance to quit, starting real write in 0 seconds. Operation starts.
	Waiting for reader process to fill input buffer ... input buffer ready.
	Starting new track at sector: 0
	Track 01:  68 of 537 MB written (fifo 100%).
	Track 01: Total bytes read/written: 564068352/564099072 (275439 sectors).
	Writing  time: 1843.973s
	Fixating...
	cdrecord: fifo had 9837 puts and 9837 gets.
	cdrecord: fifo was 0 times empty and 9760 times full, min fill was 100%.