Home Proxmox How To Install Proxmox VE On Debian 11 Bullseye In Intel NUC

How To Install Proxmox VE On Debian 11 Bullseye In Intel NUC

By sk
Published: Last Updated on 1,747 views

A few days ago, we discussed how to install Proxmox VE standalone edition. Today, we will see how to install Proxmox VE on Debian 11 bullseye in an Intel NUC mini PC and access Proxmox web dashboard. In addition, we will also discuss how to create a network bridge and how to setup Wireless network card as a bridge.

Introduction

I recently bought an Intel NUC mini PC. The exact model of Intel NUC is NUC11PAHi3. The specification of my Intel NUC is Core i3 11th gen, with 32 GB RAM and 500 GB NVMe disk.

I decided to use my NUC PC to learn virtualization and deploy many VMs and containers for testing purpose. I already have experience with Proxmox VE, so I decided to install it. My plan was to install Debian 11 and then install Proxmox on top of Debian.

However, installing Proxmox VE on Debian bullseye in an latest Intel NUC wasn't easy, but I managed to get it working after several attempts. The main issue with latest Intel NUC is the drivers.

Debian linux-firmware and proxmox-firmware packages conflicts with each other. I can't install both. So I had to extract the firmware package and manually copy/paste the contents of the firmware package in order to install the Bluetooth and sound drivers on Debian after installing Proxmox. This is the tricky part.

I have split this tutorial in three sections. The first section explains how to install Debian 11 bullseye on Intel NUC11PAHi3 system. Then we will see how to update the Debian 11 system and install the required drivers.

The second section explains how to install Proxmox VE on Debian 11 in the Intel NUC PC and how to manually install the drivers. This is the main goal of this tutorial.

The third and final section includes the steps to access the Proxmox web dashboard, and how to create a network bridge to allow containers and virtual machines to interact with the host machine (i.e. Debian 11).

Let us get started.

Section 1 - Install Debian 11 Bullseye on Intel NUC

Installing Debian 11 bullseye is not a big deal. We already have documented the Debian 11 installation steps with screenshots in the link below.

I followed the exact steps of the above tutorial to install Debian 11 on my Intel NUC. The only minor change was I chose "Guided Partition - Use entire disk and set up encrypted LVM" option instead of "Manual partitioning" while partitioning the disk. You can choose your own partitioning scheme.

1.1. Add System User To Sudo Group

After installing Debian 11, you should add the system user that you created during OS installation to sudo group to perform administrative actions.

To do so, switch to root user by running the following command:

$ su -

And then run:

# usermod -aG sudo ostechnix

Replace ostechnix in the above command with our own user name.

Type exit and hit ENTER to go back to the normal user prompt.

Log out and log back in to apply the changes. Now the user should be able to perform administrative tasks.

1.2. Update Software Sources

Next, we need to update the repository list. To do so, open Software center as sudo or root user using command:

$ sudo software-properties-gtk

This will open Software & Updates section where you can select the main, contrib and non-free repositories.

Software And Updates Settings
Software And Updates Settings

Click Close button. You will be prompted to update the repositories sources. Click yes to agree to update repositories list.

If you don't have a graphical desktop on Debian, make sure you have added the following lines on your /etc/apt/sources.list file to enable the aforementioned repositories.

deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb http://deb.debian.org/debian/ bullseye-updates main non-free contrib
deb http://security.debian.org/debian-security bullseye-security main contrib non-free

Once the repository update task is completed, run the following commands to update Debian 11 system.

$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo apt full-upgrade

Reboot your system to use the latest version. At this stage, you will have an updated Debian 11 system.

1.3. Install Bluetooth And Wireless Drivers

Even though we have an up-to-date Debian version, the Wifi and Bluetooth devices will not work in the latest Intel NUC models.

To install Wifi and Bluetooth drivers on Debian 11 in Intel NUC PC, you should install the firmware-iwlwifi package. This package is available only in non-free repository, so make sure you have enabled the non-free repository as shown in the previous steps.

$ sudo apt install firmware-iwlwifi

Once again, reboot your system.

Congratulations! You now have an updated Debian 11 OS with all drivers on the Intel NUC PC. Now Bluetooth Wifi drivers will work. You can connect to the any available Wifi networks and disconnect the wired connection if you don't need it.

Section 2 - Install Proxmox VE On Debian 11 In Intel NUC

The following steps are exclusively tested on an Intel NUC PC. However, the steps given below can be run on any system powered by Debian.

Step 1: Add IP address of your Proxmox system to hosts file

The hostname of your system must be resolvable via the hosts file. To do so, open /etc/hosts file and add the IP address of your system.

$ sudo nano /etc/hosts

Update the IP address as shown below.

192.168.43.100 pvedebian.ostechnix.lan pvedebian
Update IP Address In hosts File
Update IP Address In hosts File

Replace the IP address and hostname with your own in the above file. Press CTRL+O, and hit ENTER to save the file and hit CTRL+X to close it.

You can verify if the hostname is resolvable by running the following command:

$ hostname --ip-address 

This should return the IP address of your Proxmox system.

Verify If Hostname Is Resolvable
Verify If Hostname Is Resolvable

Step 2: Add Proxmox VE Software Repositories

Run the following commands as sudo user to add Proxmox VE repository and GPG key.

$ sudo sh -c 'echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list'
$ sudo sh -c 'wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg'

Update the software repository list and upgrade your system:

$ sudo apt update
$ sudo apt full-upgrade

Step 3: Install Proxmox VE

Run the following command to install Proxmox VE on Debian in your Intel NUC PC.

$ sudo apt install proxmox-ve postfix open-iscsi
Install Proxmox VE On Debian
Install Proxmox VE On Debian

If you have a mail server in your network, you should configure postfix as a satellite system. Your existing mail server will then be the relay host which will route the emails sent by Proxmox VE to their final recipient.

If you don't have a mail server and If you don't know what to enter here, choose local only and choose OK and hit ENTER.

Postfix Configuration
Postfix Configuration

Leave the system name as is and hit ENTER to continue.

System Mail Name
System Mail Name

This will install Proxmox kernel and set it as a default kernel.

Finally, reboot your system.

$ sudo reboot

The system will now boot into Proxmox kernel by default.

Step 4: Install Bluetooth drivers, again

As stated earlier, once you installed Proxmox packages, the Bluetooth device will not work anymore in Intel NUC. Because, linux-firmware and proxmox-firmware packages conflicts with each other. So linux-firmware package along with firmware-iwlwifi package will be uninstalled during Proxmox installation.

To make the Bluetooth work again, you should have linux-firmware package installed. But proxmox won't allow it. You can install only either of the packages. So in order to fix Bluetooth issue, we need to manually install the drivers.

Download firmware-iwlwifi package from Debian packages site. The firmware-iwlwifi package contains the binary firmware for Intel Wireless cards supported by the iwl3945, iwl4965, and iwlwifi drivers.

Extract firmware-iwlwifi package anywhere in your local disk (just right click and choose extract). I extracted in ~/Downloads directory. Inside the firmware-iwlwifi folder, you will see a tar file named data.tar.xz.

Extract the data.tar.xz file too.

Extract 'data.tar.xz' File
Extract 'data.tar.xz' File

You will get two more folders namely usr and lib.

Lib Directory
Lib Directory

The lib folder contains a directory named firmware, which contains all the driver files for Intel wireless and Bluetooth devices.

Go to the lib/firmware folder using command:

$ cd Downloads/firmware-iwlwifi_20210315-3_all/lib/firmware/

Copy everything from here to your system's /lib/firmware/ directory.

$ sudo cp -r . /lib/firmware/

Finally, run the following command to update drivers in Kernel.

$ sudo update-initramfs -k all -u

This command will add all the drivers to Proxmox kernel and update it.

Install Bluetooth Drivers On debian In Intel NUC
Install Bluetooth Drivers On debian In Intel NUC

Reboot your system:

$ sudo reboot

Now the Bluetooth devices will start work again. You can verify if the Bluetooth driver is loaded or not using the following command:

$ sudo dmesg | grep tooth

If you see "Found device firmware: intel/ibt-xx-x-x.sfi" line in the output, your Bluetooth driver is loaded and it should be working already.

[    3.815883] Bluetooth: Core ver 2.22
[    3.815903] Bluetooth: HCI device and connection manager initialized
[    3.815906] Bluetooth: HCI socket layer initialized
[    3.815907] Bluetooth: L2CAP socket layer initialized
[    3.815910] Bluetooth: SCO socket layer initialized
[    3.822717] Bluetooth: hci0: Bootloader revision 0.4 build 0 week 30 2018
[    3.823718] Bluetooth: hci0: Device revision is 2
[    3.823720] Bluetooth: hci0: Secure boot is enabled
[    3.823721] Bluetooth: hci0: OTP lock is enabled
[    3.823722] Bluetooth: hci0: API lock is enabled
[    3.823722] Bluetooth: hci0: Debug lock is disabled
[    3.823723] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    3.824545] Bluetooth: hci0: Found device firmware: intel/ibt-19-0-4.sfi
[    4.075405] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.075408] Bluetooth: BNEP filters: protocol multicast
[    4.075411] Bluetooth: BNEP socket layer initialized
[    5.694039] Bluetooth: hci0: Waiting for firmware download to complete
[    5.694725] Bluetooth: hci0: Firmware loaded in 1826345 usecs
[    5.694798] Bluetooth: hci0: Waiting for device to boot
[    5.709691] Bluetooth: hci0: Device booted in 14570 usecs
[    5.710945] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-19-0-4.ddc
[    5.712944] Bluetooth: hci0: Applying Intel DDC parameters completed
[    5.715964] Bluetooth: hci0: Firmware revision 0.0 build 121 week 7 2021
[    5.776726] Bluetooth: hci0: MSFT filter_enable is already on
[   11.179777] Bluetooth: RFCOMM TTY layer initialized
[   11.179784] Bluetooth: RFCOMM socket layer initialized
[   11.179787] Bluetooth: RFCOMM ver 1.11

Section 3 - Access Proxmox Web Dashboard

Open your web browser and navigate to https://IP-Address:8006. You will see an security warning message. Just click "Advanced" button and then click "Accept the risk and Continue" button to bypass the warning message.

Accept Security Warning
Accept Security Warning

You will be pleased with the Proxmox login scree. Enter the user name (root) and its password that you set during Debian OS installation.

Login To Proxmox VE Web Dashboard
Login To Proxmox VE Web Dashboard

You will see "No Valid Subscription" message upon login.

Proxmox No Valid Subscription Message
Proxmox No Valid Subscription Message

This is normal. We haven't added Proxmox license yet, so this window will appear whenever you login to Proxmox dashboard. Click OK to close this window.

Now you will land into the Proxmox web dashboard where you can perform all sorts of Proxmox administration tasks, creating, editing, deleting VMs and containers.

Proxmox Web Dashboard
Proxmox Web Dashboard

Next, we should do the following two important tasks.

  1. Create a network bridge in order to let the containers and VMs to interact with the host system.
  2. Masquerading (NAT) with iptables.

Please note that you should do the following steps only;

  • If you installed Proxmox on top of Debian. If you installed Proxmox standalone version, just skip this step.
  • If you want to use Wireless device as network bridge.

3.1. Create Network Bridge For Containers And VMs

As I already mentioned, If you have installed Proxmox standalone version, you don't need to do this. A network bridge named vmbr0 will be automatically created and configured by default. However, if you installed Proxmox on Debian, you must create a network bridge manually.

Click the Proxmox host on the left pane. Click "Network" tab under "System" section. Click "Create" drop-down button on the right pane and click "Linux Bridge" option.

Create Linux Bridge In Proxmox
Create Linux Bridge In Proxmox

Enter the IP address and gateway for the network bridge and click Create button

Enter IP Address For Linux Bridge In Proxmox
Enter IP Address For Linux Bridge In Proxmox

Heads Up: Here, I left the field "Bridge ports" field blank. Because, I want to use my wireless device as a bridge. If you plan to use Ethernet card, you must mention the name of Ethernet card (E.g. enp89s0) in the Bridge ports field.

Click Apply Configuration button to apply the changes to take effect.

Apply Network Configuration
Apply Network Configuration

Done. we just created a network bridge for the containers and VMs.

3.2. Setup WiFi Network Interface As bridge (Masquerading (NAT) with iptables)

This step is also optional and needs to be done only when you want to use Wireless network device as a bridge instead of the Wired Ethernet network device.

Open the /etc/network/interfaces file in your favorite editor:

$ sudo nano /etc/network/interfaces

Add the following lines below the vmbr0 section.

post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
post-up   iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o wlo1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o wlo1 -j MASQUERADE
Masquerading (NAT) With Iptables
Masquerading (NAT) With Iptables

Replace 192.168.1.0/24 with your own subnet and wlo1. You can get the name of the Wireless card with 'ip a' command.

Heads Up: Please note that your subnet should match with your network bridge's IP address. In this setup, my network bridge's IP address is 192.168.1.101/24 and subnet is 192.168.1.0/24.

Press CTRL+O and ENTER to save the changes and press CTRL+X to close the file.

Restart NetworkManager service and then reboot your system.

$ sudo systemctl restart NetworkManager
$ sudo reboot

That's it. At this stage, you must have a working Proxmox virtualization environment on Debian 11.

Conclusion

In this detailed guide, we discussed how to install Debian 11 bullseye on an Intel NUC PC. Then we learned how to install Proxmox VE on Debian 11 with Wireless and Bluetooth driver support.

We also saw how to access Proxmox Web interface and create a network bridge from the web dashboard. Finally. we concluded the tutorial with setting up a wireless network device as bridge.

In our upcoming guides, we will see how to how to create containers and VMs and various other Proxmox topics in detail.

Read Next:

You May Also Like

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More