[TUTORIAL] Developer Workstation (Proxmox-VE 9) with cinnamon (LMDE7)

aureladmin

Renowned Member
Apr 15, 2016
47
21
73
If you want to install a "developer workstation" with cinnamon (LMDE7), this is where it happens.

Please note this does not work if you use the zfs or btrfs file system with proxmox.
I am currently making another tutorial for installation with zfs and btrfs (subvolume and raid1) from a debian installation with "wayland" (gnome, kde) as a bonus.


1) Install Promox-ve 9.0-1 via iso



2) Connect to Proxmox-ve via ssh as root



3) Create a new main "source.list" type file as under LMDE7

Bash:
echo " ##Source LMDE7##
deb http://packages.linuxmint.com gigi main upstream import backport #id:linuxmint_main

deb https://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb https://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb http://security.debian.org trixie-security main contrib non-free non-free-firmware

deb https://deb.debian.org/debian trixie-backports main contrib non-free non-free-firmware" >>  /etc/apt/sources.list.d/official-package-repositories.list



4) Create "additional-repositories.list" file

Bash:
echo "# PVE pve-no-subscription repository provided by proxmox.com,

# NOT recommended for production use

deb http://download.proxmox.com/debian/pve trixie pve-no-subscription" >>  /etc/apt/sources.list.d/additional-repositories.list



5) Delete the old "source.list" file and "pve-enterprise.list"

Bash:
rm /etc/apt/sources.list

cd /etc/apt/sources.list.d
rm ceph.sources  debian.sources  proxmox.sources  pve-enterprise.sources



6) Create an apt pref file for official-package-repositories



Bash:
echo "Package: *
Pin: release o=linuxmint,c=upstream
Pin-Priority: 700" >> /etc/apt/preferences.d/official-package-repositories.pref



7) Create an apt pref file for official-extra-repositories

Bash:
echo "Package: *
Pin: origin "build.linuxmint.com"
Pin-Priority: 700
" >> /etc/apt/preferences.d/official-extra-repositories.pref



8) Add the LMDE7 ppa key

Bash:
apt update -oAcquire::AllowInsecureRepositories=true && apt inst    
apt install --reinstall -y --allow-unauthenticated linuxmint-keyring



9) Update the repository list

Bash:
apt update



10) Install "sudo" packages

Bash:
apt install sudo


12) Update the repository list

Bash:
apt update



13) Configure your locale for langage and other, follow the steps

Bash:
dpkg-reconfigure locales



14) Add your user account

Bash:
adduser your_user



15) Add your user account to the sudo group

Bash:
usermod -aG sudo your_user



16)Add the sudo right to your user account via "visudo"

Bash:
visudo



Add this line

Bash:
%sudo ALL=(ALL:ALL)  ALL

your_user ALL=(ALL:ALL)  ALL



17) Installation of the cinnamon interface and its dependencies

Bash:
apt install --install-recommends -y debian-system-adjustments && apt update && apt install --install-recommends -y mint-meta-cinnamon  cinnamon cinnamon-l10n cinnamon-desktop-data mint-common lightdm-settings mintlocale mintmenu mintsystem mintupdate mintwelcome mint-mirrors mint-translations mint-themes mintinstall mint-backgrounds-uma mint-backgrounds-una mint-backgrounds-ulyssa mintstick muffin nemo nemo-emblems nemo-preview nemo-share mint-meta-codecs timeshift xreader boot-repair timeshift synaptic numlockx software-properties-common software-properties-gtk slick-greeter gnome-terminal gnome-font-viewer gnome-calendar gnome-calculator gnome-menus gnome-power-manager firefox bulky caribou gdebi onboard redshift sticky thingy webapp-manager xapp-appimage-thumbnailer xapp-epub-thumbnailer xapp-mp3-thumbnailer xapp-raw-thumbnailer xreader xviewer xviewer-plugins acpi-support acpid alsa-utils anacron avahi-utils avahi-autoipd baobab build-essential cups cups-browsed fuse3 lintian && apt -y install cinnamon-desktop-environment mintdesktop



18) Update the distribution

Bash:
apt dist-upgrade -y



19)Reboot your computer

Bash:
reboot



the installation has installed many games by default, I advise you to remove them if you do not want them. you can do it via synaptic by choosing by category it goes very quickly.



If you want up-to-date apps, I recommend using flatpak.





Optional amdgpu drivers:

If you have an AMD processor with an iGPU you will have to install the drivers by hand because the pve-firmware package does not contain them.



1) check the version of the "firmware-XXXXX" package available at the trixie repositorie:

http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree



2) Firmware download, extract and copy

AMDGPU

Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-amd-graphics_20250808-1_all.deb

dpkg -x firmware-amd-graphics_20250808-1_all.deb firmware-amd-graphics

cp -r firmware-amd-graphics/lib/firmware/* /lib/firmware/



3) Update "initramfs"

Bash:
update-initramfs -k all -u



4) Reboot

Bash:
reboot







Optional bluetooth, wifi card and other drivers:



if your bluetooth, wifi card or other are not recognized despite the installation of the "pve-firmware" package, you will have to do it manually.



1) check the version of the "firmware-XXXXX" package available at the trixie repositorie:

http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/



2) Firmware download, extract and copy

INTEL WIFI and BLUETOOTH

Bash:
http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-iwlwifi_20250808-1~bpo13+1_all.deb

dpkg -x firmware-iwlwifi_20250808-1~bpo13+1_all.deb firmware-iwlwifi

cp -r firmware-iwlwifi/lib/firmware/* /lib/firmware/



REALTEK WIFI and BLUETOOTH

Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-realtek_20250808-1~bpo13+1_all.deb

dpkg -x firmware-realtek_20250808-1~bpo13+1_all.deb firmware-realtek

cp -r firmware-realtek/lib/firmware/* /lib/firmware/



OTHER, MEDIATEK, ...

Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-misc-nonfree_20250808-1~bpo13+1_all.deb

dpkg -x firmware-misc-nonfree_20250808-1~bpo13+1_all.deb firmware-misc-nonfree

cp -r firmware-misc-nonfree/lib/firmware/* /lib/firmware/



ALL in one shot (danger)

Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-nonfree_20250808.orig.tar.xz

tar -xf firmware-nonfree_20250808.orig.tar.xz

cp -r firmware-nonfree_20250808/* /lib/firmware/



3) Update "initramfs"

Bash:
update-initramfs -k all -u



4) Reboot

Bash:
reboot





optional, network configuration:



If you want to use cinnamon's network-manager, you will need to modify the "/etc/network/interfaces" file as well as the "/etc/hosts" file.



Indeed it is simpler to do nat and choose your wifi or wired connection via the graphical interface than to do everything on the command line and restart each time.



example file:



/etc/network/interfaces:

Code:
auto lo

iface lo inet loopback



auto vmbr0

iface vmbr0 inet static

    address 192.168.199.254/24

    bridge-ports none

    bridge-stp off

    bridge-fd 0

    metric 100

    post-up echo 1 > /proc/sys/net/ipv4/ip_forward

        post-up iptables -t nat -A POSTROUTING -s '192.168.199.0/24' -o wlo1 -j MASQUERADE

        post-down iptables -t nat -D POSTROUTING -s '192.168.199.0/24' -o wlo1 -j MASQUERADE

#    post-up iptables -t nat -A POSTROUTING -s '192.168.199.0/24' -o enp4s0 -j MASQUERADE

#    post-down iptables -t nat -D POSTROUTING -s '192.168.199.0/24' -o enp4s0 -j MASQUERADE



/etc/hosts:

Code:
127.0.0.1 localhost.localdomain localhost

192.168.199.254 COMPUTERNAME.domain.local COMPUTERNAME



# The following lines are desirable for IPv6 capable hosts



::1     ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts



I created a subnet "192.168.199.0/24" with the IP of my proxmox PC "192.168.199.254".

I do "postrouting" to have a network connection.

I'm not going to detail everything, there is quite a bit of tutorial on this on the net and on the forum.
 
  • Like
Reactions: fixjunk
Please note this does not work if you use the zfs or btrfs file system with proxmox.
I am currently making another tutorial for installation with zfs and btrfs (subvolume and raid1) from a debian installation with "wayland" (gnome, kde) as a bonus.

when you say file system do you mean the PM rootfs? i've 9.0 installed to a single nVME local-lvm vol with a 4-disc raidz and hoping the restriction is only for the rootfs or...

if ANY z/btrfs usage, root or not, is a no-go.

worked great in PVE8, my rebuild just happened to be after 9 came around. i may just drop back to 8 until you release your upcoming guide with wayland. thanks in advance
 
when you say file system do you mean the PM rootfs? i've 9.0 installed to a single nVME local-lvm vol with a 4-disc raidz and hoping the restriction is only for the rootfs or...

if ANY z/btrfs usage, root or not, is a no-go.

worked great in PVE8, my rebuild just happened to be after 9 came around. i may just drop back to 8 until you release your upcoming guide with wayland. thanks in advance
The problem stems from proxmox-boot-tools; it can't be fixed from the installation using the Proxmox-VE ISO. You need to start with a Debian installation. I'm currently working on a tutorial about this, but it's quite time-consuming to test with several different configurations.
 
Hi, thanks for the amazing tutorial.

I installed successfully LMDe6 according to your tutorial on zfs about 8 monts ago. The machine works flawlessly. However, since I run it on a N150 hardware acceleration for graphics starts with kernel 6.16.

LMDE 6 runs on PVE 8. pve-manager/8.4.14/b502d23c55afcba1 (running kernel: 6.14.5-1-bpo12-pve)

Is there a way to upgrade to PVE 9 and LMDE 7 in one swooping update (ZFS). Or will this be a major fail?

Is there a way to update to PVE 9 on LMDE 6 and do the update to 7 later? -> I would like to install the PVE 9 kernen 6.17 on the the testing branch.

Thanks for your support here!
 
Hi, thanks for the amazing tutorial.

I installed successfully LMDe6 according to your tutorial on zfs about 8 monts ago. The machine works flawlessly. However, since I run it on a N150 hardware acceleration for graphics starts with kernel 6.16.

LMDE 6 runs on PVE 8. pve-manager/8.4.14/b502d23c55afcba1 (running kernel: 6.14.5-1-bpo12-pve)

Is there a way to upgrade to PVE 9 and LMDE 7 in one swooping update (ZFS). Or will this be a major fail?

Is there a way to update to PVE 9 on LMDE 6 and do the update to 7 later? -> I would like to install the PVE 9 kernen 6.17 on the the testing branch.

Thanks for your support here!
I don't recommend upgrading, but it is possible.

1) Remove any additional repositories other than Proxmox, Debian, and LMDE.
2) Use the pve8to9 script (only to check for any necessary fixes; do not run the upgrade yet).
3) Modify the repositories (including the switch to LMDE 7)
4) Run the pve8to9 script and perform the upgrade.

5) If all goes well, it should work. I've only tested it in a VM, so I can't guarantee anything. Ideally, make a backup using Clonezilla beforehand on an external HDD (or SSD).
 
Last edited:
... ... (ZFS). Or will this be a major fail?

When I do potentially problematic things like changing the topology or to run "experimental" commands like you do I set a global checkpoint to have a way back to the previous global state of the "rpool".

See man zpool-checkpoint for details. That mechanism has drawbacks, but during maintenance it helps to stay calm if problems rise.

This does not eliminate the need to have backups!
 
  • Like
Reactions: aureladmin