Fedora CoreOSのインストール練習 3 〜CDからのスタンドアロンインストール〜
前回の続き。
今回は、ISOイメージをカスタマイズして、スタンドアロンインストールを試してみる。
まずは、docker上でcoreos-installerを使ってisoイメージをダウンロードする。
$ docker run --rm -v $PWD:/data -w /data quay.io/coreos/coreos-installer:release download -s stable -p metal -f iso
次に、Live CDを構成するためのButane config liveiso.bu
を準備する。
インストール先用のIgnition configをLive CDシステム上に配置し、
coreos-installerのドキュメントを参考に、coreos-installerを自動実行するsystemdサービスを定義する。
variant: fcos version: 1.3.0 storage: files: - path: /var/tmp/simple.ign contents: local: simple.ign systemd: units: - name: install.service enabled: true contents: | [Unit] Description=Run CoreOS Installer Requires=coreos-installer-pre.target After=coreos-installer-pre.target OnFailure=emergency.target OnFailureJobMode=replace-irreversibly [Service] Type=oneshot ExecStart=/usr/bin/coreos-installer install --ignition-file /var/tmp/simple.ign /dev/vda ExecStart=/usr/bin/systemctl --no-block reboot StandardOutput=kmsg+console StandardError=kmsg+console [Install] RequiredBy=default.target
そして、Ignition config liveiso.ign
に変換する。
$ docker run -i -v $PWD:/data --rm quay.io/coreos/butane:release --files-dir /data < liveiso.bu > liveiso.ign
準備したliveiso.ign
をLive CDのISOイメージに追加する。
ここでは、ダウンロードしたisoファイルをコピーして書き込んでいる。
$ cp fedora-coreos-34.20210518.3.0-live.x86_64.iso fedora-coreos-34.20210518.3.0-live-mod.x86_64.iso $ docker run -i --rm -v $PWD:/data -w /data quay.io/coreos/coreos-installer:release iso ignition embed fedora-coreos-34.20210518.3.0-live-mod.x86_64.iso < liveiso.ign
今回はKVMにインストールするので、コンソールがシリアルに表示されるように、Live CDのkernel引数も変更しておく。
$ docker run --rm -v $PWD:/data -w /data quay.io/coreos/coreos-installer:release iso kargs modify fedora-coreos-34.20210518.3.0-live-mod.x86_64.iso --append "console=ttyS0,115200n8"
出来上がったISOイメージを使ってKVMにインストールする。
$ virt-install --name coreos --vcpus 1 --memory 2048 --os-variant fedora31 --cdrom fedora-coreos-34.20210518.3.0-live-mod.x86_64.iso --disk path=coreos.img,size=10 --network network=default --graphics none --console pty,target_type=serial
無事インストールが完了。
Ignitionファイルを格納したISOイメージを作って、スタンドアロンでインストールできた!