RSSAmplifier

Blog

Home on Javier Tia's Blog

Recent content in Home on Javier Tia's Blog

jetm.github.ioRSS feed ↗19 posts

Latest posts

XFS shut down with -ENOSPC and 862 GiB free. The reservation was never initialised.

Six XFS shutdowns, six falsified hypotheses, and a filesystem that took itself down for lack of space on a half-empty disk. The evidence was destroyed by the crash that produced it, until I mapped a trace buffer across the reboot. The bug is one missing assignment in xfs_parent_da_args_init().

bakar: the wrapper Yocto teams keep writing by hand

Every embedded team ends up writing the same Makefile around kas and repo. bakar replaces it: pre-flight checks before the build starts, curated build tuning applied at run time without touching your YAML, structured per-run observability, vendor manifest translation for NXP and TI BSPs, and bitbake-setup workspace support for Yocto 5.3+ projects. Builds run in a kas-container when…

Two FOSDEM talks on the CRA, from opposite sides of the table

What I gathered from watching two FOSDEM 2026 talks on the Cyber Resilience Act: one from German IT lawyers explaining what manufacturers should do, one from the EU Commission and BSI explaining what the regulation actually requires - and what it does not require from non-commercial FOSS developers.

Extracting Sensor Calibration from Intel's AIQB Binary for libcamera

Intel ships per-sensor calibration data in proprietary AIQB binaries alongside their Windows camera drivers. Here is how to parse them to generate libcamera Simple IPA tuning files with accurate CCMs and AWB limits.

Yocto build tunables and their hidden costs

The handful of local.conf knobs that make Yocto builds usable, and the failure modes each one buys you in return.

When You're Fired, Your Next Job Is Finding a Job

One month after being laid off: navigating the first weeks - leaning on the people in your corner, moving your body, defining the search before executing on it.

Auditing your Yocto build for CRA compliance

The CRA evidence layer nobody wants to assemble, and how shipcheck drafts your Annex VII technical file from a Yocto build.

What's Next: Available for New Opportunities

After 3.5 years at Linaro I was laid off in March 2026. Here is what I have been working on and what I am looking for next.

MT7927 WiFi on Linux: Making It Work

How I got MediaTek MT7927 WiFi 7 working on Linux by reverse-engineering the MT7927 initialization, DMA ring layout, and firmware quirks - extending the existing mt7925e kernel driver with 18 patches. Now community-tested on 10+ hardware platforms across 2.4/5/6GHz with 320MHz (2+ Gbps), suspend/resume, and ASPM fixes all working. Series submitted to linux-wireless@.

MT7927 Bluetooth: From DKMS to Upstream

MT7927 Bluetooth driver patches merged into bluetooth-next - the full journey from DKMS package to upstream acceptance, including 5 revision cycles, automated review tools, and community testing across 16+ boards.

Building a Bootable Windows USB from Linux for Firmware Updates

How to build a bootable Windows 11 USB drive entirely from Linux using QEMU, UEFI Secure Boot, and qemu-img - for when your hardware vendor only ships Windows firmware tools.

Intel IPU6 Webcam on Linux: From Proprietary Stack to Mainline

How to transition an Intel IPU6 webcam (OV2740) from the out-of-tree ipu6-drivers stack to mainline kernel + libcamera on Linux 6.19, with fixes for the SoftISP AGC and AWB color pipeline.

MT7927 WiFi on Linux: Wrong Driver, Wrong Chip, No Driver

I spent a day applying the wrong kernel patches to the wrong driver for the wrong chip before figuring out that MT7927 WiFi doesn't actually work on Linux yet. Here's how MediaTek's naming burned me and what I built anyway.

Enabling MediaTek MT7927 Bluetooth on Linux: A 15-Month Journey

A technical deep-dive into enabling MT7927 Bluetooth support on Linux through kernel patches, firmware extraction, and DKMS packaging - from initial investigation to working AUR package.

About

Systems engineer specializing in upstream Linux kernel development, embedded Linux, and CI/CD infrastructure. Available for consulting.

Carta de Presentación - Capgemini Engineering

Carta de presentación para el puesto de Ingeniero Experto en Software Embebido YOCTO en Capgemini Engineering.

Javier Tia - CV

Ingeniero de Sistemas Senior especializado en desarrollo upstream del kernel Linux, Linux embebido, UEFI Secure Boot e infraestructura CI/CD.

Javier Tia - CV

Senior Systems Engineer specializing in upstream Linux kernel development, embedded Linux, UEFI Secure Boot, and CI/CD infrastructure.

Projects & Contributions

Upstream kernel patches, open source tools, 200+ merged PRs/MRs across GitHub and GitLab, and published writing on Linux internals