Friday, January 27, 2023

Installing Proxmox on Linux Mint Debian Edition 5

Ever since I started using Proxmox, one idea I had was to convert my existing desktop into a Proxmox workstation. Basically, it will run Proxmox with a desktop environment so that I can easily access a Windows VM on it for work, while continuing to use Linux mostly for everything else.

The instructions on the Proxmox website contains steps for installing Proxmox on Debian 11 (Bullseye). My preferred Linux distro, however, is Linux Mint. As luck would have it, Linux Mint has a Debian edition, which is based on the latest version of Debian, so I thought I would give it a try to see if I can install Proxmox on it.

The first step is to install LMDE 5 on my desktop. This is no different from installing any other version of Linux Mint. Basically, download the ISO, burn it to a USB thumb drive, and boot the desktop using the USB thumb drive, and follow the steps to install it.

Next is to follow the steps in "Install Proxmox VE on Debian 11 Bullseye":
1. Adapt sources.list
2. Install the Proxmox VE kernel
3. Install the Proxmox VE packages
4. Remove the Debian kernel
5. Remove the os-prober package (optional)

Also, you need to set a password for root by
sudo passwd root
Otherwise, you are going to have problems trying to access the web interface.
Also, check that /etc/ssh/sshd_config has this
PermitRootLogin yes
in it. This is especially needed if you are ever going to hook up this node to a cluster, as nodes in a Proxmox cluster use ssh to talk to each other.
 
And do not reboot yet! There is still one more thing to do, which is to create a bridge interface as mentioned here. This is because Proxmox disables NetworkManager, which means you will not be able to connect your computer to the outside world if you do not create a bridge first. So, open a web browser (LMDE comes with Firefox) and go to https://127.0.0.1:8006/ to access the Proxmox web interface, and from there, select your node, look for "Network", and create a "Linux Bridge" using the web interface.

I also had to follow some steps here to get Bluetooth working, since the Proxmox kernel is not compatible with the firmware-iwlwifi package.
wget http://ftp.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-iwlwifi_20210315-3_all.deb
sudo dpkg -x firmware-iwlwifi_20210315-3_all.deb firmware-iwlwifi
sudo cp -r firmware-iwlwifi/lib/firmware/* /lib/firmware/
sudo update-initramfs -k all -u

Also, Proxmox does not recognise the version codename "Elsie" (which is LMDE 5). It causes the error message "unknown Debian code name 'elsie' (500)" and so I had to edit /usr/lib/os-release and change
VERSION_CODENAME=elsie
to
VERSION_CODENAME=bullseye

By default, LMDE 5 comes with Cinnamon. But recently, I have come to like XFCE more, so I decided to switch Cinnamon for XFCE.
sudo apt install task-xfce-desktop
sudo dpkg-reconfigure lightdm
Once this is done, reboot, and at the login screen, click on the icon next to the user name to get a menu that allows you to choose between Cinnamon and XFCE. Choose XFCE, then enter your password to log in.
 
Running neofetch:

As you can see, I chose to opt into the newer 5.19 kernel by using
sudo apt install pve-kernel-5.19
(instead of sudo apt install pve-kernel-5.15)
 
Oh, I also had to do
sudo apt install mint-y-icons-legacy mint-themes-legacy
in order to get the legacy icons and themes, which I prefer.

Next, I hope to test out the steps here to install Proxmox VE first, then installing a desktop environment onto it. Before that, I need to import my previous Windows VM (qcow2 file) into this new Proxmox instance using the steps here. Wish me luck!
 
Update 29 January 2023: I tried to import my Windows VM (qcow2 file) that was on my desktop previously. That VM had some issues, which was why I stopped using it. But I decided to try to see if importing it will make it work. Conclusion: That VM is buggy and keeps rebooting randomly and I don't have the time to troubleshoot.
 
Anyway, for anyone interested, I followed the steps here to import the VM.
qm create 100
qm importdisk 100 windowsVM.qcow2 local
(local is the name of the Proxmox storage to use for this VM)
Then, I used the web UI to configure the VM. It worked, the VM could run and such, but because the VM was faulty in the first place (I think I messed up a Windows update previously...), it keeps rebooting randomly.

In the end, I took a working VM on my R720 server, made a backup of it, and copied that backup file (with the extension zst) to this new "server". I then restored the VM on this server, making sure to set the SMBIOS UUID to the one I previously used so that Windows can detect the license activation. I also changed the MAC address too. Once I "restored" the VM, I booted it up and made the changes to the network settings (so that it used another network address than the VM on the R720) and changed its name too.

Update 6 February 2023: The "cloned" VM kept giving me issues with GPU passthrough. Somehow, it just won't use the GPU for apps. I have therefore deleted the "cloned" VM and am installing a Windows 10 VM from scratch to see if it works... sigh...
 
Update 18 February 2023: After reinstalling the Windows 10 VM, and making sure to set Display to None, I managed to get the GPU passthrough working. I even managed to play Fortnite at 1440p (using Performance mode with all settings at Low except view distance at Epic).
 
Update 21 January 2024: For those who installed Proxmox VE 7 on Linux Mint Debian Edition 5 (LMDE 5), I managed to do a dual in-place upgrade from Proxmox VE 7 to 8, and LMDE 5 to 6. Details can be found here.
Dual upgrade: Proxmox 7 to 8 and Linux Mint Debian Edition 5 to 6


5 comments:

Teck said...

All the best! For graphics, it cannot be helped if you are running a Windows guest as virgl has not been made to work with Windows guests yet. For better graphics in Windows guest, you need GPU passthrough. I have a post on dynamic GPU passthrough if you have a system with a discrete GPU as well as integrated GPU. For single GPU systems, you can google around to find some examples.

https://teck78.blogspot.com/2023/02/dynamic-vfio-binding-and-unbinding-for.html

Anonymous said...

Thanks ill check that out. Ive tried about 3 thing w iommu on kvm on mint but none of them worked. Ive got intel hd5500. Not much but ive got some programs that just peg the cpu. Isaw your recent post on updating about never thought of that. You kinda have to update 2 major things that might require a rebuild. Im not sure why i need proxmox. Im just trying to run a secure host for my docs etc that doesnt have to be online and a win11 vm to keep windows from messing w my motherboard all on one machine

Anonymous said...

Just downloaded lmde6. Let me know if the above method needs any changes. Thx

Teck said...

Yes, LMDE 6 just released and I am thinking about upgrading to LMDE 6 soon, but it will need to be conducted in parallel with updating to Proxmox 8, and right now, the process documented on Proxmox pages only show how to upgrade Proxmox 7 to Proxmox 8 based on a vanilla Debian build. I am not sure how Linux Mint's LMDE 6 repos may affect an upgrade, so I am thinking I will take it slow, expecting to have to do troubleshooting and maybe even recovery (hopefully not).

Teck said...

For those who installed Proxmox VE 7 on Linux Mint Debian Edition 5 (LMDE 5), I managed to do a dual in-place upgrade from Proxmox VE 7 to 8, and LMDE 5 to 6. Details can be found here.

Dual upgrade: Proxmox 7 to 8 and Linux Mint Debian Edition 5 to 6