Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-1202GitHub issuePublicDecided· Out of scope

Full-disk install fails with ENOSPC when erasing ChromeOS Flex GPT containing 512-byte partitions

Reported by alexg0 · filed Aug 30, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 days ago.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
AreaOutside the audited area· Decided by agents · verified
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

Full-disk install fails with ENOSPC when erasing ChromeOS Flex GPT containing 512-byte partitionsrevision 1 · captured 2026-09-28 21:24 UTC via poll

System details

  • Reproduced on:
  • Apple MacBookAir5,2
  • Apple MacBookAir3,2
  • Previous operating system: ChromeOS Flex
  • Installation mode: Full-disk install
  • Successfully installed system after applying the workaround:
  • Omarchy 4.0.1-1
  • Linux 7.1.9-arch1-2
  • Target disk: internal Apple SATA SSD (/dev/sda)

What's wrong?

The Omarchy full-disk installer fails while erasing a disk previously used by ChromeOS Flex.

This happened independently on both a MacBookAir5,2 and a MacBookAir3,2. In both cases, removing all ChromeOS partitions before restarting the installer allowed installation to complete.

The installer reports:

Omarchy installation stopped
Installer exited with status 1

Failed phase: Installing Arch + Omarchy: [Errno 28] No space left on device

The end of the traceback is:

self.wipe_device(action.device)

File "/usr/lib/python3.14/site-packages/archinstall/lib/disk/device_handler.py"
    self._wipe_partition_path()

File "/usr/lib/python3.14/site-packages/archinstall/lib/disk/device_handler.py"
    with open(dev_path, "wb") as p:

OSError: [Errno 28] No space left on device

The SSD itself was not full. One captured example was a 233.76 GiB Apple SSD with this pre-existing ChromeOS partition table:

Device       Size    Type
/dev/sda1    225.4G  Linux filesystem
/dev/sda2     64M    ChromeOS kernel
/dev/sda3      4G    ChromeOS root fs
/dev/sda4     64M    ChromeOS kernel
/dev/sda5      4G    ChromeOS root fs
/dev/sda6    512B    ChromeOS kernel
/dev/sda7    512B    ChromeOS root fs
/dev/sda8     16M    Linux filesystem
/dev/sda9    512B    ChromeOS reserved
/dev/sda10   512B    ChromeOS reserved
/dev/sda11   512B    ChromeOS firmware
/dev/sda12    64M    EFI System

fdisk also reported:

Partition table entries are not in disk order.

The live environment had ample available space. The 100% values shown by df belonged to the read-only installer ISO and SquashFS, not the target SSD.

Steps to reproduce

  1. Install ChromeOS Flex on an Intel Mac, allowing it to create its normal GPT layout.
  2. Boot the Omarchy installer USB.
  3. Select the internal SSD.
  4. Choose the full-disk installation option.
  5. Confirm that the disk should be overwritten.
  6. The installer fails during Installing Arch + Omarchy with OSError: [Errno 28] No space left on device.

Expected behavior

A confirmed full-disk installation should remove the existing partition map and install Omarchy regardless of the previous operating system's partition layout.

Actual behavior

Archinstall appears to wipe the existing partitions individually before replacing the partition table. When it encounters one of ChromeOS Flex's 512-byte partitions, its partition-wiping write may fail with ENOSPC, aborting the installation.

That explanation is inferred from the traceback, the partition sizes, and both successful workarounds. The exact failing partition was not identified in the displayed error.

Verified workarounds

The installation succeeded after removing all existing ChromeOS partitions before retrying.

On one affected machine, after carefully confirming that /dev/sda was the internal SSD:

sgdisk --zap-all /dev/sda
wipefs -a /dev/sda
partprobe /dev/sda

On the other affected machine:

cfdisk /dev/sda

I deleted every existing ChromeOS partition, wrote the resulting empty partition table, exited, and restarted the Omarchy installation.

In both cases, the full-disk installation completed after the old ChromeOS partitions had been removed. The fact that both methods resolved the failure strongly suggests that the installer is choking on the existing ChromeOS Flex partition layout rather than the SSD actually being full.

Suggested fix

For a confirmed full-disk installation, erase the whole-disk GPT and signatures before asking Archinstall to process the old partitions, or make each per-partition wipe no larger than the partition itself.

A regression test using a ChromeOS-style GPT containing 512-byte reserved, kernel, root, and firmware partitions would cover this case.

Related issues

These cover other pre-existing partition-layout problems but do not appear to report this ChromeOS Flex full-disk ENOSPC failure:

  • #7515
  • #8358
  • #8954
View raw text
### System details

- Reproduced on:
  - Apple MacBookAir5,2
  - Apple MacBookAir3,2
- Previous operating system: ChromeOS Flex
- Installation mode: Full-disk install
- Successfully installed system after applying the workaround:
  - Omarchy 4.0.1-1
  - Linux 7.1.9-arch1-2
- Target disk: internal Apple SATA SSD (`/dev/sda`)

### What's wrong?

The Omarchy full-disk installer fails while erasing a disk previously used by ChromeOS Flex.

This happened independently on both a MacBookAir5,2 and a MacBookAir3,2. In both cases, removing all ChromeOS partitions before restarting the installer allowed installation to complete.

The installer reports:

```text
Omarchy installation stopped
Installer exited with status 1

Failed phase: Installing Arch + Omarchy: [Errno 28] No space left on device
```

The end of the traceback is:

```text
self.wipe_device(action.device)

File "/usr/lib/python3.14/site-packages/archinstall/lib/disk/device_handler.py"
    self._wipe_partition_path()

File "/usr/lib/python3.14/site-packages/archinstall/lib/disk/device_handler.py"
    with open(dev_path, "wb") as p:

OSError: [Errno 28] No space left on device
```

The SSD itself was not full. One captured example was a 233.76 GiB Apple SSD with this pre-existing ChromeOS partition table:

```text
Device       Size    Type
/dev/sda1    225.4G  Linux filesystem
/dev/sda2     64M    ChromeOS kernel
/dev/sda3      4G    ChromeOS root fs
/dev/sda4     64M    ChromeOS kernel
/dev/sda5      4G    ChromeOS root fs
/dev/sda6    512B    ChromeOS kernel
/dev/sda7    512B    ChromeOS root fs
/dev/sda8     16M    Linux filesystem
/dev/sda9    512B    ChromeOS reserved
/dev/sda10   512B    ChromeOS reserved
/dev/sda11   512B    ChromeOS firmware
/dev/sda12    64M    EFI System
```

`fdisk` also reported:

```text
Partition table entries are not in disk order.
```

The live environment had ample available space. The `100%` values shown by `df` belonged to the read-only installer ISO and SquashFS, not the target SSD.

### Steps to reproduce

1. Install ChromeOS Flex on an Intel Mac, allowing it to create its normal GPT layout.
2. Boot the Omarchy installer USB.
3. Select the internal SSD.
4. Choose the full-disk installation option.
5. Confirm that the disk should be overwritten.
6. The installer fails during `Installing Arch + Omarchy` with `OSError: [Errno 28] No space left on device`.

### Expected behavior

A confirmed full-disk installation should remove the existing partition map and install Omarchy regardless of the previous operating system's partition layout.

### Actual behavior

Archinstall appears to wipe the existing partitions individually before replacing the partition table. When it encounters one of ChromeOS Flex's 512-byte partitions, its partition-wiping write may fail with `ENOSPC`, aborting the installation.

That explanation is inferred from the traceback, the partition sizes, and both successful workarounds. The exact failing partition was not identified in the displayed error.

### Verified workarounds

The installation succeeded after removing all existing ChromeOS partitions before retrying.

On one affected machine, after carefully confirming that `/dev/sda` was the internal SSD:

```bash
sgdisk --zap-all /dev/sda
wipefs -a /dev/sda
partprobe /dev/sda
```

On the other affected machine:

```bash
cfdisk /dev/sda
```

I deleted every existing ChromeOS partition, wrote the resulting empty partition table, exited, and restarted the Omarchy installation.

In both cases, the full-disk installation completed after the old ChromeOS partitions had been removed. The fact that both methods resolved the failure strongly suggests that the installer is choking on the existing ChromeOS Flex partition layout rather than the SSD actually being full.

### Suggested fix

For a confirmed full-disk installation, erase the whole-disk GPT and signatures before asking Archinstall to process the old partitions, or make each per-partition wipe no larger than the partition itself.

A regression test using a ChromeOS-style GPT containing 512-byte reserved, kernel, root, and firmware partitions would cover this case.

### Related issues

These cover other pre-existing partition-layout problems but do not appear to report this ChromeOS Flex full-disk `ENOSPC` failure:

- #7515
- #8358
- #8954

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

Not linked to any known issue, other report or change yet.

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

  • Out of scopeDecided by agents · verified · 2026-10-09 10:10 UTC