~/bin/fcos/coreos.ignition:
{
"ignition": {
"version": "3.0.0"
},
"passwd": {
"users": [
{
"name": "adi",
"passwordHash": "blaaaaa",
"sshAuthorizedKeys": [
"ssh-rsa bla"
],
"groups": [ "wheel" ]
}
]
}
}
create script /bin/fcos/setup_fcos.sh
:
#!/bin/bash
set -eu
function install {
machine_name=$1
fcos_version=31.20200223.3.0
wget -nc https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/${fcos_version}/x86_64/fedora-coreos-${fcos_version}-live-kernel-x86_64
wget -nc https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/${fcos_version}/x86_64/fedora-coreos-${fcos_version}-live-initramfs.x86_64.img
wget -nc https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/${fcos_version}/x86_64/fedora-coreos-${fcos_version}-metal.x86_64.raw.xz
wget -nc https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/${fcos_version}/x86_64/fedora-coreos-${fcos_version}-metal.x86_64.raw.xz.sig
kernel=http://localhost:8000/fedora-coreos-${fcos_version}-live-kernel-x86_64
initrd=http://localhost:8000/fedora-coreos-${fcos_version}-live-initramfs.x86_64.img
public_srv=http://$(hostname -I|awk '{print $1}'):8000
kernel_args="ip=dhcp rd.neednet=1 console=tty0 coreos.liveiso=/ console=ttyS0 coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=${public_srv}/coreos.ign coreos.inst.image_url=${public_srv}/fedora-coreos-${fcos_version}-metal.x86_64.raw.xz"
sudo virt-install --name ${machine_name} --ram 4048 --graphics=none --vcpus 2 --disk size=20 \
--network bridge=virbr0 \
--install kernel=${kernel},initrd=${initrd},kernel_args_overwrite=yes,kernel_args="${kernel_args}"
}
function destroy {
machine_name=$1
sudo virsh destroy --domain ${machine_name} && \
sudo virsh undefine --domain ${machine_name} && \
sudo rm -f /data/fastdisk/kvm/${machine_name}.qcow2
}
if [ -z "$*" ]; then echo "No args, please add machine name"; fi
case "$1" in
install) install $2 ;;
destroy) destroy $2 ;;
*) echo 'you gave something else' ;;
esac
check firewall:
firewall-cmd --state
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --zone=libvirt --add-port=8000/tcp
start a simple http server via
python3 -m http.server 8000
fcos_setup.sh install fcos
virtssh console fcos
fcos_setup.sh destroy fcos
was not able to connect
needed --network default (with nat)
and virto interface