Post your Neoflex (Neofetch) here

Not really a flex, just a test VM.

Pretty impressed how minimal this thing is. For a VM, just 80 MB of RAM is pretty mind blowing for me.

My usual ramble

I’m using Artix just to see how s6 works. Documentation is a little scarce (or I’m too dumb to understand the html pages on skarnet). Also, I was annoyed at the fact that Artix didn’t have man installed and that s6 suite ships with no manual entries.

This is just a little insight of what I’m planning next: some documentation around s6, mostly service management, i.e. s6-rc, s6-rc-bundle and the rest of s6-rc-*. I was wondering why 66suite exists in the first place, people said s6 is pretty hard to manage. At first, I was a little confused, because of lack of documentation, but using s6 seems pretty easy, just needs a little love and some how-to’s.

Maybe I didn’t understand the goal 66 is trying to achieve, but in its page on Obarun, it says it is supposed to simplify s6 and s6-rc. Given, I just got started with s6, but I don’t think 66 is really that necessary (Artix probably did a good thing to split s6 and 66 into different base installs). But I could be wrong, I’ll have to see how hard it would be to convert systemd and runit unit / service files to s6-rc. Also need to see how s6 database works (the idea of db profiles is pretty cool, if something goes wrong, you can get back to your previous enabled services).

Also, I hate the fact that Artix forces you to install elogind. I don’t use that, I’m literally in a terminal. In void, it’s not a hard dependency like in Artix. Also, Artix only has the kernels linux, linux-lts and linux-zen, with linux-hardened being absent (which I wanted to install).

2 Likes

I’ve finally joined the vfio bandwagon. I can now use the Nvidia card to play games while having an untainted kernel. Gave 4 cores 8 threads to the gaming VM and isolated 4 threads to the host. Works like a charm. Using Musl since I think its a good software filter.

Setting the Windows VM through vert-manager was a pain tho. Pointer disappears after you install virtio drivers.

5 Likes

A vfio setup on a NUC, nice! What software did you use to isolate the guest?

Havent really tried to use Void… is it more involved than Arch?

Its one of those NUC9s that look like a PCI-E card SBC and whose cases can allocate full length GPUs although my case is aftermarket because the original one provided by intel can only accommodate certain GPUs. Both the GPU and the NUC module connect through a PCI-e slot on the case backplane.

On guest I just set the cputune to make the VM use a certain group of 4 cores and its threads. On host I set the isolcpu kernel cmdlike to keep the OS from using those CPUs.

Kernel cmdline:

ulzeraj@sanakan ~> cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-5.13.19_1 root=UUID=044eecc7-9c8e-4f72-b4aa-e2d62709d072 ro loglevel=4 intel_iommu=on kvm.ignore_msrs=1 vfio-pci.ids=10de:2503,10de:228e rd.driver.pre=vfio_pci isolcpus=2,8,3,9,4,10,5,11

Libvirt VM config:

<vcpu placement='static'>8</vcpu>
<iothreads>1</iothreads>
<cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='8'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='9'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='10'/>
    <vcpupin vcpu='6' cpuset='5'/>
    <vcpupin vcpu='7' cpuset='11'/>
    <emulatorpin cpuset='0,6'/>
    <iothreadpin iothread='1' cpuset='0,6'/>
</cputune>
<cpu mode='host-passthrough'>
    <topology sockets='1' cores='4' threads='2'/>
</cpu>

So cores 0,1,6 and 7 are dedicated to the host while the rest is used by the VM. The CPUs are picked based on physical cores rather than just CPUs. If this was a Ryzen system I would also have to take into account which L3 cache is associated to each thread.

Don’t know about Arch to have a reference but Void installation was pretty easy. The default installation will use less than 300MB RAM on both Musl and Glibc versions. Init system is runnit where you basically create a symlink to the service unit into a folder to enable it.

1 Like

Oh, cool, VFIO works on NUCs!

I’d say it’s a little different. If you know how to install Debian netinstall (follow a ncurses menu entries), you know how to install Void. Aside from the installer, Void is less of a hassle than Arch (mainly because xbps is so good), but you may find it lacks some proprietary software in some cases. There is a non-free repo that I only enabled a very long time ago and there wasn’t a lot to find in there, maybe things have changed over the years.

With that said, I don’t recommend Void to beginners. Documentation is not as available (thought work is being done on that), but you can use some of the Arch Wiki stuff (like on any other distro), however, if you don’t know what you are doing and where to look, you’ll have a hard time.

For example, I did a guide on the forum about how to add OVMF option on VMs in virt-manager on Void, because Void doesn’t ship with UEFI for KVM. It wasn’t an entry in itself, it was a response to someone on the forum who asked.

1 Like

Does mean using isoöcpus that the cores of the guest can never be used be the host?

It just worked for me. I’ve just went to vert-manager and selected UEFI secure. Perhaps your complain reached them.

Yeah. You mark the threads that the host OS should not use. The host OS can still see those isolated CPUs will not launch processes in those CPUs unless you manually assign affinity.

1 Like

You can look into vfio-isolate. It is a software for shielding guest VMs from the host. The host won’t touch the cores your VM runs on and still is able to use all cores when your VM is turned off! If you need help setting it up, ping me.

2 Likes

I should really name my laptop.

2 Likes

Awesome! I didn’t even complain, I just did a tutorial for someone who asked. Maybe others complained? Void became quite popular lately, so shipping with OVMF might have been an issue for users who wanted to PCI-E passthrough. Good to know though.

I usually name laptops after their model number (latitude-e5530, thinkpad-x220 etc.).

I was kind of expecting it to default to that tbh. I tend to name my devices after ships from Science Fiction franchises. Like Nazara, Serenity, Enterprise… Could go with Heart of Gold or something.

1 Like

posted!

4 Likes

updates recently

4 Likes

@SgtAwesomesauce if we geta system to 1 year uptime can we get a badge

4 Likes

Let me add one. I like the idea.

6 Likes

The server blade. bought New or got used, if new whats it purpose?

1 Like

Is this easier with an ubuntu server with livepatch stuff? Any alternatives that can do security patches without forcing a reboot?

2 Likes

It’s a used Tower fitted T320. I swapped a motherboard in to make it a T420 (from single cpu to dual socket). The cpus were cheap. RAM was a bit to chew on but worthwhile if I end up with lots of VMs.

As of now it’s more of a experiment. I may migrate over production apps and home serving services. I am just learning and its really way more horse power than I need till I learn more. I’m hoping to run some VMs of different distributions as I learn Linux. I will probably end up moving it to proxmox for that purpose. It’s housing 6 8TB exos drives, a nvme card and a few 2.5in SSDs.

I may have it be a local redundant backup.

2 Likes

nice! should try / go with RHEL8(free now) or a rhel base like Cent or Fedora, a lot of that is “industry standard” and will work across most other distros . Unless the distro in question is one thats not like the other girls cough Gentoo cough

1 Like