Updating Samsung SSD Firmware on ARM

I have a Raspberry Pi 5 with a Samsung 990 EVO. Samsung released new firmware. Their official utility is x86-64 only. What now? When You Need This Samsung’s official method is booting from an ISO and running their utility. That’s not always possible: ARM systems — Raspberry Pi, Ampere, Apple Silicon, AWS Graviton. Samsung’s utility simply won’t run. Fleet updates — you have 50 servers and want to update firmware via Ansible, not run around with a USB stick. Headless servers — no physical access, SSH only. Rebooting into recovery isn’t an option. CI/CD automation — hardware provisioning before deployment, firmware as part of the pipeline. Remote management — server in a datacenter, iLO/IPMI available, but mounting an ISO and waiting is slow and inconvenient. In all these cases, you need a way to flash firmware from a running system via nvme-cli. ...

December 7, 2025 · 3 min · 497 words · Aleksei Sviridkin

November: Hardware, Libraries, and Controllers

Welcome to my new tradition: monthly recaps! This month was mostly about tackling personal backlog and closing out accumulated issues. ML310 Migration Continuing my migration from MicroServer to HP ML310e. Ran into a wall of proprietary nonsense like “you need OUR specific fan for $150”. Turns out it’s easy to fool — just short pins 4-5-6 to ground and all errors disappear. Caught some Illegal OpCode errors with the HBA controller and NIC, but disabling Optional ROM in BIOS fixed it. Not a universal solution, but I boot from USB anyway, not disks or network, so it works for me. ...

December 6, 2025 · 4 min · 746 words · Aleksei Sviridkin

10 PRs or One Giant: Choosing an Approach for Refactoring Jellyfin Helm Chart

People often ask me “how do I make my first PR?”, the answer is simple — just do it. But I want to write a series of notes about open source culture and how to make life convenient for everyone. Today we’ll look at a case I encountered yesterday, namely — multiple changes to one semi-abandoned repo. TL;DR When preparing a large refactor in an open source project: Break into small logical PRs — reduces cognitive load on reviewers Propose integration branch for coordination — allows incremental review and batch changes If in doubt, don’t hesitate to reach out to the team early — openness and communication matter Be ready for iterations — open source is about people This reduces load on reviewers and increases chances of successful merge. ...

November 5, 2025 · 8 min · 1500 words · Aleksei Sviridkin

Monthly Report: Kubernetes, Projects, and Miscellaneous

VIP for Kubernetes API Alright, time to brag a bit: I became completely disillusioned with solutions like metallb, cilium, kube-vip, etc. for announcing kube API. Also, I don’t want to do this externally. I don’t want to manage it on hosts. I don’t want to manage peer lists. Therefore, vipalived. (Won the naming contest; “lube-vip” came in second). A bit of context: Cilium replaced my kube-proxy, metallb, ingress controller, and CNI. It’s cool and optimal — previously there were several network tools, now just one. But there’s a side effect: Cilium became critically dependent on the kube API. This makes it unsuitable for VIP of the kube API itself — a vicious cycle. ...

November 4, 2025 · 6 min · 1275 words · Aleksei Sviridkin

Welcome to the Blog

Welcome to my personal blog! Here I’ll be writing about SRE, DevOps, infrastructure, and other tech topics. What to Expect Technical deep dives Infrastructure best practices DevOps workflows and automation Real-world experience from production systems Multilingual Content This blog supports both English and Russian. Use the language switcher in the header to switch between languages. Stay tuned for more content!

November 2, 2025 · 1 min · 60 words · Aleksei Sviridkin