Skip to content

projectbluefin/dakota

Repository files navigation

Bluefin

Dakotaraptor steini

Bluefin's final form.

How dare you.

-- John Bazzite

projectbluefin/dakota is built on GNOME OS. This is a prototype and not ready and may bite.

Dakorator

Status

  • Consume GNOME nightly bootc image (done)
  • Final assembly in this repo (done)

Future Layout

  • Consume GNOME buildstream definitions and apply Bluefin changes:
  • Final assembly in this repo

Goals

  • No dx image, everything in homebrew or sysexts

Missing things

  • Installation
  • Ensuring upgrades and rollbacks work

Get started

git clone https://github.com/projectbluefin/dakota.git
cd dakota
just show-me-the-future

Will build and run Bluefin in a VM. This image is based on GNOME50 so most of the desktop Bluefin changes don't work. The automation is in place though, just check back often to see progress.

Installation on Bare Metal

Rebase from existing Fedora Atomic Desktop installation

Warning

This is your friendly reminder that this is a very, VERY experimental project! Here be dragons. Read these instructions carefully.

Do note that there is no package layering here. If you have any layered packages with rpm-ostree, you will need to remove them before rebasing.

Bootloader upgrades will not work via this method, as dakota does not have bootupd or grub in its image. You will be able to update the OS with bootc update, but the bootloader will never upgrade to fix security problems and such.

Rebasing from the Fedora or CentOS based Bluefin is currently broken! Until we switch those images off of ublue-os/legacy-rechunk, you will need to perform a manual workaround to fix your groups. See below for more details.

It is possible to switch your existing installation to the new Bluefin. All you need to do is run the following command:

bootc switch ghcr.io/projectbluefin/dakota:latest

Reboot, and you will have the new Bluefin!

Fix your groups when rebasing from Fedora Silverblue

Note

This is a very hacky workaround! It is not guaranteed to work for you.

Fedora Silverblue splits their groups into 2 files: /etc/group and /usr/lib/group. /etc/group contains only your user's groups, and not any of the system groups. dakota does not have a /usr/lib/group, and as a result, things break hard.

Working around this is simple, yet annoying. First, before you boot into Bluefin, hit e on the boot entry in grub, and go to the end of the line that starts with linux. Put a space, then type in init=/bin/bash.

image

Hit f10, and you will boot into a bash shell. You now need to type the following commands:

rm -f /etc/gshadow
systemd-sysusers
exec init

Typing those commands will populate your /etc/group file with the necessary groups. exec init will boot you into Bluefin.

The composefs method (experimental backend!!!)

To install Bluefin, you first must build the image locally using just build-containerfile. Downloaded images won't work right now with bootc install, see this issue for more details.

Before you can install Bluefin to your disk, you must first create a partition layout. The layout should be as follows:

  • / (formatted as whatever you want, BTRFS subvolumes are supported)
  • /boot (FAT32 formatted, ideally 2GiB or greater for kernel storage)

You can add a separate /home partition (or BTRFS subvolume) if you desire.

Mount your partitions to a directory (e.g. /mnt) like so:

sudo mount ROOT_PART /mnt
sudo mount --mkdir BOOT_PART /mnt/boot

And then run the following command to install Bluefin to /mnt:

sudo podman run \
    --rm --privileged --pid=host \
    -it \
    -v /etc/containers:/etc/containers:Z \
    -v /var/lib/containers:/var/lib/containers:Z \
    -v /dev:/dev \
    -e RUST_LOG=debug \
    -v "/mnt:/mnt" \
    --security-opt label=type:unconfined_t \
    "ghcr.io/projectbluefin/dakota:latest" bootc install to-filesystem /mnt/mnt --composefs-backend --bootloader systemd --karg splash --karg quiet

You will then have to modify the fstab file manually to add any additional partitions post-installation, bootc install does not do it for you.

Screenshots

1 2image 3

Dakotaraptor

This Bluefin is represented by the Dakotaraptor:

Chonky_Dakosaurus_BlueFinSkin

About

The best distro, is no distro.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages