web-dev-qa-db-ja.com

変更されたFedoraISOを作成する方法

私の目標は、カスタマイズされたFedora 20 netinstisoイメージを作成することです。カスタムキックスタートファイルをイメージに追加するために、ScientificLinuxでこれを何度も実行しました。しかし、Fedoraの継ぎ目は、efiをサポートするために異なる動作をします。公式isoファイルの変更されたコンテンツから起動可能なFedoraイメージを作成するために必要なコマンドはどれですか?

2
TheHelix

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/
4
Boogy