nVidia CUDA with the wrong video card

In trying to build my first crypto rig I wanted to be able to get it functional with the GPU instead of the CPU.

I had originally installed an nVidia GeForce GT 710 but came to find out later that its not a supported GPU for use with CUDA per developer.nvidia.com.

Lucky for me I had a video card to “Upgrade” to, which was an nVidia GeForce GT 630, which supports Version 2.1 of CUDA-Enabled Compute Capability.

I did have to download and install the nVidia Linux X64 driver, and without knowing that the install required kernel-devel so it could built the driver correctly.

The only thing blocking me is it seemed my build of libxmrig-cuda.so was built with the CUDA 11.6 API and the Linux X64 driver does not support that. In fact, running nvidia-smi tells me that the driver supports CUDA version 11.4, so looks like i’ll have to rebuilt my driver with 11.4.

Read More

grub2 for Windows 10 after installing Rocky 8.5

So, I came into a hiccup, and the amount of time it took to diagnose and resolve seemed like it should be something I documented.

In doing the initial installation of Rocky 8.5 on the computer that my kids sometimes use that runs Windows 10 I wasn’t really given the opportunity to configure a multiboot. Instead, the system happily booted Rocky 8.5 and nothing else.

Additionally, running os-prober didn’t really find another operating system, so I had to do some manual work.

Read More

xmrig with cuda for Rocky Linux 8.5

The wife wants to get into Cryptocurrency, so we get into Crypto.

She picked out a couple: VeChain(c), Stellar(c), and Bitcoin(c)

I picked out a couple: Ethereum(c), Monero(c), and Dogecoin(c)

None of them intersect, so I’ll start with my list first 🙂

First thing is to build a miner, and we’ll use an old Intel Core2 Quad Q9650 with 8GB RAM and an nVidia GeForce GT710 that I scrounged together from old parts.

Second thing is to choose a cryptocurrency to see how we can optimize it. Monero looks ezpz.

Third thing is to get familiar with xmrig and xmrig-cuda built and running. We’ll plan and build this in a Virtual Machine to make sure we have all our dependencies ironed out before committing this to an actual machine. We’ll steal some guidance from Litaiem Moatez and their first linkedin article to help us out.

Read More

ssh port forwarding / ssh tunneling

I’ve always been curious on ssh port forwarding enough to experiment and learn it to be deadly enough. I currently have two machines that I’d like to test this with, both -L (local) and -R (remote).

I have a C7 host behind a router and a C8 host on the internet that I’ll be testing with.

Our set up is the following: (c7 Host) <->* (router) <-> (c8 host)

Local Forwarding

What I’m going to do is forward port 4444 on my c7 machine to connect to the c8 host on port 22 by launching the following on

$ ssh -L localhost

At this point I can start a SSH session to at port 4444. I’m prompted to log in at, and i’m good to go. As long as the command is running I maintain a connection.

To remove the login necessity I added ~/.ssh/id_rsa.pub to ~/.ssh/authorized_keys for passwordless local log in.

Remote Forwarding

Remote forwarding allows world-accessible hosts to provide access to internal hosts. In our previous scenario we forwarded from an intranetwork host to a world host. Now we’re gonna use that intranetwork host and make it so that if we SSH to the world host at port 4444 that we will be ssh-ing to our intranetwork host, bypassing the router.

On I execute the following:

$ ssh -R 4444:localhost:22 -ldiffuser

On my world-accessible host I log in with “diffuser”, and the forwarding is set up.

On I can ssh to localhost:4444 and connect as internaluser with ease:

$ ssh localhost -p 4444 -linternaluser

Due to how /etc/ssh/sshd_config has GatewayPorts set up by default I cannot connect with my home computer to my world-accessible host. I would have to restart sshd service after setting GatewayPorts=yes (by default it’s no)

Smaller mkv with ffmpeg

When you run a Plex Media Server you know that family and friends ask for specific content to be placed on it so they can watch it. It comes down that a “popular” series just finished up all 9 of their episodes and the wanted it to exist on our Plex. I was able to find the asked content, but was a bit surprised when the video content was a spectacular 1080p but the audio content defaulted to Brazilian Portuguese.

Lucky for me there was an English audio stream as well, but I felt it annoying that if I wanted to start watching this and have to swap to the secondary audio track every time. With the power of ffmpeg[static] and a couple smart command-line parameters I was able to re-make my videos with English as the default language and cut out all the unnecessary data.

Read More