Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0b2b262
Avoid sudo in assemble script
vjr Sep 23, 2026
82371aa
Avoid using sudo
vjr Sep 23, 2026
fad1e02
Really cleanup when user says "just clean"
vjr Sep 23, 2026
13c6097
Force keygen - why fail when the user or CI just wants to do it?
vjr Sep 23, 2026
1be5438
Rework to use run0 instead of podman
vjr Sep 23, 2026
a8d4b28
Merge branch 'main' into vishal/avoid-sudo
vjr Sep 23, 2026
78ca6fa
Merge branch 'main' into vishal/avoid-sudo
vjr Sep 24, 2026
a8496c9
Revert "Merge branch 'main' into vishal/avoid-sudo"
vjr Sep 24, 2026
2f24fa2
Reapply "Merge branch 'main' into vishal/avoid-sudo"
vjr Sep 24, 2026
9460923
Fix build failure due to driver module path weirdness
vjr Sep 24, 2026
aca1c6a
Merge branch 'main' into vishal/avoid-sudo
vjr Sep 26, 2026
cfefe82
Go back to using podman instead of sudo or run0
vjr Sep 26, 2026
f0cf604
Merge branch 'main' into vishal/avoid-sudo
vjr Sep 26, 2026
f08849f
Merge branch 'vishal/avoid-sudo' of github.com:elementary/os into vis…
vjr Sep 26, 2026
396fb50
Revert assemble-iso.sh changes merged in separate PR
vjr Sep 26, 2026
70232c5
Undo changes to module confs
vjr Sep 26, 2026
2f91623
Try alternate approach with sudo back in the picture
vjr Sep 26, 2026
c9f8cfc
Merge branch 'main' into vishal/avoid-sudo
vjr Sep 27, 2026
01f8584
Merge branch 'main' into vishal/avoid-sudo
vjr Sep 27, 2026
9ba915b
Add fzf to README.md runtime deps list for just chooser
vjr Sep 27, 2026
e648f91
Fix mkosi.output perms for other just recipes
vjr Sep 27, 2026
b2c0c0f
Mark some Justfile recipes private
vjr Sep 27, 2026
869ba76
Merge branch 'vishal/avoid-sudo' of github.com:elementary/os into vis…
vjr Sep 27, 2026
7450686
Hide "just genkey" recipe and update README.md
vjr Sep 27, 2026
02ba1a2
Fix "checksum-repo" and "checksum-ext" recipes CI-only failures
vjr Sep 27, 2026
45a94b9
Use sudo for checksum recipes so wide open chmod access is moot
vjr Sep 27, 2026
9f793c9
I give up so bring back the chown and chmod lines
vjr Sep 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 34 additions & 25 deletions Justfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
[private]
default:
#!/usr/bin/env bash
set -xeuo pipefail
just --choose

_do-release stream:
#!/usr/bin/env bash
sudo rm -rf mkosi.output/ && \
sudo bash -c ' \
just genkey && \
rm -rf mkosi.output/ && \
just mkosi -B --debug --profile={{stream}} --force --workspace-directory=/workspace && \
sudo PROFILE={{stream}} ./assemble-iso.sh
sudo just compress-repo
sudo chown -R "$(id -u):$(id -g)" mkosi.output
sudo chmod -R u+rwX mkosi.output
PROFILE={{stream}} ./assemble-iso.sh && \
just compress-repo && \
chown -R "$SUDO_UID:$SUDO_GID" mkosi.output && \
chmod -R u+rwX mkosi.output \
'

# Built every day from the main branch
do-daily: (_do-release "daily")
Expand All @@ -29,14 +32,16 @@ _get_timestamp:
set -euo pipefail
echo "$(cat ./mkosi.version)"

[private]
genkey:
just mkosi genkey
just mkosi genkey --force

[private]
mkosi +subcommand:
mkdir -p {{env_var('HOME')}}/.cache/mkosi-workspace
sudo mkdir -p ~/.cache/mkosi
mkdir -p ~/.cache/mkosi-workspace
mkdir -p ~/.cache/mkosi

sudo podman run --rm \
podman run --rm \
--network host \
--dns 8.8.8.8 \
--privileged \
Expand All @@ -45,16 +50,19 @@ mkosi +subcommand:
-v /dev:/dev \
-v "{{invocation_directory()}}:/work" \
-w /work \
-v "{{env_var('HOME')}}/.cache/mkosi-workspace:/workspace" \
-v ~/.cache/mkosi-workspace:/workspace \
ghcr.io/elementary/mkosi:tanit \
mkosi {{subcommand}}



clean:
just mkosi clean
sudo rm -r mkosi.tools/ mkosi.cache/ ~/.cache/mkosi/*
sudo bash -c ' \
just mkosi clean && \
rm -rf mkosi.tools mkosi.cache mkosi.output ~/.cache/mkosi ~/.cache/mkosi-workspace \
'

[private]
compress-repo:
#!/usr/bin/env bash
set -euo pipefail
Expand All @@ -70,22 +78,23 @@ compress-repo:
zstd -T0 --rm -f "${files[@]}"
ls -l "${files[@]/%/.zst}"

[private]
checksum-repo:
#!/usr/bin/env bash
set -euo pipefail
cd mkosi.output
cd mkosi.output && \
sha256sum elementary_*.efi \
elementary_*.usr-*.*.raw.zst \
> SHA256SUMS
> SHA256SUMS && \
cat SHA256SUMS

[private]
checksum-ext:
#!/usr/bin/env bash
cd mkosi.output
mkdir ext
mv {ext,driver}-*.raw.zst ext/
mv *addon.efi ext/
cd ext/
sha256sum {ext,driver}-*.raw.zst > SHA256SUMS
sha256sum *addon.efi >> SHA256SUMS
cd mkosi.output && \
mkdir -p ext && \
mv ext-*.raw.zst ext/ || true && \
mv driver-*.raw.zst ext/ || true && \
mv *addon.efi ext/ || true && \
cd ext/ && \
sha256sum ext-*.raw.zst > SHA256SUMS && \
sha256sum driver-*.raw.zst >> SHA256SUMS && \
sha256sum *addon.efi >> SHA256SUMS && \
cat SHA256SUMS
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ You'll need the following runtime dependencies:
* podman
* just
* zstd
* fzf
* systemd

Generate keys and then build with `just`
Build the OS artifacts (ISO etc.) with `just`

```bash
just genkey
just do-daily
```
Create install media with [Fedora Media Writer](https://flathub.org/en/apps/org.fedoraproject.MediaWriter) or [Impression](flathub.org/en/apps/io.gitlab.adhami3310.Impression), or boot with GNOME Boxes (>=51).
Expand Down
2 changes: 1 addition & 1 deletion assemble-iso.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ echo "Creating casper liveiso..."

mkdir -p iso_root/extra

sudo podman run --rm -it \
podman run --rm -it \
--network host \
--dns 8.8.8.8 \
-v "$(pwd)":/workspace:Z \
Expand Down
Loading