Skip to content

Instantly share code, notes, and snippets.

View ekawahyu's full-sized avatar

Eka Susilo ekawahyu

View GitHub Profile
@ekawahyu
ekawahyu / DELL Debian UEFI Install.md
Created March 17, 2025 21:09
Workaround for DELL Debian UEFI install that does not boot

Description

In most older (maybe also newer?) DELL workstations and thin clients, for example: DELL Precision T5810 and DELL Wyse 3040, Debian is not able to boot after installation is completed. This is because your workstation expects to boot from /EFI/BOOT/BOOTX64.EFI and it cannot find it. There is a way to manually configure this in Setup page and point to the correct grubx64.efi location, but for some reason it keeps trying to load from /EFI/BOOT/BOOTX64.EFI. The workaround provided here is basically renaming the grubx64.efi into BOOTX64.EFI and put it exactly where your workstation is expecting it.

Installation Example on DELL Wyse 3040

@ekawahyu
ekawahyu / Resize QEMU filesystem.md
Last active March 9, 2025 10:37
Resize QEMU filesystem using qemu-img and fdisk

Debian 12 Bookworm running on QEMU

Initially, it had qcow2 image size of 16GB, and this is how to double its size to 32GB:

host $  qemu-img resize diskimage.qcow2 +16G

Boot into Debian 12 and run fdisk with root privilege:

$ su

Ultimate Beginner's Guide to Proxmox GPU Passthrough

mirror of The Ultimate Beginner's Guide to GPU Passthrough (Proxmox, Windows 10) by /u/cjalas

>Welcome all, to the first installment of my Idiot Friendly tutorial series! I'll be guiding you through the process of configuring GPU Passthrough for your Proxmox Virtual Machine Guests. This guide is aimed at beginners to virtualization, particularly for Proxmox users. It is intended as an overall guide for passing through a GPU (or multiple GPUs) to your Virtual Machine(s). It is not intended as an all-exhaustive how-to guide; however, I will do my best to provide you with all the necessary resources and sources for the passthrough process, from start to finish. If something doesn't work properly, please check /r/Proxmox, /r/Homelab, /r/VFIO, or

@ekawahyu
ekawahyu / ST-Link-BlackMagicProbe.md
Last active December 24, 2024 00:16
Turning ST-Link v2 Clone into Black Magic Probe
@ekawahyu
ekawahyu / wifi-spectrum-analyzer.py
Created October 28, 2024 23:29
Wi-Fi Spectrum Analyzer written in Python
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import subprocess
import re
all_colors = ['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan']
plt.style.use('dark_background')
while True:
@ekawahyu
ekawahyu / subprocess_stdout_instantly.py
Last active October 7, 2024 04:52 — forked from thenger/subprocess_stdout_instantly.py
Python display subprocess stdout in real time
import os
import shlex
import subprocess
# Redirect stderr and stdout of a subprocess to the python ones
def exec_cmd_with_output(cmd):
stdoutlines = []
a_process = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in a_process.stdout:
@ekawahyu
ekawahyu / atcommand.py
Last active October 1, 2024 21:14
Resilient USB Serial AT Command - Waiting for AT Port, reconnecting feature, and exception handling
import glob
import time
import serial
import serial.threaded
import threading
import queue
# find alternative to define queue in user space, not here please
ATResponse = queue.Queue()
@ekawahyu
ekawahyu / usbdev.sh
Created June 12, 2023 17:07
Simple bash script to list of multiple USB serial devices by their name
#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]] && exit
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]] && exit
echo "/dev/$devname - $ID_SERIAL"
@ekawahyu
ekawahyu / STLink Upgrade on Apple M1.md
Last active February 25, 2025 09:47
STLink Upgrade on Apple M1
@ekawahyu
ekawahyu / msp430-gcc-4.7.0-build.sh
Last active July 18, 2023 14:45
Script to build msp430-gcc-4.7.0
#!/bin/bash
set -e
# Prerequisite for Linux (Ubuntu-based):
# sudo apt-get install libncurses-dev flex libgmp3-dev libmpfr-dev bison libmpc-dev zlib1g-dev automake build-essential libtool patch tar wget
# If you have newer texinfo in the system, please uninstall or temporarily disable it during building this script:
# sudo apt-get purge texinfo
# Prerequisite for macOS (Homebrew):