js2ai コマンドで –r オプションを使用すると、JumpStart ルールおよび関連付けられたプロファイルが AI 条件およびマニフェストに変換されます。最初は –S オプションを使用して検証をスキップします。このコマンドは、rules ファイルおよび rules ファイルによって参照されるプロファイルで変換操作を実行します。
rules ファイルで参照される各プロファイルは、AI クライアントプロビジョニングマニフェスト (/usr/share/auto_install/manifest/default.xml ) に対して処理されます。この段階では、JumpStart rules ファイルで指定されたプロファイルごとに、AI_profile-name という名前のディレクトリが作成されます。AI_profile_name ディレクトリには、このプロファイルを参照するルールに対応する AI 条件ファイルが criteria-rule-number.xml の形式で格納されます。また、AI_profile-name ディレクトリには、profile-name ファイルに対応する AI マニフェストファイルが profile-name.arch.xml の形式で格納されます。
変換が正しく完了したことを示すメッセージを受け取ったら、–S オプションを付けずに js2ai コマンドを実行して、出力された AI マニフェストを検証します。検証エラーは AI マニフェストファイル内で修正する必要があります。
変換が正常に完了したというメッセージが表示されない場合、エラーレポートおよび js2ai.log ファイルを調べます。エラーレポートおよびログファイルは、警告、処理エラー、サポートされない項目、変換エラー、および検証エラーを提供します。エラーレポートは stdout への表出力で、rules ファイルおよびプロファイルの変換中に発生したタイプごとのエラーの番号を示します。ログファイルには問題が記述されます。
処理エラーを修正します。
rules ファイルおよびプロファイルから、サポート外項目として一覧表示されたすべての行を削除します。
変換エラーを検査して、可能な場合はエラーを修正します。それ以外の場合は、エラーの原因となっている行を削除します。
警告メッセージを検査して、修正が必要ないことを確認します。
js2ai コマンドの次のオプションを確認してください。
ルールファイルまたはプロファイルの変換に関する詳細な情報を表示するには、–v オプションを使用します。詳細は、追加のプロファイル変換情報の表示を参照してください。
個々の出力 AI マニフェストを適切な AI DTD に対して検証するには、–V オプションを使用します。詳細は、出力 AI マニフェストの検証を参照してください。
1 つの JumpStart プロファイルのみを変換するには、–p オプションを使用します。AI マニフェストファイルの修正の例を参照してください。
このセクションでは、js2ai が JumpStart プロファイル指定から AI マニフェスト用のターゲット要素を決定する方法について説明します。
プロファイルの変換プロセス中、js2ai はプロファイルが参照するクライアントシステムにアクセスしないため、js2ai はできるかぎり JumpStart と一致するプロセスを使用して、変換中にルートディスクを決定しようとします。
js2ai コマンドは次の段階を実行して、ルートディスクに使用するデバイスを決定します。
プロファイルで root_device キーワードが指定されている場合、js2ai は rootdisk をスライスが存在するデバイスに設定します。
rootdisk が設定されておらず、プロファイルで boot_device キーワードが指定されている場合、js2ai は rootdisk をブートデバイスに設定します。
rootdisk が設定されておらず、partitioning default が指定され、solaris fdisk エントリが指定されている場合、js2ai は rootdisk を指定されたディスク名に設定します。
rootdisk が設定されておらず、プロファイルで filesys cwtxdysz size / エントリが指定されている場合、js2ai は rootdisk をそのエントリで指定された cwtxdysz ディスクに設定します。
rootdisk が設定されておらず、プロファイルで usedisk disk-name エントリが指定されている場合、js2ai は rootdisk をそのエントリで指定された disk-name ディスクに設定します。
rootdisk が設定されておらず、プロファイルで次の指定が見つかった場合 (size は 0 または delete でなく、disk は all でない)、rootdisk はこのディスク名に設定されます。
fdisk disk-name solaris size
rootdisk が設定されていない場合、デバイスが rootdisk として指定されたオカレンスで変換エラーが生成されます。
js2ai コマンドは次の段階を実行して、any キーワードが指定されているときに使用するデバイスを決定します。
デバイスに any キーワードが指定されていて、キーワードアクション (ミラー化されていないプール、または / マウントポイントを使用した filesys) が指定されている場合、そのデバイスは rootdisk に設定されます (rootdisk が設定されている場合)。
デバイスが変換されておらず、usedisk 文がプロファイル内に存在する場合、any キーワードが指定されたデバイスは、usedisk 文で指定されたデバイスに設定されます。
デバイスが変換されておらず、any キーワードが指定されたアクションによって ZFS ルートプールが作成される場合、AI はそのデバイスを選択します (ただし、ミラープールが指定されている場合を除きます)。
js2ai コマンドは次のステップを実行して、ZFS ルートプールで使用するデバイスを決定します。ZFS ルートプールが決定されると、その後に検出される定義がすでに決定されている ZFS ルートプールと競合する場合、エラーとしてフラグが設定されます。
プロファイルで pool キーワードが指定されている場合、js2ai は ZFS ルートプールを pool キーワードで指定されたデバイスに設定します。
ZFS ルートプールが決定されておらず、プロファイルでマウントポイント / を使用してファイルシステムが指定された場合、ZFS ルートプールは指定されたデバイスを使用して作成されます。
ZFS ルートプールが決定されておらず、プロファイル内のすべてのキーワードが処理され、rootdisk が設定されている場合、ZFS ルートプールは rootdisk デバイスを使用して作成されます。
ZFS ルートプールが決定されておらず、パーティションタイプが default の場合、AI は ZFS ルートプールで使用するデバイスを選択します。
ZFS ルートプールが決定されておらず、処理中にエラーが発生しなかった場合、AI は ZFS ルートプールで使用するデバイスを選択します。
ZFS ルートプールがミラー化されたプールではなく、指定された 1 つ以上の usedisk デバイスが rootdisk デバイスまたは any デバイスの変換で使用されていない場合、これらのディスクが ZFS ルートプールに追加されます。
JumpStart プロファイルでは cluster および package キーワードを使用してソフトウェアをシステムにインストールします。cluster キーワードは AI ではサポートされません。IPS では、incorporation パッケージまたはグループパッケージをインストールするための構文は、その他のパッケージをインストールするための構文と同じなので、JumpStart プロファイルの cluster を package に変更するだけで、js2ai コマンドは、AI マニフェスト内に正しいパッケージインストール指定を作成します。
IPS パッケージ名は SVR4 パッケージ名と異なります。たとえば、SVR4 パッケージ SUNWpampkcs11 の名前は IPS 内で library/security/pam/module/pam-pkcs11 に変更されます。
SVR4 パッケージ名が IPS 内に存在する場合は、SVR4 名を使用して IPS パッケージをインストールできます。たとえば、AI マニフェストで SUNWpampkcs11 パッケージのインストールが指定された場合、library/security/pam/module/pam-pkcs11 パッケージが自動的にインストールされます。この場合、パッケージの名前が変更されます。
SVR4 パッケージ名が IPS 内に存在しない場合は、パッケージ名を変更するか、その指定を AI マニフェストから削除する必要があります。たとえば、SUNWCall および SUNWCuser パッケージは IPS 内で名前変更されません。AI マニフェストでこれらのパッケージが指定された場合、インストールは失敗します。
AI マニフェスト内で特定のパッケージ名が使用できるかどうかを判断するには、Oracle Solaris 11 システムで pkg list コマンドを使用します。AI マニフェスト内で指定された IPS パッケージリポジトリ起点からのパッケージを一覧表示するための –g オプションを必ず使用してください。
js2ai コマンドは、JumpStart プロファイルからの指定を含む新規 AI マニフェストを構築するための基礎として、/usr/share/auto_install/manifest/default.xml AI マニフェストを使用します。このデフォルト AI マニフェストは、基本オペレーティングシステムをインストールする 2 つのパッケージ (entire および solaris-large-server) のインストールを指定します。これら 2 つのパッケージのほかは、おそらく追加のツールおよびアプリケーションのインストールを指定するだけで済みます。
使用例 1 パッケージ名が使用できるかどうかの確認この例では、AI マニフェストは http://pkg.oracle.com/solaris/release リポジトリ起点を指定します。
$ pkg list -af -g http://pkg.oracle.com/solaris/release SUNWCall SUNWCuser pkg list: no packages matching 'SUNWCuser, SUNWCall' known
このメッセージは、これら 2 つのパッケージがこの AI マニフェスト内で使用できないことを示しています。
使用例 2 名前が変更されたパッケージの操作pkg list コマンドを使用して、名前が変更されたパッケージを特定できます。
$ pkg list -af -g http://pkg.oracle.com/solaris/release SUNWpampkcs11 NAME (PUBLISHER) VERSION IFO SUNWpampkcs11 0.6.0-0.133 --r
最後の列の「r」は、このパッケージの名前が変更されていることを示します。この名前を AI マニフェスト内で使用できますが、pkg info コマンドを使用してパッケージの新しい名前を決定した方がよい場合もあります。
次の出力の「Renamed to」行を参照してください。SUNWpampkcs11 パッケージの名前は library/security/pam/module/pam-pkcs11 に変更されています。今後の Oracle Solaris 更新との互換性を高めるために、AI マニフェスト内で library/security/pam/module/pam-pkcs11 を指定した方がよい場合もあります。
$ pkg info -r SUNWpampkcs11 Name: SUNWpampkcs11 Summary: State: Not installed (Renamed) Renamed to: library/security/pam/module/pam-pkcs11@0.6.0-0.133 consolidation/sfw/sfw-incorporation Publisher: solaris Version: 0.6.0 Build Release: 5.11 Branch: 0.133 Packaging Date: Wed Oct 27 18:50:11 2010 Size: 0.00 B FMRI: pkg://solaris/SUNWpampkcs11@0.6.0,5.11-0.133:20101027T185011Z $ pkg info -r pam-pkcs11 Name: library/security/pam/module/pam-pkcs11 Summary: The OpenSC PKCS#11 PAM Login Tools Category: System/Security State: Not installed Publisher: solaris Version: 0.6.0 Build Release: 5.11 Branch: 0.175.2.0.0.27.0 Packaging Date: Mon Nov 11 17:47:35 2013 Size: 1.74 MB FMRI: pkg://solaris/library/security/pam/module/pam-pkcs11@0...使用例 3 廃止されたパッケージの操作
この例は、AI マニフェスト内で SUNWmysql を database/mysql-51 に置換する方法を示します。
$ pkg list -af -g http://pkg.oracle.com/solaris/release SUNWmysql NAME (PUBLISHER) VERSION IFO SUNWmysql 4.0.24-0.142 --o
最後の列の「o」は、このパッケージが廃止されていることを示します。このパッケージ名は AI マニフェスト内で使用できません。pkg list コマンドにワイルドカードを指定して使用するか、pkg search コマンドを使用して、使用可能な別の名前でパッケージが使用できるかどうかを判断します。
$ pkg list -af SUNWmysql* NAME (PUBLISHER) VERSION IFO SUNWmysql 4.0.24-0.142 --o SUNWmysql-base 0.5.11-0.133 --r SUNWmysql-python 0.5.11-0.162 --o SUNWmysql-python26 0.5.11-0.133 --r SUNWmysql5 5.0.86-0.171 --o SUNWmysql5 5.0.86-0.133 --r SUNWmysql51 5.1.37-0.133 --r SUNWmysql51lib 5.1.37-0.133 --r SUNWmysql51test 5.1.37-0.133 --r SUNWmysql5jdbc 5.1.5-0.171 --o SUNWmysql5jdbc 5.1.5-0.133 --r SUNWmysql5test 5.0.86-0.171 --o SUNWmysql5test 5.0.86-0.133 --r SUNWmysqlt 4.0.24-0.142 --o $ pkg info -r SUNWmysql51 Name: SUNWmysql51 Summary: State: Not installed (Renamed) Renamed to: database/mysql-51@5.1.37-0.133 consolidation/sfw/sfw-incorporation Publisher: solaris Version: 5.1.37 Build Release: 5.11 Branch: 0.133 Packaging Date: Wed Oct 27 18:49:18 2010 Size: 0.00 B FMRI: pkg://solaris/SUNWmysql51@5.1.37,5.11-0.133:20101027T184918Z
このセクションでは、単一の js2ai コマンドの使用による、JumpStart rules ファイルおよびその rules ファイルによって参照されるすべてのプロファイルの変換を示します。デフォルトでは、変換された各プロファイルは、AI_profile-filename という名前のディレクトリに出力されます。そのプロファイルを選択するルールは、AI 基準ファイルと同じディレクトリに出力されます。
このセクションの例では、次の rules ファイルを使用します。
# The following rule matches only one system: hostname sample_host - fdisk.profile - # The following rule matches only one system: hostaddress 10.6.68.127 - mirrorfilesys.profile - # The following rule matches any system that is on the 924.222.43.0 network: network 924.222.43.0 - rootdisk.profile - # The following rule matches all x86 systems: arch i386 - mirrorpool.profile -
fdisk.profile ファイルの内容は次のとおりです。
install_type initial_install system_type server root_device c1t0d0s0 usedisk c1t0d0 fdisk rootdisk solaris all partitioning explicit filesys rootdisk.s1 5000 swap filesys rootdisk.s0 10000 / cluster SUNWCall
mirrorfilesys.profile ファイルの内容は次のとおりです。
install_type initial_install partitioning default filesys mirror c6t0d0s0 c6t1d0s0 60048 / cluster SUNWCuser
mirrorpool.profile ファイルの内容は次のとおりです。
install_type initial_install partitioning default pool newpool auto auto auto mirror any any cluster SUNWCuser
rootdisk.profile ファイルの内容は次のとおりです。
install_type initial_install partitioning explicit filesys rootdisk.s0 15000 / filesys rootdisk.s1 1000 swap cluster SUNWCall
次のコマンドを使用して rules ファイルを処理します。検証が実行されなかったため、エラーレポートでは検証エラーはハイフン文字として表示されます。検証は –S オプションによって抑制されます。
# js2ai -rS Process Unsupported Conversion Validation Name Warnings Errors Items Errors Errors ------------------- -------- ------- ----------- ---------- ---------- rules 0 0 1 0 - fdisk.profile 0 0 2 0 - mirrorfilesys.profile 0 0 2 0 - mirrorpool.profile 0 0 1 1 - rootdisk.profile 0 0 1 2 - Conversion completed. One or more failures and/or warnings occurred. For errors see js2ai.log # cat js2ai.log rules:line 3:UNSUPPORTED: unsupported keyword: hostname fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified, mount points other than '/' and 'swap' are not supported mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster mirrorpool.profile:line 3:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' with actual device name mirrorpool.profile:line 4:UNSUPPORTED: unsupported keyword: cluster rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'. Replace'rootdisk.' with actual device name rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'. Replace'rootdisk.' with actual device name rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster
出力は、AI_profile-filename という名前のディレクトリに格納されます。JumpStart ルールから作成されたすべての AI 条件ファイルは、rules ファイル内のルールの位置から名前が付けられます。AI マニフェストには profile-filename. arch.xml という名前が付けられ、arch は generic、x86、または sparc です。
# ls AI_* AI_fdisk.profile: fdisk.profile.x86.xml AI_mirrorfilesys.profile: criteria-2.xml mirrorfilesys.profile.generic.xml AI_mirrorpool.profile: criteria-2.xml mirrorpool.profile.generic.xml AI_rootdisk.profile: criteria-3.xml rootdisk.profile.generic.xml
ログファイルでは、JumpStart ルールキーワード hostname が、AI マニフェストを選択するための AI 条件キーワードとしてサポートされないと報告されています。hostname キーワードは、fdisk.profile プロファイルを使用するクライアントを指定します。hostname は AI マニフェストの選択でサポートされるキーワードではないため、新しい AI_fdisk.profile ディレクトリに AI 条件ファイルは含まれません。
この問題は、rules ファイル内で hostname を hostaddress に変更することによって修正できます。
この問題は、hostname システムを識別する MAC アドレスまたは IP アドレスを指定する AI 条件ファイルを作成することによっても修正できます。たとえば、sample_host の MAC アドレスが 0:14:4F:20:53:97 の場合、次の条件ファイルは JumpStart ルール hostname sample_host と同等です。
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="mac"> <value>0:14:4F:20:53:97</value> </ai_criteria> </ai_criteria_manifest>
システムの MAC アドレスを確認するには、dladm(1M) のマニュアルページに説明されている dladm コマンドを使用します。
JumpStart ルール hostaddress 10.6.68.127 について、js2ai コマンドは AI 条件ファイル AI_mirrorfilesys.profile/criteria-2.xml を自動的に作成し、JumpStart の hostaddress キーワードを AI の ipv4 キーワードに置換します。
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="ipv4"> <value> 10.6.68.127 </value> </ai_criteria> </ai_criteria_manifest>
JumpStart ルール network 924.222.43.0 について、js2ai コマンドは AI 条件ファイル AI_rootdisk.profile/criteria-3.xml を自動的に作成し、指定されたネットワークアドレスに基づいて IP アドレスの範囲を指定します。
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="ipv4"> <range> 924.222.43.0 924.222.43.255 </range> </ai_criteria> </ai_criteria_manifest>
JumpStart ルール arch i386 について、js2ai コマンドは AI 条件ファイル AI_mirrorpool.profile/criteria-4.xml を自動的に作成し、JumpStart の arch キーワードを AI の cpu キーワードに置換します。
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="cpu"> <value> i386 </value> </ai_criteria> </ai_criteria_manifest>
js2ai コマンドは通常、エラーが報告される場合であっても、JumpStart プロファイルごとに AI マニフェストを作成します。このセクションでは、出力される AI マニフェストがさらに完全になるようにするために、一部の一般的なエラーに対処する方法について説明します。
使用例 4 fdisk.profile のエラーの修正js2ai コマンドが fdisk.profile JumpStart プロファイルについて次のエラーを表示しました。
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
これら 2 つの行は無視され、出力 AI マニフェストに影響しません。変換でエラーメッセージを出さないようにする場合は、これら 2 つの行を削除できます。その結果、fdisk.profile ファイルの内容は次のようになります。
install_type initial_install root_device c1t0d0s0 usedisk c1t0d0 fdisk rootdisk solaris all partitioning explicit filesys rootdisk.s1 5000 swap filesys rootdisk.s0 10000 /
js2ai コマンドの –p オプションを使用して、このプロファイルのみ処理します。
# js2ai -p fdisk.profile Successfully completed conversion
出力 AI マニフェスト AI_fdisk.profile/fdisk.profile.x86.xml の target スタンザには次の内容があります。
<target> <disk whole_disk="true"> <disk_name name="c1t0d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice name="1" action="create" force="true" is_swap="true"> <size val="5000mb"/> </slice> <slice name="0" action="create" force="true" in_zpool="rpool" in_vdev="rpool_vdev"> <size val="10000mb"/> </slice> </partition> </disk> <logical noswap="false" nodump="true" > <zpool name="rpool" is_root="true"> <vdev name="rpool_vdev" redundancy="none"/> <filesystem name="export" mountpoint="/export"/> <filesystem name="export/home"/> <be name="solaris"/> </zpool> </logical> </target>
software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。
使用例 5 mirrorfilesys.profile のエラーの修正js2ai コマンドが mirrorfilesys.profile JumpStart プロファイルについて次のエラーを表示しました。
mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified, mount points other than '/' and 'swap' are not supported mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
JumpStart プロファイルでは、filesys mirror 指定の file-system パラメータは省略可能です。js2ai 変換では、file_system パラメータは省略できず、/ または swap の 2 つの値のいずれかを持つ必要があります。
mirrorfilesys.profile ファイルを編集して、filesys 指定の末尾に「/」を追加し、cluster 行を削除します。mirrorfilesys.profile ファイルは次のような内容になります。
install_type initial_install partitioning default filesys mirror c6t0d0s0 c6t1d0s0 60048 /
AI_mirrorfilesys.profile/criteria-2.xml ファイルを別の場所に保存します。次に、js2ai コマンドの –p オプションを使用して、このプロファイルのみ処理します。
# js2ai -p mirrorfilesys.profile Successfully completed conversion
AI_mirrorfilesys.profile ディレクトリには、mirrorfilesys.profile.sparc.xml および mirrorfilesys.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、mirrorfilesys.profile.x86.xml には 2 つの partition 指定が含まれていることだけです。mirrorfilesys.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。
<target> <disk> <disk_name name="c6t1d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0"> <size val="60048mb"/> </slice> </partition> </disk> <disk> <disk_name name="c6t0d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0"> <size val="60048mb"/> </slice> </partition> </disk> <logical noswap="false" nodump="false" > <zpool name="newpool" is_root="true"> <vdev name="rpool_vdev" redundancy="mirror"/> <filesystem name="export" mountpoint="/export"/> <filesystem name="export/home"> <be name="solaris"> </zpool> </logical> </target>
software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。
使用例 6 mirrorpool.profile のエラーの修正js2ai コマンドが mirrorpool.profile JumpStart プロファイルについて次のエラーを表示しました。
mirrorpool.profile:line 4:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' with actual device name mirrorpool.profile:line 8:UNSUPPORTED: unsupported keyword: cluster
これらのエラーを修正するには、次の 2 つの方法のいずれかを使用します。これらの修正は、両方ともまったく同じ AI マニフェスト出力を生成します。any キーワードが変換されるしくみも参照してください。
mirrorpool.profile プロファイルを編集し、any エントリを物理デバイス名で置換します。また、cluster 行を削除します。その結果、mirrorpool.profile ファイルの内容は次の例のようになります。
install_type initial_install partitioning default pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
pool 指定の vdev-list 一覧に、物理デバイス名でなく any を指定した場合、any パラメータを含む指定よりも前にデバイス情報を提供しておく必要があります。mirrorpool.profile プロファイルを編集して、プール指定の前に usedisk 指定を追加します。また、cluster 行を削除します。その結果、mirrorpool.profile ファイルの内容は次の例のようになります。
install_type initial_install partitioning default usedisk c6t0d0 c6t1d0 pool newpool auto auto auto mirror any any
AI_mirrorpool.profile/criteria-4.xml ファイルを別の場所に保存します。次に、js2ai コマンドの –p オプションを使用して、このプロファイルのみ処理します。
# js2ai -p mirrorpool.profile Successfully completed conversion
AI_mirrorpool.profile ディレクトリには、mirrorpool.profile.sparc.xml および mirrorpool.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、mirrorpool.profile.x86.xml には 2 つの partition 指定が含まれていることだけです。mirrorpool.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。
<target> <disk> <disk_name name="c6t1d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/> </partition> </disk> <disk> <disk_name name="c6t0d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/> </partition> </disk> <logical noswap="false" nodump="true"> <zpool name="rpool" is_root="true"> <vdev name="rpool_vdev" redundancy="mirror"/> <filesystem name="export" mountpoint="/export"/> <filesystem name="export/home"> <be name="solaris"> </zpool> </logical> </target>
software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。
使用例 7 rootdisk.profile のエラーの修正js2ai コマンドが rootdisk.profile JumpStart プロファイルについて次のエラーを表示しました。
rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'. Replace'rootdisk.' with actual device name rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'. Replace'rootdisk.' with actual device name rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster
これらのエラーを修正するには、次の 2 つの方法のいずれかを使用します。これらの修正は、両方ともまったく同じ AI マニフェスト出力を生成します。
rootdisk.profile プロファイルを編集し、rootdisk. を c0t0d0 で置換します。また、cluster 行を削除します。rootdisk.profile ファイルは次のような内容になります。
install_type initial_install partitioning explicit filesys c0t0d0s0 15000 / filesys c0t0d0s1 1000 swap
rootdisk.profile プロファイルを編集して root_device 指定を追加し、cluster 行を削除します。rootdisk.profile ファイルは次のような内容になります。
install_type initial_install partitioning explicit root_device c0t0d0s0 filesys rootdisk.s0 15000 / filesys rootdisk.s1 1000 swap
AI_rootdisk.profile/criteria-3.xml ファイルを別の場所に保存します。次に、js2ai コマンドの –p オプションを使用して、このプロファイルのみ処理します。
# js2ai -p rootdisk.profile Successfully completed conversion
AI_rootdisk.profile ディレクトリには、rootdisk.profile.sparc.xml および rootdisk.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、rootdisk.profile.x86.xml に partition 指定が含まれていることだけです。rootdisk.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。
<target> <disk> <disk_name name="c0t0d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0"> <size val="15000mb"/> </slice> <slice action="create" force="true" is_swap="true" name="1"> <size val="1000mb"/> </slice> </partition> </disk> <logical noswap="false" nodump="true" noswap="false"> <zpool name="rpool" is_root="true" > <vdev name="rpool_vdev" redundancy="none"/> <filesystem name="export" mountpoint="/export"/> <filesystem name="export/home"> <be name="solaris"> </zpool> </logical> </target>
software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。
ルールまたはプロファイル変換あるいは AI マニフェスト検証に関する追加情報を表示するには、js2ai コマンドに –v オプションを指定します。–v オプションを指定すると、処理手順が表示され、エラーレポートでは rules ファイルまたはプロファイルをレポートから省略する代わりにゼロが表示されます。
# js2ai -v -p rootdisk.profile Processing profile: rootdisk.profile Performing conversion on: rootdisk.profile Generating x86 manifest for: rootdisk.profile Validating rootdisk.profile.x86.xml Generating sparc manifest for: rootdisk.profile Validating rootdisk.profile.sparc.xml Process Unsupported Conversion Validation Name Warnings Errors Items Errors Errors ---------------------- -------- ------- ----------- ---------- ---------- rootdisk.profile 0 0 0 0 0 Successfully completed conversion
js2ai コマンドを実行した結果得られる AI マニフェストを検証するには、–V オプションを使用します。
# js2ai -V ./AI_rootdisk.profile/rootdisk.profile.sparc.xml Successfully completed conversion # js2ai -v -V ./AI_rootdisk.profile/rootdisk.profile.sparc.xml Validating rootdisk.profile.sparc.xml Process Unsupported Conversion Validation Name Warnings Errors Items Errors Errors ---------------------- -------- ------- ----------- ---------- ---------- rootdisk.profile.sparc - - - - 0 Successfully completed conversion