Linux

Svg Vector Icons : http://www.onlinewebfonts.com/icon

Build A MMIO Booting Debian VM Out Of Cloud Images

As you might be aware of, I am working on a minimal BSD/UNIX system called smolBSD. It is based on the NetBSD operating system, and its main target is virtual machines, more specifically microvms. This system is capable of fully booting the OS in less than one second using a specially trimmed kernel along with small, specialized root systems.
I was stunned to learn (but am I wrong?) that this work does not seem to have an equivalent, not even in the Linux world. FreeBSD Firecracker support sure permits to boot a kernel is about the same time my NetBSD hacked kernel does, but there’s no work around s slim and task dedicated root filesystem.

LG-43SQ700S-W DPMS Wake

I got myself a brand new 43 inches monitor, it’s amazing, the visual comfort is life changing.
It all worked pretty much immediately except one little annoying thing: 9 times out of 10, when putting the monitor to sleep with xset dpms force off and waking it up by hitting a key, it would not detect the HDMI signal for about the 30 longest seconds ever.

I finally found that if I change from X11 to the console (Ctrl-Alt-F1 then Ctrl-Alt-F7), it would detect the signal instantly. I suspected that a simple resolution change would do the trick, but changing resolution would also mess the windows positions. Fortunately, here’s what xrandr saw:

Build a Single in Tree Linux Kernel Module (Debian & Clones)

How misleading and complicated this task should be that I’m writing such an article in 2022?
Anyway, if you struggle compiling a simple, standalone Linux kernel module on Debian, Ubuntu, Mint and the like, here’s the recipe:

  • Fetch linux-source-<version> and linux-headers-<version>
$ sudo apt install linux-source-5.4.0 linux-headers-$(uname -r)

Do not use apt-get source linux-source-<version>, only pain will you find.

  • Untar the fetched archive where you’d like
$ tar jxvf /usr/src/linux-source-5.4.0.tar.bz2
  • Copy your current kernel configuration
$ cd linux-source-5.4.0
$ cp /boot/config-$(uname -r) .config
  • Prepare the build environment
$ make oldconfig scripts prepare modules_prepare
  • Copy current kernel exported symbols file
$ cp /usr/src/linux-headers-$(uname -r)/Module.symvers .
  • Build the module you need
$ make -C . M=arch/x86/kvm
  • Test it
$ sudo insmod arch/x86/kvm/kvm-intel.ko

Eventually backup the current loaded module (modinfo <module>), replace it with your freshly built one and don’t forget to depmod -a.

Migrating Debian Wheezy to LMDE

My “mediacenter”, a small x86 machine plugged to the living-room TV was a diskless (PXE/NFS root) Debian Wheezy until the past week end. After having tried Linux Mint on a laptop of mine and being impressed by its integration quality, I decided to migrate my mediacenter to LMDE.

I did not reinstalled the system, mainly because Mint does not support debootstrap, instead I followed a couple of HOWTOs I found on their forums: this one and this one.

Mounting UFS2 read/write on Linux

I recently had the need to mount an UFS2 (NetBSD) partition under GNU/Linux, and while this is surprising, a standard Linux distro, Debian in my case, is not able to mount it in read/write mode.

I came across this project https://github.com/DanielO/fuse-ufs2 which has basic UFS2 read/write support. It is not very stable, I made it crash a couple of times while using vim on the mounted partition, but it does support simple operations like cp, rm and such.

Flaix, la formule anti-aigr'

Le retour de l’île est toujours un moment difficile. Lorsqu’on a passé deux semaines dans la joie, la fête, parmi les siens, baigné dans une culture aux antipotes de la jérémiade permanente, revenir au pays qui a fait de la plainte son leitmotiv est psychologiquement très angoissant. Une conséquence de cette aversion, c’est que pendant plusieurs semaines, je serai totalement imperméable, voire volontairement réfractaire à l’information politique et sociale. Cette façon de présenter l’actualité, plaintive à outrance, me fatigue et n’aide pas à l’atterrissage en douceur tant le choc culturel est immense. L’autre conséquence, c’est que je prépare mon départ définitif, très probablement dans l’une des deux capitales de la péninsule. Cette migration n’aura probablement pas lieu avant plusieurs années, je ne m’étendrai donc pas plus, je la prépare, c’est tout.

Front de Liberation du SON

Comme je le disais il y a quelques jours sur GCU, les sirènes d’OSSv4 me charment depuis quelques mois, épuisé que je suis de me battre avec les differents framework sonores “““modernes””” apparus sous GNU/Linux depuis quelques années. Et bien ça y est, j’ai sauté le pas. Et comme prévu, ce passage est une véritable sinécure.

Résumé des opérations :

Et c’est tout. Si. Pas de vim .asoundrc aux conditions délirantes, pas de “perfect setup” aux 1001 actions, non, juste ça marche.

Au feu, tournez à gauche

Pour des raisons évidentes, j’ai décidé de rendre un peu moins aisée (i.e. pas immédiate) la découverte de mon IP. Plus précisemment, pour certains protocoles et pour certaines machines, je veux que l’IP vue par mon/mes peers ne soit pas directement l’IP que mon fournisseur d’accès m’affecte.

J’ajoute, mais cela n’a evidemment aucun rapport avec cet article, que certains pays intellectuellement plus développés ont recemment confirmé que le partage de fichiers sur le réseau n’était pas illégal sur leur sol.

pkgin 0.3.0 dans ton wip

Pkgin 0.3.0 voit -enfin- le jour. Pas de changements fondamentaux dans le code de gestion d’install/upgrade mais plutot une tripotée de petits fixes issus d’utilisateurs-hackers autour du globe. Dans le désordre :

. Basculement vers autoconf pour la génération du Makefile . Correction du bug d’affichage en console . Pas mal de fixes autour de la standardisation des variables . Le lookup du pkg_summary en bz2 ou gz est désormais automatique . Gros ménage des conditions pour opensolaris . substitution de variables dans repositories.conf ($arch et $osrelease) . De traditionnels bugfixes . Portage -encore un peu hors des clous- pour SunOS 5.8

OpenSolaris nfs client: &quot;permission denied&quot;

Petite astuce, ça evitera de chercher trop loin. J’ai constaté que, par defaut, mon desktop OpenSolaris ne parvenait pas à lister le contenu d’un serveur NFS situé sur une Debian GNU/Linux testing.

Quelques recherches m’ont conduit sur ce thread ou l’on comprend que l’implémentation de NFSv4 n’est pas encore totalement synchro entre Linux et Solaris. Ainsi, il suffit de modifier la valeur de NFS_CLIENT_VERSMAX dans le fichier /etc/default/nfs sur le client OpenSolaris de cette façon :