Posts
4409
Following
315
Followers
470
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

EU Commission: “End encryption!”

Internet users: “End-to-end encryption!”

0
5
3

Mozilla is an advertising company now.

This seems completely normal and cool and not troublesome in any way.

Mozilla has acquired Anonym, a [blah blah blah] raise the bar for the advertising industry [blah blah blah] while delivering effective...
https://jwz.org/b/ykVg

17
10
0

Jarkko Sakkinen

Text editors of my life: 1. qedit (MS-DOS) 2. vim 3. nvim
1
0
1

Jarkko Sakkinen

WiP: Archest Linux (EXT4 + LUKS2 - LVM2): https://codeberg.org/jarkko/archest-linux/src/tag/0.1.0-rc1 Boots to login and only minor glitches still left to fixup before tagging 0.1 🐳

I like how unlayered this is, i.e. at most two subsystems layered and stack is at its heaviest a file system + LUKS2 volume (i.e. no one to many relationships). Less risk of busy file systems that cannot be unmounted at least :-)
1
0
1

Jarkko Sakkinen

There’s first time for everything and this my first time with UKI :-)

==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux -U /efi/EFI/Linux/arch-linux.efi --splash /usr/share/systemd/bootctl/splash-arch.bmp
==> Starting build: '6.9.5-arch1-1'
  -> Running build hook: [base]
  -> Running build hook: [systemd]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
  -> Running build hook: [keyboard]
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
  -> Running build hook: [sd-vconsole]
  -> Running build hook: [sd-encrypt]
==> WARNING: Possibly missing firmware for module: 'qat_420xx'
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Creating unified kernel image: '/efi/EFI/Linux/arch-linux.efi'
  -> Using cmdline file: '/etc/kernel/cmdline'
==> Unified kernel image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux -U /efi/EFI/Linux/arch-linux-fallback.efi -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: '6.9.5-arch1-1'
  -> Running build hook: [base]
  -> Running build hook: [systemd]
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
==> WARNING: Possibly missing firmware for module: 'ast'
0
0
0

Jarkko Sakkinen

Zig fluid interaction with C and C++ make it feel bit like Objective-C.

I’m experimenting if I could refurnish irssi-matrix with the idea of rendering out matrix-glib dependency, which make the barrier to improve actual features of the plugin a real pain.

To make things worse, the plugin is using a fork of matrix-glib (for good reasons tho because it not actively maintained).

I’m using the JSON parser that is part of Zig’s stdlib for the purpose. This could turn out to be something nice…

0
0
0

Jarkko Sakkinen

WiP: Archest Linux (EXT4 + LUKS2 - LVM2): https://codeberg.org/jarkko/archest-linux #arch #archlinux
0
0
0

Jarkko Sakkinen

*Since January 2023, the Zig toolchain compiles all of the C and C++ code in Uber’s Go Monorepo for Linux targets.* [1]

Quite amazing.

[1] https://www.uber.com/en-FI/blog/bootstrapping-ubers-infrastructure-on-arm64-with-zig/ #ueber #zig
0
0
2

Jarkko Sakkinen

Edited 1 year ago
I've bumped into misconception that swap is useless because computers have so much DRAM.

Not true. It is just kept relatively small (like 2GB and similar figures) because its main job is these days to provide depth in failure tolerance for near OOM situations.

Back in the day it was for "spare slow memory space", which is of course not applicable anymore.

Except: if hibernation is used it obviously need to be larger than the system memory.
1
0
1

Jarkko Sakkinen

need this for my #btrfs to #ext4 migration 🤷 https://codeberg.org/jarkko/adhoc-backup #git

#codesberg - “Probably the best git hosting in the world”

1
0
1

Jarkko Sakkinen

Found a null pointer deference in archinstall.

this flips:

root@archiso ~ # cat user_credentials.json  
{
    "!root-password": null,
    "!users": [
        {
            "!password": null,
            "sudo": true,
            "username": "jarkko"
        }
    ],
    "encryption_password": null
}

this does not flip:

root@archiso ~ # cat user_credentials.json  
{
    "!root-password": null,
    "!users": [
        {
            "!password": null,
            "sudo": true,
            "username": "jarkko"
        }
    ],
    "encryption_password": ""
}

it crashes when moving the cursor in the main menu on top of the “disk encryption”.

#arch #archlinux

1
0
1

Jarkko Sakkinen

Edited 1 year ago

Given that I want to switch back to ext4, i need to also reinstall.

I went through manually installed RPM packages, narrowed the list down to 41 most critical, and here’s what I ended up with:

aerc bat bison ccache clang cmake expect fatcat flex fzf gcc github-cli gh git gnupg hatch hyperfine irssi mc mediainfo meson mmv msmtp ncdu neovim openssl pam-u2f pass patch pwgen qemu ranger rclone ripgrep sha3sum socat strace tealdeer w3m zig zola zoxide zsh

These are mapped to Arch Linux package names. I’ll install that distribution because I can just pass that list to archinstall be back in online maybe about ~2h :-)

It goes like this:

  1. Install Arch Linux to VM and use archinstall for this.
  2. Export json.
  3. [Backup json too.]
  4. On bare metal boot from stick and pass that json to the installer and shit will just happen!

Now that I anyway have to reinstall I found out about how this works and it plain just make sense to me…

EDIT: actually 42 packages, gnupg was missing, well anyway…

0
0
0

Jarkko Sakkinen

I think I reinstall my system with #ext4.

I miss stability, simplicity, recover-ability and compatibility.

I even like journal-based approach and quota's.

And I know *in detail* how it works in the implementation.

So giving up on #btrfs for good.
2
0
1

Jarkko Sakkinen

Really started to like Woodpecker :-) Nicest CI experience so far...
0
0
0

Jarkko Sakkinen

In #kernel QA test applications made with #Rust is one of the better ideas for some time.

Cargo is almost like Docker in this context. I can just compile #BuildRoot image with #cargo baked in, and once the image boots up it can install test apps from cargo.

Super nice approach for doing something more complex than kselftest but going to podman would be over the top...

#rustlang
0
0
4

Jarkko Sakkinen

after a bit of adaptation i feel at home with #woodpecker #ci :-) #codeberg
0
0
0

Jarkko Sakkinen

Using #Storj and local #Nextcloud (one per machine) is actually quite easy:

!/usr/bin/env bash
# Taken from https://fedoramagazine.org/nextcloud-20-on-fedora-linux-with-podman/.

podman network create nextcloud-net
podman volume create nextcloud-app
podman volume create nextcloud-data
podman volume create nextcloud-db

# MariaDB
podman run --detach \
           --env MYSQL_DATABASE=nextcloud \
           --env MYSQL_USER=nextcloud \
           --env MYSQL_PASSWORD=DB_USER_PASSWORD \
           --env MYSQL_ROOT_PASSWORD=DB_ROOT_PASSWORD \
           --volume nextcloud-db:/var/lib/mysql \
           --network nextcloud-net \
           --restart on-failure \
           --name nextcloud-db \
           docker.io/library/mariadb:10

# Nextcloud
podman run --detach \
           --env MYSQL_HOST=nextcloud-db.dns.podman \
           --env MYSQL_DATABASE=nextcloud \
           --env MYSQL_USER=nextcloud \
           --env MYSQL_PASSWORD=DB_USER_PASSWORD \
           --env NEXTCLOUD_ADMIN_USER=NC_ADMIN \
           --env NEXTCLOUD_ADMIN_PASSWORD=NC_PASSWORD \
           --volume nextcloud-app:/var/www/html \
           --volume nextcloud-data:/var/www/html/data \
           --network nextcloud-net \
           --restart on-failure \
           --name nextcloud \
           --publish 8080:80 \
           docker.io/library/nextcloud:20

So no need to use Oracle cloud for this. And instances do not really need to necessarily to sync up given the user count.

0
1
1

Jarkko Sakkinen

Edited 1 year ago

I published source code for my #resume here, which is entirely made with Typst:

https://codeberg.org/jarkko/resume

I tried to take extra care properly cover everything with CC-BY-NC-SA-4.0 before publishing it.

The reason why I posted is however this nice small script that I did:

❯ cat scripts/license-photo.sh 
#!/usr/bin/env sh

exiftool \
  -XMP-xmpRights:UsageTerms="CC-BY-NC-SA-4.0" \
  -XMP-xmpRights:WebStatement="https://creativecommons.org/licenses/by-nc-sa/4.0/" \
  images/photo.jpg
exiftool images/photo.jpg | grep -E "^Usage Terms|^Web Statement"

The script injects CC-BY-NC-SA-4.0 as part of the EXIF metadata embedded to the image.

Not doing this would have caused my weird OCD symptoms and sleepless nights ;-)

Ya, and also in this my Git starts with a “merkle commit”:

❯ git log --oneline      
21f8497 (HEAD -> main, origin/main, origin/HEAD) Initial commit
a79299e 

I.e. “the empty set” is public domain and not enforced by CC-BY-NC-SA-4.0 ;-) I like licensing and security borders that are clear and visible…

1
0
0

Jarkko Sakkinen

Alacritty upstream NAK’d my install script so I created a repository for it:

https://codeberg.org/jarkko/alacritty-install

I also modified it to install the icon and desktop file by default with the perfix ~/.local .

Usage:

alacritty-install -h
usage: alacritty-install [-bhp]
-b <wayland|x11> select the rendering backend
-h               usage information
-p <prefix>      select the installation prefix (defaults to '/usr/local')

Just a convenient way to get the bleeding edge binary, which is convenient because typical Rust app is a single fat binary.

1
0
0
Show older