Repository navigation
Releases: fixpoint-linux/fx-init
Release list
fixpoint-linux image M3 (x86_64) — 64 MiB, with the fx-core shell
fixpoint-linux bootable image — M3 (x86_64) — the small one, with the shell
Boots fixpoint-linux under QEMU with -drive only and lands you at an
interactive fxsh prompt — fx-core's own shell, running the real fx-*
binaries. Built by fx-image (fx-init @ 48cae93).
fixpoint-m3-x86_64.raw.gz— 64 MiB raw image, gzip (~15.8 MiB on the wire)- uncompressed sha256:
bf8c703f7e13aca975e2c4a6b95173f5981bd4f20478fc94ac88bd15f5fd0879
Boot it
curl -fL -o fixpoint.raw.gz \
https://github.com/fixpoint-linux/fx-init/releases/download/image-m3/fixpoint-m3-x86_64.raw.gz
gunzip fixpoint.raw.gz
qemu-system-x86_64 -machine q35 -accel kvm -cpu host -m 2048 -nographic \
-drive file=fixpoint.raw,format=raw,if=virtioYou get fx-init: boot-ok v3, then fx> . Try fx-cat /etc/hostname,
fx-seq 1 5 | fx-sort -r, fx-ls /. Ctrl-A X quits QEMU; exit leaves the
shell.
Why this supersedes M2 and M1
M1 (64 MiB) was broken and M2 (128 MiB) was a workaround. The payload was
built Debug/unstripped — a ~47 MB store against a 32 MiB partition — so cp -a /fx/store ran out of space and init silently fell back to the ramfs store. M1
still printed boot-ok v3; it had no persistence or roll-forward. M2 simply
made the image big enough to fit the bloat.
This release fixes the cause: the payload is built with
-Doptimize=ReleaseSmall, which takes the store to 3.3 MB, so the image
fits back in 64 MiB with the disk store actually seeding. Verified on this
artifact: the store mounts, the raw file's contents change across a boot, three
boots persist at v3, and the download is ~15.8 MiB.
Provenance
| Input | Value |
|---|---|
| config | m3/config-console.dhall (config-good + the fxsh console service) |
| package set | m3/package-set.dhall |
| kernel pin | scripts/kernel-pin.txt (6.12.19-tiny, drivers built-in) |
| fx-init | 48cae93 |
| activated generation | v3 |
Early milestone: you get the shell and the supervisor; not yet a
general-purpose desktop.
fixpoint-linux image M2 (x86_64) — fx-core shell
fixpoint-linux bootable image — M2 (x86_64) — boots into the fx-core shell
A single raw disk image that boots fixpoint-linux under QEMU with -drive
only, and lands you at an interactive fxsh prompt — fx-core's own shell,
running the real fx-* commands (no recompilation). Built by fx-image
(fx-init @ ad42206).
fixpoint-m2-x86_64.raw.gz— 128 MiB raw image, gzip (~32.5 MiB on the wire)- uncompressed sha256:
1dea1346530d2c85b784d20ba49540779bd8f4fccd656ba428c01e49c4eed66e
Boot it
curl -fL -o fixpoint.raw.gz \
https://github.com/fixpoint-linux/fx-init/releases/download/image-m2/fixpoint-m2-x86_64.raw.gz
gunzip fixpoint.raw.gz
qemu-system-x86_64 -machine q35 -accel kvm -cpu host -m 2048 -nographic \
-drive file=fixpoint.raw,format=raw,if=virtioThe console reports fx-init: boot-ok v3 and then gives you fx> . Try
fx-cat /etc/hostname, fx-ls /, or fx-seq 1 5 | fx-sort -r. Ctrl-A X
quits QEMU; typing exit leaves the shell.
⚠️ image-m1 was defective — do not use it
image-m1 (64 MiB) silently failed to seed its disk store: the store is
~47 MB (the image builds its payload binaries unoptimised) but --size-mb 64
leaves only a 32 MiB partition, so cp -a /fx/store ran out of space and init
fell back to the ramfs store. It still printed boot-ok v3, so the failure was
invisible — but that image had no persistence and no roll-forward. This M2
image is 128 MiB, the seed is verified (the disk image's contents change across
a boot, and a second boot of the same disk comes up), and it is the one to use.
The underlying store bloat is a known open item.
Provenance
| Input | Value |
|---|---|
| config | m3/config-console.dhall (config-good + the fxsh console service) |
| package set | m3/package-set.dhall |
| kernel pin | scripts/kernel-pin.txt (6.12.19-tiny, drivers built-in) |
| fx-init | ad42206 |
| activated generation | v3 |
The image carries a blank primary partition, formatted by the guest on first
boot. It is an early milestone: you get the shell and the supervisor; it is not
yet a general-purpose desktop.
fixpoint-linux image M-1 (x86_64)
fixpoint-linux bootable image — M-1 (x86_64)
A single raw disk image that boots fixpoint-linux under QEMU with
-drive only: no -kernel, no -initrd, no bootloader on the host. Built by
fx-image (fx-init @ 808ea9f).
fixpoint-m1-x86_64.raw.gz— 64 MiB raw image, gzip (≈16.8 MiB on the wire)- uncompressed sha256:
6cdd27518ed2fc4dd2cbcaecbc6abfec8b0cce72eba97d52ac078ad1f7d7d2d3
Boot it
curl -fL -o fixpoint.raw.gz \
https://github.com/fixpoint-linux/fx-init/releases/download/image-m1/fixpoint-m1-x86_64.raw.gz
gunzip fixpoint.raw.gz
qemu-system-x86_64 -machine q35 -accel kvm -cpu host -m 2048 -nographic \
-drive file=fixpoint.raw,format=raw,if=virtioSerial console ends with fx-init: boot-ok v3. Ctrl-A X quits QEMU.
Provenance
| Input | Value |
|---|---|
| config | m3/config-good.dhall |
| package set | m3/package-set.dhall |
| kernel pin | scripts/kernel-pin.txt (6.12.19-tiny, all drivers built-in) |
| fx-init | 808ea9fea89a2b41cfb24030a39283045e8c0068 |
| activated generation | v3 |
The image carries a blank primary partition, formatted by the guest on first
boot (the -kernel path's semantics, packaged). It is an early milestone: the
system boots and reports its own verdict; it is not yet a general-purpose
desktop.
m5-kernel-6.12.19-tiny
Zero-module kernel: linux-6.12.19 LTS, tinyconfig base + image fragment, every disk-path driver =y (virtio_blk, ext4+jbd2/mbcache/crc16 built in). No modules tree.
m5-kernel-6.12.19-m5
Belt kernel: linux-6.12.19 LTS, tinyconfig base + image fragment, disk-path modules as =m (commit 2 flips them =y). Built in debian:stable container; deterministic tar.
m5-kernel-6.12.19-arm64
arm64 (aarch64) kernel for the lane-3 aarch64 boot path: linux 6.12.19 arm64 defconfig, Image.gz + config, zero shipped modules (all boot-path symbols =y: PL011 console, INITRD+RD_GZIP, DEVTMPFS(+MOUNT), TMPFS, EXT4, VIRTIO_BLK/PCI/MMIO). Built in debian:stable with gcc-aarch64-linux-gnu; deterministic tar flags; pin = scripts/kernel-pin-aarch64.txt.
M4 kernel artifact 7.2.7-1-default
Trimmed kernel artifact (vmlinuz + 5 modules + config) extracted from kernel-default-base-7.2.7-1.1.36.8.x86_64.rpm, pinned by scripts/kernel-pin.txt. sha256 f799a72ebfc97224249542f9c52b7b8fcc5332466a04bb872bf5d55478798320 (17933949 bytes).