Replacing Raspberry PIs running Allstar with A Modern Mini PC running Proxmox VE To Allow for Allstar And Windows Programs On The Same Computer
Introduction
I’ve been using Raspberry Pi’s, running Allstar, to link my various repeater via the AREDN Mesh for a while now. They work well but I’ve had the desire to have additional capability, such as being able to remotely administrate my Arcom repeater controllers. There are several programs (for Windows) to allow for such administration but I wanted a more elegant solution than having to run (and maintain) at least 2 separate computers at each of multiple repeater sites.
Mini PCs
I was recently made aware of these fantastic little computers and I have to admit they are awesome! A very small foot print with lots of computing power and they run directly on 12 VDC. Any of the current generation ones with 8 GB of RAM, multicore and thread (most I've come across are at least 4 core, 4 thread) and at least 128 GB SSD is all you need.
The above is not meant to say you can’t use a different computer but you will need one with a x86-64 processor (sorry, ARM processor boards such as the Pi can’t be used with Proxmox below).
Enter Proxmox VE
Proxmox VE is an open-source platform for enterprise virtualization. I won’t go into all the gory details but here’s a link to an excellent article that explains Proxmox in easy-to-understand terms. And yes, Proxmox is completely free.
https://medium.com/@stephendjoshua/what-is-proxmox-and-why-is-it-awesome-f16ef5a57ca0
It is easy to install and almost more importantly, once installed you can do everything needed with nothing more than a web browser.
In this document, I will duplicate the steps I took in order to configure everything for my needs. I have 2 virtual machines (VM) running.
VM #1 - Debian12, 64 bit for Allstar
VM #1 Windows 7 Professional for Arcom’s RCP and Updater2561 software (for use with the RC210 repeater controller) and Motorola RSS software for use with a Quantar repeater.
Installing Proxmox
Simply download the Proxmox image iso and burn it to a USB flash drive using a program like Etcher or Rufus. The image under 2 gigs in size so it doesn’t take a very large flash drive.
Boot up your target computer and follow the prompts. Proxmox is very simple to install but it does require that you use a static IP, at least at first (more on this later).
Once installed, you connect to it using your regular web browser.
For info about downloading and installing Proxmox, see the below link
https://www.proxmox.com/en/proxmox-ve/get-started
Needed Downloads to create the virtual machines we’re going to use
Once Proxmox is up and running, go to your “normal” Windows computer (on the same network as your Proxmox server) to download the various iso images that will be needed to install Debian10 64 bit as well as Windows 7.
Windows 7 you ask? We use this because we can install it without needing to register it and it will run all the programs we need. After all, these VMs will receive limited use so there is no really need to install a later version of Windows to run the programs we’re installing
Download the following iso images and store them in a known location as you’ll need them for the next steps
https://cdimage.debian.org/cdimage/archive/12.4.0/amd64/iso-cd/debian-12.4.0-amd64-netinst.iso
https://archive.org/compress/win-7-pro-32-64-iso/formats=ISO%20IMAGE&file=/win-7-pro-32-64-iso.zip
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.215-2/virtio-win-0.1.215.iso
This last download is needed to allow for virtualized drivers for the Windows 7 virtual machines we’re going to create later.
Setting up your first VM (or “Guest” as Proxmox calls them)
Connect to your Proxmox server using the IP address you assigned it when you ran the installation program (and don’t forget the “:8006” at the end as the server uses Port 8006 and not the usual Port 80 for serving web pages). Also note that the address will start with https:// and your browser may balk about it being dangerous since the security certificate doesn’t appear valid. Ignore that (it’s secure because it’s your computer, right?) and continue connecting. If you need to be reminded of the address, look at the monitor of the computer running Proxmox as the address is displayed there.
After you log in (using the password you used when you installed Proxmox), you’ll then receive a pop-up window warning you that you don’t have a valid subscription (you don’t need one). Click OK and you’ll be presented with the main window.
Now that you’re connected to your Proxmox server, you can begin installing what you’ll need in order to create your virtual machines (VM).
First we need to upload the iso images we earlier downloaded. Double click the line “storage local (pve) line:
Then click Upload and upload the 3 iso images you previously downloaded (depending on the speed of your network, this may take some time as they’re big files:
Note: it makes no difference what order you upload them
Select your file then click Upload. Do this for each of the 3 iso images you downloaded
Once all 3 files are successfully uploaded, we can move on to create our VMs.
Click the blue Create VM button:
In the new window (in this case with the ID of 100), fill in the name of this VM and click the Start at boot box, then click Next.
From the ISO IMAGE dropdown menu, select the Debian iso and click Next
On the next 2 windows (System and Disks), accept the default values and click Next
In the CPU window, change the number of cores from 1 to 2 and click Next
In the Memory window, we can leave the memory allocation set to the default value of 2048 (2 gigabytes) as we won’t need any more memory to run this VM. Click Next
In the Network and Confirm tabs, we can again accept the default values and click the Next button. This will actually create our Debian VM, which will now appear in the left hand column list. SINGLE click on our new VM 100 (Allstar) and then on Console
Start the VM by clicking on the blue Start button
You will now be presented with the usual Debian installation menus. Install as you normally would but make sure to install the web and ssh servers as you’ll need both later. You can choose to install a Desktop or not (command line interface only or CLI), that is up to you.
Once the Debian install is complete and has rebooted, it’s now time to install the 64 bit version of AllStar for Debian 12 Bookworm).
If you chose to install a Desktop, open a terminal and su to root. If you installed the CLI, log in as root.
First, we’ll download git for installation of Allstar
At the command prompt:
root@Allstar:
apt install -y git
root@Allstar:
apt autoremove -y
Download the Allstar files:
root@Allstar
git clone https://github.com/Allan-N/ASL-Install.git
The
asl-install.sh
script should present you with a menu of the steps needed to build, install, and configure a node. Execute each step, in order, at least one time.
When finished, the script will suggest that you reboot the system. Unless you know that the changes you made would not affect the running configuration then please consider that to have been a strong suggestion.
root@Allstar
cd ASL-Install
root@Allstar
./asl-install.sh
Now you should determine the IP address of this VM, as it will be different than the one you chose during the installation of Proxmox.
At the command prompt:
root@Allstar: ip a
In my case, my Debian VM was assigned an IP of 192.168.1.117
Now is the time to either edit the existing /etc/asterisk files for your needs or SCP your backup copies to the new VM. If you use Allmon or Supermon, you should copy those over as well.
Now connect whatever USB interface you use for Allstar to the Proxmox computer, go to the Hardware selection in the Proxmox webpage and click Add and select USB Device from the dropdown menu
Select the Use USB Port radio button and choose the correct USB device for your needs (yours may list differently. Select your USB device (yours may list differently but in my case, this is the right one).
VERY IMPORTANT. Be sure to UNCHECK Use USB3.
Click Add
Right click the VM listing in the left column and select Stop from the dropdown menu. When we restart it, this will allow the VM to recognize the newly added USB Device as well as have Allstar load your custom configuration files.
Click Yes on the Confirm window and then wait a few second until the Stop command is verified at the bottom of the window.
Now restart the VM by clicking the Start button:
You can now test your Allstar installation. This VM will automatically start whenever the main server boots up.
Now we can install the Windows 7 VM following the same procedure as was done for the Debian VM. The only difference is when creating the VM, select 4 to 6 GB for memory as Windows needs more than Linux.
Also note that we don’t actually need to specifically install the virtual IO drivers iso for Windows as the iso file simply needs to exist so it can be used during the installation of the Windows 7 VM
Once the Windows installation is done, you can install whatever software you want and have it available at any time. In my case, I installed RCP and Updater2561 so I can do whatever I need to my RC210s, be it configuration changes or even firmware updates.
I chose to only run the Windows VM when I actually need it. Otherwise, I shut it down to minimize the power usage of the computer. This certainly isn’t necessary and it’s up to you if you want to do the same. Either way, the Lenovo will be happy.
One last item to cover
The NIC used for a wired LAN connection in the Lenovo doesn’t seem to play nice with AREDN flashed Ubiquiti devices for some reason. I tried both a AREDN flashed MikroTik hAP Lite and Ubiquiti PBE400 Powerbeam M5 and I had a terrible time getting either one to reliably recognize the Lenovo computer during bootup even though the Lenovo was using a static IP and not DHCP. I’m thinking it has something to do with the Lenovo’s NIC being capable of 1 gbit operation while the AREDN can only do 10/100. For reasons I was never able to comprehend, although it was capable, the Lenovo rarely successfully negotiated for the proper speed with either AREDN device.
The solution I found was to use a managed switch (in my case, a NetGear GS-305E) between the Lenovo and the AREDN device. This was fine as I needed a switch at my repeater sites anyway. The Lenovo connects to the switch at 1 gbit and the switch connects to the AREDN device at 100 mbits. Everyone is happy!
Here are some screenshots of the VMs in actual operation