wiki/deploy.md

105 lines
3.3 KiB
Markdown
Raw Normal View History

2021-08-12 10:07:05 +00:00
---
2021-08-12 10:34:46 +00:00
title: Automatic deployment of a Fedora guest
2021-08-12 10:07:05 +00:00
description: Deploy a Fedora automatically with virt-install
published: true
2021-08-12 14:41:12 +00:00
date: 2021-08-12T14:41:09.641Z
2021-08-12 10:07:05 +00:00
tags:
editor: markdown
dateCreated: 2021-08-12T10:06:58.917Z
---
# Virt-install
## Introduction
*virt-install* is a command-line utility to install virtual machines.
### Installation
2021-08-12 10:34:46 +00:00
Install the *virt-install* command-line tool on Fedora :
2021-08-12 10:07:05 +00:00
```
2021-08-12 10:34:46 +00:00
# dnf install virt-install
2021-08-12 10:07:05 +00:00
```
2021-08-12 10:42:29 +00:00
## Manual installation
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
Use the following command to automatically launch the Fedora installation process. It will also automatically create a disk image to install Fedora on. Make sure you have at least 20 GB of free space.
2021-08-12 10:07:05 +00:00
```
2021-08-12 14:41:12 +00:00
$ virt-install --install fedora32
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
Using fedora32 --location https://download.fedoraproject.org/pub/fedora/linux/releases/32/Everything/x86_64/os
Using default --name fedora32
Using fedora32 default --memory 2048
Using fedora32 default --disk size=20
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
Starting install...
Retrieving file vmlinuz... | 10 MB 00:00:00
Retrieving file initrd.img... | 74 MB 00:00:03
Allocating 'fedora32-2.qcow2' | 20 GB 00:00:00
Running graphical console command: virt-viewer --connect qemu:///session --wait fedora32
2021-08-12 10:07:05 +00:00
```
2021-08-12 10:34:46 +00:00
It should automatically launch the guest console. Eventually, you should see the Anaconda installer first page.
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
Other options include : `android-x86-9.0`, `centos8`, `clearlinux`, `debian9`, `macosx10.7`, `nixos-20.03`, `ubuntu20.04`, `win10`
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
> The virt-install package that comes with Fedora 34 doesn't work yet with argument *fedora34*
2021-08-12 10:40:42 +00:00
{.is-warning}
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
## Automated installation
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
### Local iso and kickstart
2021-08-12 10:07:05 +00:00
2021-08-12 10:40:42 +00:00
* Fetch a Fedora iso file
```
$ wget https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/iso/Fedora-Server-dvd-x86_64-34-1.2.iso -P /var/lib/libvirt/iso
```
* Deploy a Fedora Server using Phyllome OS curated kickstart
2021-08-12 10:07:05 +00:00
```
2021-08-12 14:41:12 +00:00
$ virt-install \
2021-08-12 10:07:05 +00:00
--connect qemu:///system \
--virt-type kvm \
--arch x86_64 \
--machine q35 \
--name vmd \
--boot uefi \
--cpu host-model,topology.sockets=1,topology.cores=1,topology.threads=2 \
--vcpus 2 \
--memory 4096 \
--video virtio \
--channel spicevmc \
--autoconsole none \
--sound none \
--controller type=virtio-serial \
--controller type=usb,model=none \
--controller type=scsi,model=virtio-scsi \
--network network=default,model=virtio \
--input type=keyboard,bus=virtio \
--input type=tablet,bus=virtio \
--rng /dev/urandom,model=virtio \
2021-08-12 10:40:42 +00:00
--disk path=/var/lib/libvirt/images/vmd.img,format=raw,bus=virtio,cache=writeback,size=5 \
2021-08-12 10:07:05 +00:00
--location=/var/lib/libvirt/iso/Fedora-Server-dvd-x86_64-34-1.2.iso \
--extra-args="inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/leaves/vmd.cfg"
```
2021-08-12 10:40:42 +00:00
> Requires an Internet connection
{.is-info}
2021-08-12 10:34:46 +00:00
### Built-in unattended mode
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
virt-install can rely on libosinfo's unattended install support to deploy fedora34 any user intervention:
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
`virt-install --install fedora32 --unattended`
2021-08-12 10:07:05 +00:00
2021-08-12 10:34:46 +00:00
### Cloud-init
2021-08-12 10:07:05 +00:00
2021-08-12 10:40:42 +00:00
Cloud-init may be used alongside virt-install:
2021-08-12 10:34:46 +00:00
`virt-install --install fedora34,cloud=yes --cloud-init root-password-generate=on ssh-key=/home/user/.ssh/test_rsa.pub disable=on`