From a7906586a758a8cacbe918c90dfd9a21e285763c Mon Sep 17 00:00:00 2001 From: root Date: Mon, 26 Feb 2024 17:11:21 +0100 Subject: [PATCH] Doc and Win --- DOCUMENTATION.md | 57 ++++++++++++++++++++++++++++++++++++------------ app.py | 6 ++--- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index ea6e7e9..b087211 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -4,7 +4,7 @@ # Install -Please refer to the README file,all install steps are described. +Please refer to the README file, all install steps are described. ## Pipx @@ -12,30 +12,59 @@ Not refered in the install, but you can pipx for you install. # Virtual Server Creation -##List os update - ##Linux +For the moment, no issue with tested distribution: + - Archlinux + - Debian/ubuntu + - Centos/Fedora/Redhat + - FreeBSD + - TinyCore + +##Other install + +Tested succeffully : + - Pfsense,Dynfi,Open + ##Windows -Windows OS will need some extra-drivers to run. -For this during the install, the VM will mal a virtuo-win iso with all drivers. +Windows OS will need some extra-drivers to run on virtualized server. -Virtuo can be found here : +For this during the install, the VM will need a virtIO-win iso with all drivers. +The VirtIO iso is already mounted as a CD-ROM on VM creation. Load the drivers according to you OS install. + +###VirtIO + +VirtIO is a QEMU drivers for Windows OS (please read : https://developer.ibm.com/articles/l-virtio/) + +VirtIO can be found here : https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/?C=M;O=D +Take care of the version, some virtio are not compatible with some Windows version. + This iso is on ./storage/win/ and configured in **config.py** for upgrade. -Tested Windows Install: -Curent testing : -Windows Server 2022 -Windows 11 +###Tested Windows Installation (tested with Virtio 0.1.229): + Validate for : -Windows 8, 8,1 10 -Windows Server 2019 + - Windows 8, 8,1 10 + - Windows Server 2019, 2022 + Failed with : -Windows 98, Windows XP + - Windows 98, Windows XP, Windows 11 (UEFI access) + Never Tested : -Win 7 and Vista + - Win 7 and Vista +#ERROR and SOLUTION + +You may incounter some error in specific case, please report them if they are not in the list, +They will be consider on nexts releases. + +ERROR: Error destroying Requested operation is not valid: cannot undefine domain with nvram : +SOLUTION (on CLI): virsh undefine --nvram VM_NAME + +ERROR: Error stoping NOM_VM:Requested operation is not valid: domain is not running +SOLUTION 1 (on CLI): virsh reset VM_NAME +SOLUTION 2 (on CLI): virsh destroy VM_NAME (destroy the VM) diff --git a/app.py b/app.py index 32bb22e..59bb2be 100644 --- a/app.py +++ b/app.py @@ -415,7 +415,7 @@ def create_VM(): ostype = 'linux' #################################### -## WIN ## +## WINDOWS ## #################################### if ose.startswith('win'): @@ -425,14 +425,12 @@ def create_VM(): except Exception as e: flash('Error on creating '+str(nom)+':'+str(e),category='danger') return redirect(url_for('state')) - opt = " --disk path="+virtuo_path+"virtio-win-0.1.229.iso,device=cdrom" + opt = " --disk path="+virtuo_path+virtuo_file+",device=cdrom" ostype = 'windows' diskpath = " --disk path="+str(virtuo_path)+str(nom)+".qcow2,size="+str(disk)+",bus=virtio" creationcmd='--name '+str(nom)+' --ram '+str(ram)+' --disk path='+str(virtuo_path)+str(nom)+'.qcow2,bus=virtio,format=qcow2 --vcpus '+str(cpu)+' --os-type '+str(ostype)+' --os-variant '+str(ose)+' --network network:bridged --graphics vnc,listen=0.0.0.0 --noautoconsole --console pty,target_type=serial '+opt+' --cdrom '+str(iso)+' --force --debug ' - print("OS WINDOWS:"+creationcmd) else: creationcmd='--name '+str(nom)+' --ram '+str(ram)+' --disk pool=default,size='+str(disk)+',bus=virtio,format=qcow2 --vcpus '+str(cpu)+' --os-type '+str(ostype)+' --os-variant '+str(ose)+' --network network:bridged --graphics vnc,listen=0.0.0.0 --noautoconsole --console pty,target_type=serial '+opt+' --cdrom '+str(iso)+' --force --debug ' - print("OS LINUX:"+creationcmd) try: os.system('virt-install '+creationcmd+' ') flash(str(nom)+' created', category='success')