Skip to content

Instantly share code, notes, and snippets.

View theodric's full-sized avatar
🎯
Shoobydoowop

theodric theodric

🎯
Shoobydoowop
View GitHub Profile
@theodric
theodric / lvm-crypt-resize.txt
Last active April 5, 2024 13:14
Resize encrypted LVM
IN SHORT:
0. increase size of outermost container (grow qcow2, dd disk to larger disk, etc.)
1. increase size of partition containing the encrypted volume set (cfdisk, fdisk, etc.)
2. unlock encrypted volume
3. grow LVM "physical volume"
4. grow LVM "logical volume"
5. check filesystem
6. grow filesystem
7. tidy up and test.
@theodric
theodric / zyxel_nr7101_setup_hacks_tips_and_tweaks.txt
Last active March 16, 2024 22:05
Zyxel NR7101 setup/hacks/tips and tweaks
0. Don't have a SIM card in when you're updating radio firmware or it will bomb out partway through as it changes from internal IP to IP passthrough
1. Disable external IP passthrough mode: Network Setting -> Broadband -> Cellular APN -> #1 -> Modify icon -> "IP Passthrough" slider to off
2. Use "management" Wi-Fi AP as general Wi-Fi AP (with limitations) -> Network Setting -> Bridge1 -> Modify icon -> Move the Wi-Fi AP interface to the pane on the right alongside LAN1
NOTE: by default, once you do the above, the router will happily pass traffic from devices on the Wi-Fi AP to other devices on the LAN1 subnet, but will block traffic originating from the Wi-Fi AP from exiting to the Internet via the LTE side of the device. You can clumsily hack around this by setting another device, e.g. another Wi-Fi AP or Raspberry Pi or Cray supercomputer, as the default gateway for the LAN1 subnet in your DHCP server config, and pointing *that* device at the Zyxel as *its* default GW. This adds additional hops, but enabl
@theodric
theodric / audible-convert-notes.txt
Created March 13, 2024 15:03
Convert YOUR OWN Audible books to MP3 for use on other devices AS YOU ARE LEGALLY ENTITLED TO DO, SO FUCK OFF AMAZON, SUCK MY BALLS
pip install audible-cli # no need to clone, but it lives here: https://github.com/mkb79/audible-cli
audible quickstart # follow the instructions and log into your Audible account
audible activation-bytes # get the activation bytes required to decrypt the file in ffmpeg
audible download --all --aax-fallback # optional - download your entire library in 'classic' AAX format, which is crackable
ffmpeg -activation_bytes XXXXXXXX -i audiobook.aax audiobook.mp3 # where XXXXXXXX are your 'activation bytes'
## or if you like using tools that are no longer maintained, try AAXtoMP3 https://github.com/KrumpetPirate/AAXtoMP3.git
# AAXtoMP3 --authcode XXXXXXXX -e:mp3 --chaptered --level 4 --loglevel 1 *.aax
@theodric
theodric / kvm-passthrough-notes
Last active March 9, 2024 13:17
Notes on device passthrough configuration for KVM hosts
2024 ADDENDUM TO BELOW NOTES:
1. I have found that the linux-amd-znver3 kernel reliaby works for passthrough, initializing devices in a sane order and respecting boot-time blacklist kernel args https://aur.archlinux.org/packages/linux-amd-znver3
2. I have since managed to get the Nvidia RTX A2000 12GB working in passthrough with a few different settings which I will document here Real Soon Now, I Swear™.
3. The RTX 4000 SFF Ada Generation 20GB works as a drop-in replacement for the A2000.
4. Stability is not guaranteed - I don't know what to blame, but it's infrequent enough (i.e. one crash every few months) that I haven't spent time on it.
5. I have recently transitioned away from Arch to openSUSE Tumbleweed, which works out-of-the-box as a passthrough host and does not constantly break.
6. I am separately maintaning a variant of the linux-amd-znver3 and linux-amd-znver2 configs which have been tweaked to work on openSUSE. I can share these or even provide builds if there is interest.
2022 NOTES - FULLY WOR
@theodric
theodric / steam-deck-arch-chroot.txt
Last active December 26, 2023 13:16
Setting up an Arch chroot environment on the Steam Deck, then using as NOT a chroot environment
## So you want to use stuff like 'tmux' and 'lolcat' on the Steam Deck, but they haven't been included in the base OS?
# One way to do it is this.
# 1. setup a chroot environment so there is a file structure in which Pacman can download/unpack packages and their dependencies.
# 2. don't use it as a chroot environment; rather, add the various /bin directories inside it to your $PATH, and create an /etc/ld.so.conf.d/deck-local-arch.conf to permit the bins to find the libs they need.
mkdir -p ~/.local/packer
cd ~/.local
#these steps are required, or else the pacstrap will fail with 'marginal trust' errors
pacman -Sy archlinux-keyring
pacman-key --populate archlinux
@theodric
theodric / pi5-notes.txt
Created December 20, 2023 23:50
Raspberry Pi 5 notes
#stop bitching about PSU
usb_max_current_enable=1
#enable PCIe header & PCIe v3 support
dtparam=pciex1
dtparam=pciex1_gen=3
@theodric
theodric / alpine.txt
Last active December 10, 2023 14:50
Alpine Linux basic setup
apk add nano udev tmux htop curl sntpc
/etc/init.d/udev start #test
rc-update add udev default
rc-update add local default
# create files e.g. /etc/local.d/rc-local.start
#
## this is peculiar to the picm4 with 200MHz dynamic downclock, which induces several seconds per second of clock drift. Sync with a local NTP server every 5 seconds of server time, ~10-15 seconds realtime, to keep things more-or-less in line.
echo sntpc -i5 -v -d 10.10.11.202 > /etc/local.d/3-fixtime.start && chmod +x /etc/local.d/3-fixtime.start
## NOTE: files apparently have to end in .start or they will not be executed
## NOTE: commands have to exit or daemonize, or 'local' will fail to finish initialization and subsequent attempts to reboot will fail!
@theodric
theodric / spot-unfuck.txt
Created December 6, 2023 19:17
macOS Spotlight fuckup - not finding applications in /System/Applications, etc.
Run the following in a terminal:
sudo mdutil -Ea
sudo mdutil -ai off
sudo mdutil -ai on
Alternatively, use Automator to create an Application with a Run Shell Script Action containing the above and put it somewhere it's easy to access.
@theodric
theodric / debian-setup.sh
Last active November 12, 2023 18:50
Minimum setup script for Debian 10+
#!/bin/bash
wget https://archive.raspbian.org/raspbian.public.key -O - | sudo apt-key add -
echo deb http://archive.raspbian.org/raspbian wheezy main contrib non-free >> /etc/apt/sources.list
apt update; apt install nano tmux htop hdparm sudo net-tools whois cmatrix cowsay fortune-mod sysvinit-utils nfs-common nfs-kernel-server openssh-server systemd-sysv avahi-daemon wget curl unar gnupg2 sdparm plocate git build-essential mosquitto-clients iftop iperf3 iperf lshw mosh lynx links ncdu rsync sysstat hd-idle fwupd
## 2023-08-04 have subbed plocate in place of mlocate
curl 'https://liquorix.net/add-liquorix-repo.sh' | sudo bash && sudo apt -yf install linux-image-liquorix-amd64 linux-headers-liquorix-amd64##add liquorix bleeding-edge kernels
apt install wireguard translate-shell npm
apt install pigpio-tools gpiod rpi.gpio-common
apt install colossal-cave-adventure tfortune tfortunes fortunes-off fortunes-ga haskell-misfortune dopewars 9base fortune-anarchism display-dhammapada fortunes bsdgames bsdgames-nonfre
@theodric
theodric / openSUSE.txt
Last active November 12, 2023 18:50
openSUSE install notes
## fuck me, this distro is awesome
## like, seriously, they chose defaults that *I* would have chosen!
## and shit just, y'know, like....works
## it even comes with XScreenSaver!!!
## frfr no cap
## total lack of cap
## not even a yarmulke
## absolutely unprecedented
##
zypper update