├── .github ├── dependabot.yml └── workflows │ └── ci.yaml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSES └── MPL-2.0.txt ├── README.md ├── blsctl ├── Cargo.toml └── src │ ├── lib.rs │ └── main.rs ├── blsforme ├── Cargo.toml ├── boot.json └── src │ ├── bootenv.rs │ ├── bootloader │ ├── mod.rs │ └── systemd_boot │ │ ├── interface.rs │ │ └── mod.rs │ ├── entry.rs │ ├── file_utils.rs │ ├── kernel.rs │ ├── lib.rs │ ├── manager.rs │ └── os_release.rs ├── crates └── topology │ ├── Cargo.toml │ ├── src │ ├── disk │ │ ├── builder.rs │ │ ├── device.rs │ │ ├── mod.rs │ │ ├── mounts.rs │ │ └── probe.rs │ └── lib.rs │ └── tests │ ├── btrfs_gpt_lvm_on_luks.rs │ ├── btrfs_gpt_lvm_on_luks │ ├── dev │ │ ├── dm-0 │ │ ├── dm-1 │ │ ├── mapper │ │ │ ├── BogusInstall-root │ │ │ ├── bogusroot │ │ │ └── control │ │ ├── sda │ │ └── sda1 │ ├── proc │ │ └── self │ │ │ └── mounts │ └── sys │ │ ├── class │ │ └── block │ │ │ ├── dm-0 │ │ │ ├── dm-1 │ │ │ ├── sda │ │ │ └── sda1 │ │ └── devices │ │ ├── pci0000:00 │ │ └── 0000:00:14.0 │ │ │ └── usb3 │ │ │ └── 3-2 │ │ │ └── 3-2.1 │ │ │ └── 3-2.1.1 │ │ │ └── 3-2.1.1:1.0 │ │ │ └── host0 │ │ │ └── target0:0:0 │ │ │ └── 0:0:0:0 │ │ │ └── block │ │ │ └── sda │ │ │ └── sda1 │ │ │ └── partition │ │ └── virtual │ │ └── block │ │ ├── dm-0 │ │ └── slaves │ │ │ └── sda1 │ │ └── dm-1 │ │ └── slaves │ │ └── dm-0 │ ├── ext4_gpt.rs │ └── ext4_gpt │ ├── dev │ ├── nvme0n1 │ ├── nvme0n1p1 │ ├── nvme0n1p2 │ └── nvme0n1p3 │ ├── proc │ └── self │ │ └── mounts │ └── sys │ ├── class │ └── block │ │ ├── nvme0n1 │ │ ├── nvme0n1p1 │ │ ├── nvme0n1p2 │ │ └── nvme0n1p3 │ └── devices │ └── pci0000:00 │ └── 0000:00:06.0 │ └── 0000:02:00.0 │ └── nvme │ └── nvme0 │ └── nvme0n1 │ ├── nvme0n1p1 │ └── partition │ ├── nvme0n1p2 │ └── partition │ └── nvme0n1p3 │ └── partition ├── rustfmt.toml └── test ├── dev ├── disk │ └── by-partuuid │ │ └── 0698393a-b99a-4919-9770-64f56d1c0177 ├── nvme0n1p1 ├── nvme0n1p2 └── nvme0n1p3 └── sys └── firmware └── efi └── efivars ├── LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ├── LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ├── LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ├── LoaderFeatures-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ├── LoaderFirmwareInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ├── LoaderFirmwareType-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ├── LoaderImageIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ├── LoaderInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ├── LoaderTimeExecUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f └── LoaderTimeInitUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/.github/workflows/ci.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSES/MPL-2.0.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/LICENSES/MPL-2.0.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/README.md -------------------------------------------------------------------------------- /blsctl/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsctl/Cargo.toml -------------------------------------------------------------------------------- /blsctl/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsctl/src/lib.rs -------------------------------------------------------------------------------- /blsctl/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsctl/src/main.rs -------------------------------------------------------------------------------- /blsforme/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/Cargo.toml -------------------------------------------------------------------------------- /blsforme/boot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/boot.json -------------------------------------------------------------------------------- /blsforme/src/bootenv.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/bootenv.rs -------------------------------------------------------------------------------- /blsforme/src/bootloader/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/bootloader/mod.rs -------------------------------------------------------------------------------- /blsforme/src/bootloader/systemd_boot/interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/bootloader/systemd_boot/interface.rs -------------------------------------------------------------------------------- /blsforme/src/bootloader/systemd_boot/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/bootloader/systemd_boot/mod.rs -------------------------------------------------------------------------------- /blsforme/src/entry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/entry.rs -------------------------------------------------------------------------------- /blsforme/src/file_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/file_utils.rs -------------------------------------------------------------------------------- /blsforme/src/kernel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/kernel.rs -------------------------------------------------------------------------------- /blsforme/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/lib.rs -------------------------------------------------------------------------------- /blsforme/src/manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/manager.rs -------------------------------------------------------------------------------- /blsforme/src/os_release.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/blsforme/src/os_release.rs -------------------------------------------------------------------------------- /crates/topology/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/Cargo.toml -------------------------------------------------------------------------------- /crates/topology/src/disk/builder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/src/disk/builder.rs -------------------------------------------------------------------------------- /crates/topology/src/disk/device.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/src/disk/device.rs -------------------------------------------------------------------------------- /crates/topology/src/disk/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/src/disk/mod.rs -------------------------------------------------------------------------------- /crates/topology/src/disk/mounts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/src/disk/mounts.rs -------------------------------------------------------------------------------- /crates/topology/src/disk/probe.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/src/disk/probe.rs -------------------------------------------------------------------------------- /crates/topology/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/src/lib.rs -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/tests/btrfs_gpt_lvm_on_luks.rs -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/dm-0: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/dm-1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/dm-1 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/mapper/BogusInstall-root: -------------------------------------------------------------------------------- 1 | ../dm-1 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/mapper/bogusroot: -------------------------------------------------------------------------------- 1 | ../dm-0 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/mapper/control: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/sda: -------------------------------------------------------------------------------- 1 | ../../ext4_gpt/dev/nvme0n1 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/sda1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/tests/btrfs_gpt_lvm_on_luks/dev/sda1 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/proc/self/mounts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/tests/btrfs_gpt_lvm_on_luks/proc/self/mounts -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/sys/class/block/dm-0: -------------------------------------------------------------------------------- 1 | ../../devices/virtual/block/dm-0 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/sys/class/block/dm-1: -------------------------------------------------------------------------------- 1 | ../../devices/virtual/block/dm-1 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/sys/class/block/sda: -------------------------------------------------------------------------------- 1 | ../../devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.1/3-2.1.1/3-2.1.1:1.0/host0/target0:0:0/0:0:0:0/block/sda -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/sys/class/block/sda1: -------------------------------------------------------------------------------- 1 | ../../devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.1/3-2.1.1/3-2.1.1:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.1/3-2.1.1/3-2.1.1:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1/partition: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/sys/devices/virtual/block/dm-0/slaves/sda1: -------------------------------------------------------------------------------- 1 | ../../../../pci0000:00/0000:00:14.0/usb3/3-2/3-2.1/3-2.1.1/3-2.1.1:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1 -------------------------------------------------------------------------------- /crates/topology/tests/btrfs_gpt_lvm_on_luks/sys/devices/virtual/block/dm-1/slaves/dm-0: -------------------------------------------------------------------------------- 1 | ../../dm-0 -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/tests/ext4_gpt.rs -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/dev/nvme0n1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/tests/ext4_gpt/dev/nvme0n1 -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/dev/nvme0n1p1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/tests/ext4_gpt/dev/nvme0n1p1 -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/dev/nvme0n1p2: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/dev/nvme0n1p3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/proc/self/mounts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/crates/topology/tests/ext4_gpt/proc/self/mounts -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/sys/class/block/nvme0n1: -------------------------------------------------------------------------------- 1 | ../../devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0/nvme0n1 -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/sys/class/block/nvme0n1p1: -------------------------------------------------------------------------------- 1 | ../../devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0/nvme0n1/nvme0n1p1 -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/sys/class/block/nvme0n1p2: -------------------------------------------------------------------------------- 1 | ../../devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0/nvme0n1/nvme0n1p2 -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/sys/class/block/nvme0n1p3: -------------------------------------------------------------------------------- 1 | ../../devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0/nvme0n1/nvme0n1p3 -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0/nvme0n1/nvme0n1p1/partition: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0/nvme0n1/nvme0n1p2/partition: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /crates/topology/tests/ext4_gpt/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0/nvme0n1/nvme0n1p3/partition: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | edition = "2024" 2 | max_width = 120 3 | -------------------------------------------------------------------------------- /test/dev/disk/by-partuuid/0698393a-b99a-4919-9770-64f56d1c0177: -------------------------------------------------------------------------------- 1 | ../../nvme0n1p1 -------------------------------------------------------------------------------- /test/dev/nvme0n1p1: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/dev/nvme0n1p2: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/dev/nvme0n1p3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderFeatures-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderFeatures-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderFirmwareInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderFirmwareInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderFirmwareType-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- 1 | UEFI 2.70 -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderImageIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderImageIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderTimeExecUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderTimeExecUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f -------------------------------------------------------------------------------- /test/sys/firmware/efi/efivars/LoaderTimeInitUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/blsforme/HEAD/test/sys/firmware/efi/efivars/LoaderTimeInitUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f --------------------------------------------------------------------------------