To reinstall a machine that is managed by IPMI, you tell it to PXE boot and then power cycle. Here are my notes.
Continue readingCategory Archives: Sysadmin
Keeping Kdenlive from crashing
QT_QPA_PLATFORM=xcb kdenlive |
I don’t understand, yet, why this works, but it does. Thanks to this post
QJackCtl and Pipewire
It took me a few tries, but I finally got a passable demo/tutorial about Pipewire and QJackCtl.
Here’s the final version. Well, final for now.
Here’s the version before that that got hit by a copyright claim and thus was not visible in Canada. I chose the “auto edit” option to remove the copywritten material. I think that means that you don’t see how you can feed browser audio back into itself. I’ve not watched it since it got cut.
Here is the original Camcorder version. This was really the approach I wanted to take, with the camera picking up the same audio that I was hearing. But the video was unwatchable.
Exporting a git repo as a tarball
git archive --format=tar.gz -o ~/neptune3-ui-5.15.tar.gz 5.15 --prefix=neptune3-ui-5.15/ |
These are the options I needed. the -o says where to put the file, and the –prefix (with the / at the end) puts it in a subdir.
Unmounting inside a container
We do RPM things. Some of those RPM things need the /proc file system. Not forever, but for a short while. So we mount /proc, do something, and unmount. Which works fine.
Until we tried to do it in a container.
Continue readingCustom RPMS and meta-rpm
We are trying to enable the graphics hardware subsystem on the Raspberry Pi 4. This driver lives in mesa. The current Centos mesa.spec file does not enable the V3D Driver we need. Here are the steps I am going through to build the driver and integrate it into the meta-rpm build.
Continue readingQuerying hostnames from beaker
If you have requested a single host from beaker, the following one liner will tell the hostname for it.
bkr job-results $( bkr job-list -o $USER --unfinished | jq -r ".[]" ) | xpath -q -e string\(/job/recipeSet/recipe/roles/role/system/@value\) |
This requires jq and xpath, as well as the beaker command line packages.
For me on Fedora 33 the packages are:
- perl-XML-XPath-1.44-7.fc33.noarch
- jq-1.6-5.fc33.x86_64
- python3-beaker-1.10.0-9.fc33.noarch
- beaker-redhat-0.2.1-2.fc33eng.noarch
- beaker-common-28.2-1.fc33.noarch
- beaker-client-28.2-1.fc33.noarch
Merging root and home filesystems
Yocto takes up a lot of space when it builds. If the /home partition is 30 GB or smaller, I am going to fill it up. The systems I get provisioned from Beaker are routinely splitting their disks between / and /home. These are both logical volumes in the same volume group. This is easy to merge.
In order to merge them I find myself performing the following steps.
umount /home/ mkdir /althome |
I then modify /etc/fstab so that the /home entry is now pointing to /althome. If I have done any work in /home/ayoung (almost always) I have to copy it to the new /home partition
mount /alhome/ cp /althome/ayoung /home/ayoung |
Once the home volume has been cleared, I can reclaim the space. The following lines will vary depending on the name of the machine.
lvremove /dev/rhel_hpe-moonshot-02-c07/home lvresize -L +32.48G /dev/rhel_hpe-moonshot-02-c07/root |
I am explicitly reclaiming the size of the /home volume, which in this case is 32.48 GB.
A little bit of foresight can obviously avoid this problem; properly allocate the disks according to the workload. Requesting a machine with more disk is also an option.
But sometimes we have to fix mistakes.
Note that I use the lvdisplay command to see the names of the volumes.
In order to make use of the new space, I have to resize the file system. Since it is XFS, I use the xfs_grow command. I want the full size, so I don’t need to pass a parameter.
xfs_growfs /dev/mapper/rhel_hpe--moonshot--02--c07-root |
Jamulus Server with a Low Latency Kernel on F33
I’m trying to run a Jamulus server . I got it running, but the latency was high. My first step was to add the real time kernel from CCRMA.
CCRMA no longer ships a super-package for core. The main thing missing seems to be the rtirq package.
- installed the ccrma repo file.
- installed the real time Kernel
- Set the RT kernel as the default.
- installed the rtirq scripts rpm
- enabler the systemd module for rtirq
- rebooted
- cloned the Jamulus repo from git
- configure, built, and installed Jamulus from the sources
- added a systemd module for Jamulus
- set selinux to permissive mode (starting Jamulus failed without this)
- started Jamulus
- ensured I could connect to it
- stopped jamulus
- set selinux to enforcing mode
- restarted Jamulus from systemctl
- connected from my desktop to the Jamulus server
- Jammed
It does not seem to have much impact on the latency I am seeing. I think that is bound more by network.
Setting the Default Kernel on Fedora 33
I have a server that I want to run the Real Time Kernel from CCRMA. Once I followed the steps to get the kernel installed, I had to reboot to use it.
Rebooting on a server with a short timeout for grub is frustrating.
Since the Fedora Kernel is installed, and I want to be able to run it as a backup kernel, I had to figure out how to change the default Kernel for Grub2. Most of the docs out there assume that you can list the menu-items in the grub2 config file, but that is a thing of the past. The lines are now auto-generated from a regex match of the places where one might place the vmlinuz files.
I ended up booting the machine and looking at the grub menu, which showed three Kernels installed; two Fedora Kernels and the RT from CCRMA. The RT Kernel was the second one on the list. But Grub is 0 relative, so to set the default Kernel:
sudo grub2-set-default 1 |
The next time it booted, it was set to the RT kernel;
$ uname -r 5.10.2-200.rt20.1.fc33.ccrma.x86_64+rt |