The M.2 drive arrived. As I mentioned in my last post, I had to remove the GPU in order to install it, since it was right over the top. Annoying, but easy.
Booted ‘er up, and got the BIOS still. Cool. Didn’t break anything.
I had already decided on using Proxmox VE for VM management. Why? I keep seeing it and it’s free. It’s been highly recommended on the subreddits I follow. Since I know next to nothing about this kind of software, I figured I’d use it. Also, I have a friend who uses it and says it works great - good enough for me.
Shuffled through a drawer for a thumb drive, got the ISO on it, and plopped it on the computer. The install was pretty painless. I had the computer connected to network at this point, so I jotted down the IP it was assigned and made sure to make it fixed in my router settings.
Install completed without a hitch - time to boot!… or not.
Debugging BIOS loop
It went straight to the BIOS again. That’s weird.
I clicked around in there, and didn’t really see anything weird. Tried to boot a couple more times with no luck. Interesting.
I Google’d for a bit. Then started prompting Claude for some debugging steps. It mentioned that the BIOS version may be old, and since the Z97 Extreme4 is a fairly older board, it may have M.2 compatibility issues.
I quickly panicked thinking it’s not going to work now, then pulled up the support page for the board. Sure enough, there were updates that mentioned M.2 support. Checked it against my current version and, boy, yeah it was out of date.
I tried to use the “Internet flash” utility in the BIOS but it failed each time, but luckily I was able to use the “Instant flash” utility. All it is, is a quick and easy way to flash the BIOS instead of having to do the whole process. As long as there is a drive inserted and it can see the update, it’ll grab it and go.
And it did just that.
I held my breath on the reboot.. and basically during the whole flash since it’s absolutely fucking terrifying. Lucky for me, it went fine. Proxmox VE booted up like it was supposed to.
First hurdle navigated!
Creating my first VM
I took a few minutes to navigate around the interface since it was all completely new to me. One thing I like using AI for is to explain things that I’m seeing and/or link directly to documentation for things. I had it explain the different nodes to me and what they meant.
Cool. Well. No time like the present, time to create a VM.
From here on, I rely more heavily on the assistance of AI in the process of learning. If that bothers you, no worries, feel free to drop. I find it simpler to directly prompt about specific things, rather than Googling sometimes.
Before creating the VM, I knew I was going to have to pass the GPU to the VM. According to Claude, I needed to enable something called IOMMU on Proxmox for that to work. An install of proxmox-boot-tool and updating some configs with things I don’t fully understand later, when I prompted dmesg I was getting DMAR: IOMMU enabled. Cool (or so I thought, but more on that later)
There were a lot of options during this creation of the VM that I, honestly, had no idea what they did. For the most part, I followed what Claude recommended as a good baseline after providing the context of what the VM will contain and what available hardware there was on the host machine.
I had to get my hands on the Debian ISO and transfer it over to Proxmox. Configurations such as OVMF (UEFI), EFI disk, machine type, and what not.. I’m gonna be honest was overwhelming as hell. The things I did understand, though, was more on the resource side. Allocating memory, vCPU and storage.
Once I got through all of that, the actual Debian install was a breeze. During the install, I chose options to include a GUI (cause I’m a noob, okay) and enable SSH. Once again, once I got to the point of knowing the IP, I jotted that down and made sure to make it fixed in my router.
Seeing the GUI in the console was really cool. It was like a visual of this actually happening. I tested using SSH from my primary computer, and that worked as well.
Things were going great!.. until they weren’t.
The next headache
Remember the whole GPU / IOMMU thing from before? Yeah, it came back for me. My next step was to pass through the GPU to the VM and Debian. I went to add the “PCI Device” and notice a message.. “No IOMMU detected”. Uh oh.
After confirming through commands that I will never in my life remember, we established that on Proxmox the kernel side was working as expected, it was somewhere else. Unfortunately for me, it was a BIOS setting. Why unfortunate? At this point in the build, I had moved the PC into the basement to where it was going to live, because it had been on my wife’s desk using her monitor / keyboard / network and she was getting mad at me.
So this set back meant I needed to bring it back up. That’s where I called it quits for the day. The following day, I would bring it up, easily find the setting, and enable it in the BIOS. After Proxmox came up, I was able to add the PCIE device and the VM now had access to the hardware. Luckily, the installing of the drivers for the GPU went off without a hitch.
The beginning of programs
I’ll save it for next time - but now that I have the VM and hardware correctly passed in, it’s time for programs. I decided to start with Ollama, something I’ve been messing with for local LLMs. It’s something that relies on nothing, needs the GPU, and it doesn’t matter how long I struggle setting it up.
Theoretically, once it is installed, I’ll have a good understanding for future programs.
This whole home lab thing is stressful, man. But boy is it fun.