RSSAmplifier

Blog

Emanuele Rocca

Recent content on Emanuele Rocca

linux.itRSS feed ↗18 posts

Latest posts

Murder Mystery: GCC Builds Failing After sbuild Refactoring

This is the story of an investigation conducted by Jochen Sprickerhof, Helmut Grohne, and myself. It was true teamwork, and we would have not reached the bottom of the issue working individually. We think you will find it as interesting and fun as we did, so here is a brief writeup. A few of the steps mentioned here took several days, others just a few minutes. What is described as a natural…

Building Debian packages The Right Way

There is more than one way to do it, but it seems that The Right Way to build Debian packages today is using sbuild with the unshare backend. The most common backend before the rise of unshare was schroot . The official Debian Build Daemons have recently transitioned to using sbuild with unshare , providing a strong motivation to consider making the switch. Additionally the new approach means: (1)…

PGP keys on Yubikey, with a side of Mutt

Here are my notes about copying PGP keys to external hardware devices such as Yubikeys. Let me begin by saying that the gpg tools are pretty bad at this. MAKE A COUPLE OF BACKUPS OF ~/.gnupg/ TO DIFFERENT ENCRYPTED USB STICKS BEFORE YOU START. GPG WILL MESS UP YOUR KEYS. SERIOUSLY. For example, would you believe me if I said that saving changes results in the removal of your private key? Well…

Enabling Kernel Settings in Debian

This time it’s about enabling new kernel config options in the official Debian kernel packages. A few dependencies are needed to run the various scripts used by the Debian kernel folks, as well as to build the kernel itself: apt install git gpg python3-debian python3-dacite apt build-dep linux With that in place, fetch the linux and kernel-team repos: git clone --depth 1…

Custom Debian Installer and Kernel on a USB stick

There are many valid reasons to create a custom Debian Installer image. You may need to pass some special arguments to the kernel, use a different GRUB version, automate the installation by means of preseeding , use a custom kernel, or modify the installer itself. If you have a EFI system, which is probably the case in 2023, there is no need to learn complex procedures in order to create a custom…

UEFI Secure Boot on the Raspberry Pi

UPDATE : this post unexpectedly ended up on Hacker News and I received a lot of comments. The two most important points being made are (1) that Secure Boot on the RPi as described here is not actually truly secure. An attacker who successfully gained root could just mount the firmware partition and either add their own keys to the EFI variable store or replace the firmware altogether with a…

EFI and Secure Boot Notes

To create a bootable EFI drive to use with QEMU, first make a disk image and create a vfat filesystem on it. $ dd if=/dev/zero of=boot.img bs=1M count=512 $ sudo mkfs.vfat boot.img By default, EFI firmwares boot a specific file under /efi/boot/ . The name of such file depends on the architecture: for example, on 64 bit x86 systems it is bootx64.efi , while on ARM it is bootaa64.efi . Copy…

Disposable Debian VMs with debvm

Some notes on using debvm , an amazing piece of software I’ve started using only recently. Create a new virtual machine: $ debvm-create You now have a virtual machine with Debian Sid of your host native architecture (probably amd64). The image file is called rootfs.ext4. You’ve got 1G of disk space in the VM. You can now just run the VM! You will be automatically logged is as root. $ debvm-run…

Running Any Distro on Debian

All graybeard hackers know that: (1) Docker is silly, and (2) containers are very useful. This post is about running pretty much any Linux distribution on top of a Debian host using chroots, which technically speaking aren’t containers but for my purposes pretty much are. The chroot can be used in a disposable fashion or it can be instructed to persist any modifications made to the filesystem. The…

Testing Debian Python Packages with Autopkgtest

In the past few years autopkgtest established itself as the system for automated testing of Debian packages. Although there is good documentation available, both in terms of the command itself and the details about writing tests , I often have to look around and copy-paste code to add automated testing to Python libraries. For this reason, I’m dropping a few notes here. They’re surely going to be…

Debugging production: the LIAR method

The release of DTrace in 2005 marked a turning point in the world of UNIX systems when it comes to production analysis, and more in general it greatly helped the process of understanding what’s going on under the covers by means of dynamic tracing. Various systems inspired by DTrace have been developed throughout the years, including SystemTap and bpftrace . Although these systems differ in…

certbot renew: An authentication script must be provided

For a personal project of mine I’ve been using a wildcard TLS certificate issued by Let’s Encrypt. certbot made the process of creating the certificate extremely easy, I just had to apt install certbot and then run the following command, duly copy-pasted from the Internet: certbot --manual certonly --agree-tos --email ema@example.org --preferred-challenges=dns -d '*.example.org' The command gave…

Lessons learned from a 27 years old UNIX book

One of the Amazon reviewers of 'Sun Performance and Tuning: Java and the Internet' gave it 3/5 stars. While still a nice introduction, the book by Adrian Cockcroft has become dated — claimed Roland in 2003, which believe it or not was 18 years ago. The book Roland reviewed was published in 1998, and it is a second edition. The first edition (1994) has a significantly different title: ' Sparc &…

The alternative to wpa_supplicant

As of December 2020, there is an alternative to wpa_supplicant. It works. It’s called iwd , iNet Wireless Daemon, and you can use it on Debian systems today. Now, if you use Linux and you’ve never heard of wpa_supplicant before, you are a lucky person. Starting some weeks ago, all my videoconferences got interrupted after a few minutes, ping example.org said 'not today', and I was sad. Looking at…

A brief introduction to SystemTap

SystemTap allows to instrument Linux systems at runtime. By using it, you can gather insights about running programs, including the Linux kernel itself, without invoking them in specific ways, modifying them, or indeed even having access to their source code. On Debian systems and derivatives, including Ubuntu, get started with SystemTap by installing the systemtap package as well as the Linux…

(untitled)

Contacts, LOL so 90s. E-mail: ema@linux.it . My PGP key is 0x50FDB7A3 , and this is the full fingerprint if you want to verify it: 9545 9696 1928 1C17 FFAC 5891 D508 5A07 50FD B7A3 . IRC: ema on OFTC and Libera Mastodon: @ema @ fosstodon.org Twitter: @realEmaRocca GitHub: https://github.com/ema/

(untitled)

Emanuele Rocca. Packages Not Using The Default Build Flags: A Taxonomy . DebConf25, IRISA, Jul 2025, Brest, France. pp.4. G. Pierre, T. Kielmann, E. Rocca, K. Razavi, B. IJff, H. Fernandez, R. Figueiredo, A. Uta, A. Vintila, A. Oprescu, T. Schuett, M. Berlin, M. Artac, A. Cernivec, ConPaaS: An Integrated Runtime Environment for Elastic Cloud Applications , in: HPDC (Poster), 2013. My Erdős number…

(untitled)

Packages not using the default build flags: a taxonomy ( slides , video ) 2025-07-15, Debconf 25, Brest, France Enabling Architectural Features in Debian: PAC and BTI on arm64 ( slides , video ) 2025-02-02, FOSDEM 25, Brussels, Belgium Debian Live ( slides , video ) 2024-10-12, Mini-debconf, Cambridge, United Kingdom Hardware Enablement in Debian: Lenovo Thinkpad X13s ( slides , video ) 2023-11-25,…