Adds a new systemd unit to the image that will be pulled in by default, run a given command, forward the output to a virtio serial port and shutdown the machine. We add a sample that uses this to verify that systemd conciders the machine successfully booted. A simple way to run this test from the commandline is to use `$ socat UNIX-LISTEN:qemu.sock -` to listen for either `running` for success or `degraded` or `maintenance` for failure. The image should then be booted using something like `$ qemu-kvm -m 1024 -nographic -monitor none -serial none -chardev socket,path=qemu.sock,id=char0 -device virtio-serial -device virtserialport,chardev=char0,id=test0 -snapshot base.qcow2` Signed-off-by: Tom Gundersen <teg@jklm.no>
80 lines
1.8 KiB
JSON
80 lines
1.8 KiB
JSON
{
|
|
"name": "base-qcow2",
|
|
"stages": [
|
|
{
|
|
"name": "org.osbuild.dnf",
|
|
"options": {
|
|
"releasever": "30",
|
|
"install_weak_deps": true,
|
|
"repos": {
|
|
"fedora": {
|
|
"name": "Fedora",
|
|
"metalink": "https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch",
|
|
"gpgkey": "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch"
|
|
}
|
|
},
|
|
"packages": [
|
|
"@Core",
|
|
"chrony",
|
|
"kernel",
|
|
"selinux-policy-targeted",
|
|
"grub2-pc",
|
|
"spice-vdagent",
|
|
"qemu-guest-agent",
|
|
"xen-libs",
|
|
"langpacks-en"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.locale",
|
|
"options": {
|
|
"language": "en_US"
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.fstab",
|
|
"options": {
|
|
"filesystems": [
|
|
{
|
|
"uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac",
|
|
"vfs_type": "ext4",
|
|
"path": "/",
|
|
"freq": "1",
|
|
"passno": "1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.grub2",
|
|
"options": {
|
|
"root_fs_uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac",
|
|
"kernel_opts": "ro biosdevname=0 net.ifnames=0"
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.test",
|
|
"options": {
|
|
"script": "/usr/bin/systemctl is-system-running --wait"
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.selinux",
|
|
"options": {
|
|
"file_contexts": "etc/selinux/targeted/contexts/files/file_contexts"
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.fix-bls"
|
|
}
|
|
],
|
|
"assembler":
|
|
{
|
|
"name": "org.osbuild.qcow2",
|
|
"options": {
|
|
"filename": "base.qcow2",
|
|
"root_fs_uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac"
|
|
}
|
|
}
|
|
}
|