Posts
3460
Following
207
Followers
342
Linux kernel maintainer. Compilers and virtualization at Parity Technologies.

Jarkko Sakkinen

Edited 5 months 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”

2
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 5 months 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…

1
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
1
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 5 months 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

Jarkko Sakkinen

A true time saver ;-)

git-init-linux () {
  git config sendemail.envelopeSender "jarkko@kernel.org"
  git config sendemail.from "Jarkko Sakkinen <jarkko@kernel.org>"
  git config sendemail.sendmailCmd "/usr/bin/env msmtp"
}

Given that, I don’t want to keep this in the #global #git config.

#linux #kernel

1
1
0

Jarkko Sakkinen

My life at the free town of Codeberg (Germany) has started: https://codeberg.org/ticho/irssi-matrix/pulls/8

N=1 in PR's :-)

#codeberg #irssi
1
1
0

Jarkko Sakkinen

apparently also #irssi is hosted at #codeberg: https://codeberg.org/irssi/ #irc
1
1
2

Jarkko Sakkinen

Edited 5 months ago
#Wikipedia has a great coverage on what #Codeberg is all about:

https://en.wikipedia.org/wiki/Codeberg

I'd like to see actors like EU and Linux Foundation give some donations/funding/hosting for the sake of providing non-profit but still easy to use and competitive Git hosting for the open source ecosystem (but that is not up to me).
2
0
0

Jarkko Sakkinen

Migrating my stuff from #Github and #Gitlab to #Codeberg. The first successful CI run done. And seems to generate legit results: https://jarkko.codeberg.page/ #Woodpecker #CI
1
0
2

Jarkko Sakkinen

Edited 5 months ago

Installed gh (cli.github.com) for the sake of convenience of being able to do this:

gh release download v2.6.0 -R woodpecker-ci/woodpecker

#github #cli

0
0
0

Jarkko Sakkinen

0
0
1
Show older