私の目標は、カスタマイズされたFedora 20 netinstisoイメージを作成することです。カスタムキックスタートファイルをイメージに追加するために、ScientificLinuxでこれを何度も実行しました。しかし、Fedoraの継ぎ目は、efiをサポートするために異なる動作をします。公式isoファイルの変更されたコンテンツから起動可能なFedoraイメージを作成するために必要なコマンドはどれですか?
Fedoraのドキュメントをご覧になりましたか: テスト用のFedoraインストールISOを作成する方法
このページでは、テストに使用できるFedoraISOイメージを作成する方法を示します。例はFedoraRawhideリポジトリを参照していますが、同じ手順がFedoraのすべてのリリースに適用されます。このチュートリアルでは、ルートシェルを開く必要があります。ルートシェルにアクセスするには、ターミナルを開いてコマンドsu-を実行し、ルートパスワードを入力します。
セットアップ
Fedora ISOイメージを作成するには、目的のISOイメージのリリースと一致するFedoraリリースを使用する必要があります。たとえば、Fedora Rawhideイメージを作成するには、FedoraRawhideを実行している必要があります。このドキュメントの例では、Package-x-generic-16.pngmockを使用して、ターゲット環境をシミュレートし、ISOイメージを作成します。ターゲットリリースを実行しているシステムがすでに利用可能な場合は、モックを使用する必要はありません。
まず、必要なパッケージをインストールします
yum install mock
モック構成を調整して、コンポジションイメージの生成をサポートするために必要なバインドマウントを許可します。次の行を適切なモック構成に追加します。たとえば、Fedora Rawhideの場合、/ etc/mock /Fedora-rawhide-x86_64.cfgを更新して以下を含めます。
config_opts['plugin_conf']['bind_mount_enable'] = True
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev','/dev/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/pts','/dev/pts/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/shm','/dev/shm/'))
Initialize the mock chroot
mock -r Fedora-rawhide-$(uname -i) --init
Note.png
舞台裏...モックは舞台裏で多くの仕事をしています。 chrootで実行されているコマンドを確認する場合は、-verboseオプションを追加します。
Chrootにパッケージをインストールして、pungiを実行するためのモックchrootを準備します
mock -r Fedora-rawhide-$(uname -i) --install spin-kickstarts pungi ${EDITOR:-vi}
ローカルミラーを作成します(オプション)
このセクションはオプションです。ブロードバンド接続を介して、近くの公式Fedoraミラーを使用できます。ただし、定期的にテストに参加する場合は、Rawhideをローカルでミラーリングすると便利な場合があります。 Package-x-generic-16.pngmirrormanagerパッケージは、状況によっては役立つ場合があることに注意してください。詳細については、MirrorManagerの詳細ページを参照してください。
高速なローカルリンクでRawhideを使用できない場合は、rsyncを使用してローカルでミラーリングすることをお勧めします。 http://mirrors.fedoraproject.org で近くのミラーを見つけてください
mkdir -p /var/www/Fedora/linux/development/x86_64/os
cd /var/www/Fedora/linux/development/x86_64/os
rsync -Pavy --delete-after <MIRROR_NEAR_YOU>::/pub/Fedora/linux/development/rawhide/$(uname -i)/os/ .
モックchrootで、pungiが使用するキックスタート設定ファイルを編集します。
mock -r Fedora-rawhide-$(uname -i) --Shell ${EDITOR:-vi} /usr/share/spin-kickstarts/Fedora-install-Fedora.ks
既存のリポジトリ--name = Fedora行を削除(またはコメントアウト)し、ローカルミラーの新しいエントリを追加します。上記の例を使用すると、次のようになります...
repo --name=Fedora --baseurl=file:///var/www/Fedora/linux/development/$basearch/os
終了したら、変更を保存し、Ctrl-Dを押すかlogoutと入力してchrootを終了します
boot.isoをビルドします
このセクションでは、Package-x-generic-16.pngmockパッケージをインストールし、#Setupで提案されているようにモックchrootを準備したことを前提としています。これらの手順をまだ完了していない場合は、今すぐ実行してください。このセクションでは、PXEbootおよびboot.isoイメージのみを作成する手順について説明します。インストール可能な-DVD.isoイメージを作成するには、#Build_a_DVD_ISOを参照してください。
モックchroot内のシェルをアクティブ化する
mock -r Fedora-rawhide-$(uname -i) --Shell
次に、DVDを作成します(これには時間がかかる場合があります)
pungi --nosource --nodebuginfo -G -C -B \
--flavor Fedora --name Fedora --ver rawhide \
-c /usr/share/spin-kickstarts/Fedora-install-Fedora.ks
前のコマンドがエラーなしで完了した場合、chrootでPXEbootイメージとboot.isoを使用できるようになります。モックシェルを終了し、chrootからISOイメージをコピーします。
mock -r Fedora-rawhide-$(uname -i) --copyout /rawhide/Fedora/$(uname -i)/os/images/boot.iso /tmp/
DVDを作成します.iso
このセクションでは、Package-x-generic-16.pngmockパッケージをインストールし、#Setupで提案されているようにモックchrootを準備したことを前提としています。これらの手順をまだ完了していない場合は、今すぐ実行してください。
Activate a Shell inside the mock chroot
mock -r Fedora-rawhide-$(uname -i) --Shell
Next, create a DVD (this may take a while)
pungi --nosource --nodebuginfo \
--flavor Fedora --name Fedora --ver rawhide \
-c /usr/share/spin-kickstarts/Fedora-install-Fedora.ks
すでに#Build_a_boot.isoの手順を実行している場合は、-DVD.isoイメージのみをビルドするようにpungiに指示することで時間を節約できます。上記のpungiコマンドを実行するときは、-Iパラメーターを追加して、ISOファイルのみをビルドし、以前に実行された手順をスキップします。
前のコマンドがエラーなしで完了した場合、chrootにDVDISOイメージがあります。続行する前に、sha256sumコマンドを使用してISOイメージを検証します
cd /rawhide/Fedora/$(uname -i)/iso
sha256sum -c Fedora-rawhide-$(uname -i)-CHECKSUM
モックシェルを終了し、chrootからISOイメージをコピーして楽しんでください...
mock -r Fedora-rawhide-$(uname -i) --copyout /rawhide/Fedora/$(uname -i)/iso/Fedora-rawhide-$(uname -i)-DVD.iso /tmp/