ChimeraOS / frzr

A deployment and automatic update mechanism for operating systems
MIT License
59 stars 14 forks source link

frzr refactor #61

Closed NeroReflex closed 2 months ago

NeroReflex commented 3 months ago

This is a frzr refactor that has been a work-in-progress for months.

Main points are:

NeroReflex commented 3 months ago

AUR will need to be fixed too, to know how check this: https://github.com/NeroReflex/chimeraos/tree/master/pkgs/frzr The 99-frzr-kernel-install.hook will ensure that each time a kernel is installed via pacman bootloader entries are regenerated.

This will make even a better experience than stock archlinux in this regard

NeroReflex commented 3 months ago

This refactor is a step forward towards https://github.com/ChimeraOS/frzr/issues/60 This also fixes https://github.com/ChimeraOS/frzr/issues/22 completely when combined with a systemd-based initramfs https://github.com/ChimeraOS/frzr/issues/38 this will need to be moved to device-quirks (it's a work-in-progress currently)

NeroReflex commented 3 months ago

Just for the record this is fully retro - compatible with older deployments. One can jump between older and newer released. The frzr kernel tool won't really work and device quirks will have to be triggered manually after the update when dowgrading. If the new image is done correctly an old frzr can jump to a newer-style image.

Samsagax commented 3 months ago

I guess you should refactor the tests so they make sense with this new overhaul. The main one is the release image retrieval process.

NeroReflex commented 3 months ago

I guess you should refactor the tests so they make sense with this new overhaul. The main one is the release image retrieval process.

I have never looked into those, maybe @ruineka is more familiar? I saw he started doing tests

ruineka commented 3 months ago

I guess you should refactor the tests so they make sense with this new overhaul. The main one is the release image retrieval process.

I have never looked into those, maybe @ruineka is more familiar? I saw he started doing tests

We just need to update the functions to match the new methods and give it dummy information and compare the result. You can take a look into tests/run.sh

NeroReflex commented 3 months ago

The main one is the release image retrieval process.

I have set up a test where the current stable is installed on a loopback device that starts as file copy of /dev/zero. If you have other ideas let me know!