8.7 KiB
title | date | lastmod | tags | showReadingTime | showWordCount | showPagination | showBreadcrumbs | feed_exclude | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
OpenBSD notes | 2023-11-29T20:33:48+0100 | 2023-12-30T22:03:53+0000 |
|
false | false | false | true | true |
These are random notes -- more or less about OpenBSD. Some may not fit here well, but they could relate to OpenBSD or similar operating systems in some way...
Get some filesystem information
$ dumpfs /dev/rsd1a
magic 19540119 (FFS2) time Thu Nov 16 21:14:34 2023
[...] (snip; lots of output...)
This can be helpful if you want to know, which filesystem you actually use on your OpenBSD box.
Create a Win95 FAT32 USB stick
When you fdisk -iy sd2
(for example) a USB stick, you usually create
one single OpenBSD partition at the 4th position. When you then
try to newfs_msdos -F 32 -L Label sd2i
the layout is gone -- happened to
me several times until I got fed up and investigated.
I don't know why that happened, but I got my way to create USB sticks, that actually work with other devices like my amateur radios that need those fancy microSD cards.
Delete the first bytes on the stick:
$ doas dd if=/dev/zero bs=1m count=1 of=/dev/rsd2c
Create the needed partition:
$ echo -n 'edit 0\n0c\n\n2048\n*\nq\n' | doas fdisk -e sd2
A short explanation (\n
is basically a newline; the Enter key):
edit 0\n
: edit the first entry (fdisk -iy sd2
would edit the 4th entry)0c\n
: selects Win95 FAT32L as file system format\n
: only hit enter and use the default [n]2048\n
: Start of the partition*\n
: Special size value -- means the remainder of the disk (like-1
on many other tools)q\n
: write MBR and quits the program
This results in a partition table like this:
$ fdisk sd2
Disk: sd2 geometry: 966/255/63 [15523840 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 0C 0 32 33 - 966 80 10 [ 2048: 15521792 ] Win95 FAT32L
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
whereas a fdisk -iy sd2
creates a table like this:
$ fdisk sd2
Disk: sd2 geometry: 966/255/63 [15523840 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
*3: A6 0 1 2 - 966 80 10 [ 64: 15523776 ] OpenBSD
Don't forget to create the file system:
$ doas newfs_msdos -F 32 -L 8GB_Stick sd2i
Packages / Ports
...because of libraries
Updating dependencies before installing (switch -U
) does help sometimes...
Can't install [package] because of libraries
$ doas pkg_add -uiU
Should fix that.
Python
ModuleNotFoundError
Install python modules with pip.
$ python3 -m pip install --user --upgrade ${example_module}
Rust
starship prompt
This is usually blocked via the rust-battery crate, as there is still no progress made on issue #19, which probably leads to no progress on issue #2267.
Though, there is a comment that disables the optional features (battery).
So the final installation of Starship looks like:
$ cargo install starship --locked --no-default-features
The compilation took about 9½ minutes.
Git
Cloudlog (server)
Cloudlog is a webapplication written in PHP that allows ham radio amateurs to log contacts online. I host my own instance on my server and I finally looked into why I never got satellites shown in SAT Timers.
I use php-fpm and it is running as the user www
. It is kind of jailed and it
cannot read /etc/ssl/cert.pem
-- so the https connections cannot be verified
and it failes at downloading the satellites infos from other websites.
I solved this by copying /etc/ssl
to /var/www/etc/ssl
via rsync, keeping file
permissions intact. I may setup a cronjob for this maybe.
$ cd /var/www
$ doas rsync -avhzrp /etc/ssl/ etc/ssl
sending incremental file list
created directory etc/ssl
./
cert.pem
ikeca.cnf
openssl.cnf
x509v3.cnf
private/
sent 155.82K bytes received 133 bytes 311.90K bytes/sec
total size is 344.08K speedup is 2.21
$ doas rcctl restart php80_fpm
php80_fpm(ok)
php80_fpm(ok)
Cloudlog (client)
Use of the online logging tool Cloudlog on my OpenBSD machine.
First off, connect the TX-500 with the computer (CAT cable) and
start rigctld
:
$ rigctld -m 2014 -r /dev/cuaU0 -s 9600 -v
I use 2014
which is actually a Kenwood TS-2000 -- but on OpenBSD hamlib is currently
at version 4.4 and the TX-500 is only available on
version ≥4.5.
For newer hamlib versions (≥4.5) use the rig 2050 like:
$ rigctld -m 2050 -r /dev/cuaU0 -s 9600 -v
In combination with Digirig I would probably use something like this, because otherwise Digirig would instantly key the transceiver:
$ rigctld -m 2014 -r /dev/cuaU0 -s 9600 --set-conf=rts_state=OFF -v
Well, I tested this on my desk at home but never used my Laptop for doing digital modes with my TX-500 though -- but I want this to be noted here just in case I should need it someday.
On another terminal start cloudlogbashcat.sh
:
$ cloudlogbashcat.sh
Now, if you open the website of your Cloudlog installation (and if you have setup your rigs) and select the radio that uses cloudlogbashcat.
Z-Shell
Where is this alias defined?
I defined an alias ls
but I forgot where it was.
$ PS4='+%x:%I>' zsh -i -x -c '' |& grep ls
There will be a lot of screen output probably.
Renaming multiple directories
$ count=1; zmv -n '*' '$f[1,4]/$((count++))-$f[12,-1]'
mv -- 2023-08-05-problems-with-apt-keys-on-my-hotspots 2023/51-problems-with-apt-keys-on-my-hotspots
mv -- 2023-08-26-dmrhost-on-a-raspberrypi4-with-openbsd-or-freebsd 2023/52-dmrhost-on-a-raspberrypi4-with-openbsd-or-freebsd
mv -- 2023-09-16-openbsd-current-built-from-source 2023/53-openbsd-current-built-from-source
Moves subdirectories into other folder structure with a counting variable.
$ count=16; zmv -Q '*(/)' '$((count++))-$f[12,-1]'
mv -- 2021-08-08-win10-grub2-and-uefi 16-win10-grub2-and-uefi
mv -- 2021-08-12-running-n1mm-logger-on-linux 17-running-n1mm-logger-on-linux
mv -- 2021-10-03-winlink-and-vara-on-linux 18-winlink-and-vara-on-linux
mv -- 2021-10-03-wordlist-generation 19-wordlist-generation
mv -- 2021-10-26-processes-accessing-mountpoints 20-processes-accessing-mountpoints
That was the second part, counting from where we stopped from the previous directory.
There was a draft post left in 2022
which I deleted, now I had to renumber the folders
from 28-*
to 34-
to a number lower by 1.
$ for i in {29..34}; do zmv -n -W $i'*' $((--i))'*'; done
mv -- 29-using-nfs-on-a-raspberry-pi 28-using-nfs-on-a-raspberry-pi
mv -- 30-vpn-tunnel-into-hamnet-on-fedora-36 29-vpn-tunnel-into-hamnet-on-fedora-36
mv -- 31-winlink-on-linux-fix-invalid-handle-on-logfiles 30-winlink-on-linux-fix-invalid-handle-on-logfiles
mv -- 32-hamnet-on-the-pfsense 31-hamnet-on-the-pfsense
mv -- 33-changing-network-metrics-on-linux 32-changing-network-metrics-on-linux
mv -- 34-change-git-submodule-url 33-change-git-submodule-url
So, there is still one post left that is actually a draft post and I'd like to remove the leading number from that directory.
$ zmv -n -W '59-*' '*'
mv -- 59-pat-winlink-on-openbsd pat-winlink-on-openbsd
Concatenate sound files (.wav)
$ sox *.wav one-big-soundfile.wav
cat *.wav > bigfile.wav
works too, but different. That would put all
audio files into separate streams at the output file whereas sox
appends one file after another in the big output file.