- Assume you are using a RHEL 9.2 system with osbuild + nginx installed
- Create an empty blueprint selecting "rhel-92" as the distro:
name = "minimal-rhel92"
description = "minimal blueprint for ostree commit"
version = "1.0.0"| #!/bin/bash | |
| set -xeou pipefail | |
| # setup centos repos | |
| # these are based on the repos found in a centos-stream container | |
| # but the $stream variable has been replaced with $releasever | |
| centos_repo_path=/etc/yum.repos.d/centos.repo | |
| if [ ! -f "${centos_repo_path}" ]; then |
| ## Initial ostree commit | |
| $ composer-cli blueprints show minimal92 | |
| name = "minimal92" | |
| description = "minimal rhel for edge blueprint" | |
| version = "1.0.1" | |
| packages = [] | |
| modules = [] | |
| groups = [] | |
| distro = "rhel-92" |
| # virt-install command | |
| virt-install --name rhcos4 --os-variant rhel8.1 --ram 2048 --vcpus 2 --disk size=20 --network network=default,mac=52:54:00:f6:f3:41 --network network=default,mac=52:54:00:de:44:7c --accelerate --cdrom rhcos-43.81.202001072253.0-installer.x86_64.iso | |
| # install options | |
| coreos.inst.install_dev=vda coreos.inst.image_url=http://192.168.124.1:9001/rhcos-43.81.202001101655.0-metal.x86_64.raw.gz coreos.inst.ignition_url=http://192.168.124.1:9001/ignition.json coreos.inst.platform_id=qemu ip=192.168.124.100::192.168.124.1:255.255.255.0:rhcos:bond0:none bond=bond0:enp1s0,enp2s0:mode=active-backup,miimon=100rd.peerdns=0 nameserver=10.5.30.160 nameserver=10.0.128.69 | |
| # vadim's build | |
| coreos.inst.install_dev=vda coreos.inst.image_url=http://192.168.124.1:9001/rhcos-43vrutkovs.80.20191015.2-metal.x86_64.raw.gz coreos.inst.ignition_url=http://192.168.124.1:9001/ignition.json coreos.inst.platform_id=qemu ip=192.168.124.100::192.168.124.1:255.255.255.0:rhcos:bond0:none bond=bond0:enp1s0,enp2s0:mode=activ |
| ``` | |
| $ sudo curl -LO https://download.fedoraproject.org/pub/fedora/linux/releases/31/Cloud/x86_64/images/Fedora-Cloud-Base-31-1.9.x86_64.raw.xz | |
| $ sudo unxz Fedora-Cloud-Base-31-1.9.x86_64.raw.xz | |
| $ sudo qemu-img convert -O qcow2 Fedora-Cloud-Base-31-1.9.x86_64.raw Fedora-Cloud-Base-31-1.9.x86_64.qcow2 | |
| $ sudo qemu-img create -f qcow2 -o backing_file=Fedora-Cloud-Base-31-1.9.x86_64.qcow2 Fedora-Cloud-Base-31-1.9.x86_64.vm0423a.qcow2 | |
| $ sudo virt-install --import --name f31 --ram 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/Fedora-Cloud-Base-31-1.9.x86_64.vm0423a.qcow2,format=qcow2,bus=virtio --disk path=/var/lib/libvirt/images/cloud-init.iso,device=cdrom,readonly=on --network bridge=virbr0 --os-type linux --os-variant fedora31 --noautoconsole |
This shows how to replace the machine-os-content and machine-config-operator
I built the machine-os-content in a devel pipeline and uploaded it to my personal Quay repo.
Likewise, I built machine-config-operator with hack/build-image on my host (uses podman, so can't easily run from a container)
The personal Quay repos need to be publicly available so CI can get to them.
| { | |
| "sources": { | |
| "42.80.20191002.0": "https://releases-rhcos-art.cloud.privileged.psi.redhat.com/storage/releases/rhcos-4.2/42.80.20191002.0/commitmeta.json", | |
| "42.81.20191223.0": "https://releases-rhcos-art.cloud.privileged.psi.redhat.com/storage/releases/rhcos-4.2/42.81.20191223.0/commitmeta.json" | |
| }, | |
| "diff": { | |
| "NetworkManager": { | |
| "42.80.20191002.0": "NetworkManager-1.14.0-14.el8.x86_64", | |
| "42.81.20191223.0": "NetworkManager-1.20.0-5.el8_1.x86_64" | |
| }, |
I hereby claim:
To claim this, I am signing this object:
| # cd $(mktemp -d) | |
| # ostree --repo=repo init --mode=archive | |
| # ostree --repo=repo remote add --set gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-27-primary pirate https://f27-atomic-content.ams3.digitaloceanspaces.com/backup/repo/ | |
| # ostree --repo=repo pull pirate:fedora/27/x86_64/workstation |