A quick little How-To get a CSI Linux image up and running on Proxmox.

A little while ago I came across an interesting Linux distro, CSI Linux, but didn't have the resources to really dig in to it. I signed up for their training course and started going through the material, but there wasn't any "need" to complete it, and it got put on the back burner for more pressing requirements. Recently, we had an incident at work, and it brought this back to the forefront, and I needed to get CSI Linux running. Rather than being distributed as reasonably sized ISO files, you download prebuilt VM images (or a weird "bootable" image that needs to be dd'd). I don't have an ESXi server, and I don't have the PC resources to (effectively) run the VM in VirtualBox, namely HDD space (RAM too). I thought of setting it up on an old laptop, but I didn't have a large enough USB or enough HDD space to extract these images. The downloads are 10GB compressed, and extract to nearly 28GB!? This made the setup of CSI Linux much more difficult than it needed to be. I might post a full "review" later, but suffice to say, the install and setup options leave a bit to be desired. In the end, my only real option was to try to get it to run in Proxmox. The images were "compatible" with Proxmox, so it should definitely be possible, the question was: How? CSI Linux didn't have any answers in their training and documentation, so I headed out in to the wild Internets to seek the solutions for myself.

NOTE: This is NOT a comprehensive review of all the options available and their pros and cons... it is how and what I managed to get going in a less-than-ideal situation. My research has shown there's like, 342 (and more) different ways this could be accomplished, it all depends on how your Proxmox environment is all set up. I am also no Proxmox expert; I am a big fan and user, but a very basic user. Probably doing some things all wrong. This is just one option I managed to figure out and get working.


A working knowledge of Linux and Proxmox will be needed to really follow along if you want.


Hardware and Proxmox

So I guess before we get too far in the weeds on getting the CSI Linux image up and running, we'll need to briefly discuss the hardware and Proxmox setup I have going for this.

Simply put, I have Proxmox installed on a laptop, an old Thinkpad decommissioned from my work and destined for recycling. At first glance a laptop doesn't seem like a good candidate for a Proxmox VM server, but in all reality, they certainly can have their time and place. I might write up another article in the future going in to detail on setting up a laptop Proxmox server, but for today and this article, we'll just use that as a starting reference point. Besides, it serves my needs far better than a "bare metal" install would.

Another reason this is important to note, is that the "whole Proxmox setup" only has access to the single hard drive on the laptop. This turned out to be a significant factor in setting this up as Proxmox isn't REALLY designed for such a limited setup; it CAN (and does, mostly) work with the single HDD, but most other articles and how-to's revolving around the subject all rely on multiple HDD and storage options.


Image Selection

The first thing we need to do is select the proper image to download. You'll notice on the CSI Linux download page that there are multiple options. Technically speaking, the VMWare and VirtualBox images can work just fine. In my research I read that the QCow2 image may perform better in Proxmox, and not trying to review EVERY option available and just wanting to get it running, I chose the QCow2 image based on that.


Image Upload

The next challenge was the image upload. Under "normal" circumstances, this could be a piece of cake; Proxmox offers a way to upload images to the right kind of storage setup directly. Problem is that, for reasons not currently within my comprehension, Proxmox does not allow you to configure the sigle HDD storage in that way. I am sure there are reasons, but I do not know them.

I uploaded the compressed image to '/var/lib/vz/images/'. You COULD extract the image first, if you're a glutton for punishment and have the time to waste and HDD space available. My patience had neither, so I just uploaded it compressed.

In order to extract it, I first had to install 7zip on Proxmox with the following command:

apt install p7zip-full


And then create a directory for the disk image and extract it:

mkdir /var/lib/vz/template/qcow2

cd /var/lib/vz/template/qcow2


(Double check the MD5Sum, though not a fan that it's JUST MD5 given how easy it is to make collisions, but that's not a discussion for this article...)

md5sum /var/lib/vz/images/CSI_Linux_2023.2_QCOW2.7z

e307d9270e5472a535cf3ad777075296 /var/lib/vz/images/CSI_Linux_2023.2_QCOW2.7z

7z x /var/lib/vz/images/CSI_Linux_2023.2_QCOW2.7z

This can take a while...


VM Creation

In the meantime, we can go ahead and create the VM we will need to attach the storage to.

Unfortunately, the website doesn't do a good job of clearly showing the minimum requirements for the VMs, but in the VMWare package there's a .vmx file with the following details:

numvcpus = "2"

memsize = "8192"

I went ahead and gave it the full set of resources the base laptop had with 4 CPUs and 8192 MB RAM.

Of additional note when creating the VM:

  • OS tab, select the "Do not use any media" option for the CD/DVD drive.
  • Disks tab, delete the "default" drive and do not initialize any HDD.
  • CPU tab, I'm not sure if the Sockets/Cores makes a significant difference, as long as the VCPUs totals the number of CPU cores your Proxmox host has (in my case, 2 sockets and 2 cores, 4 VCPUs total).
  • Memory tab, 8192 MiB

The rest of the options are up to you.

Be sure to note the VM ID, you will need it for the command to attach the disk, which you would run after the extraction and VM creation are both complete:

qm importdisk <VMID> <IMAGE> <PROXMOX STORAGE>

So in my case:

qm importdisk 102 /var/lib/vz/template/qcow2/CSI_Linux_2023.2-disk001.qcow2 local-lvm

(Be sure to change the VM ID to yours if you're following along)

...and we wait some more...


When that finally finishes up, we have a few last steps to do in the Proxmox Admin UI before we can boot and get started.

Select your VM, and then the "Hardware" section, and find the "Unused Disk" in the hardware list. Click on it and click the "Edit" button. Select your "Bus/Device" as you normally would (Defaults for me), and click "Add".

Finally, select the "Options" section, select the "Boot Order", and click the "Edit" button. Enable your new HDD and bring it to the top. Click "OK".




And there you have it...! Your new CSI Linux VM is ready to boot and access through the Proxmox console!


Add comment

Security code