Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
2013 MacBook Pro A1502: Apple AHCI SSD not detected, then pacstrap I/O error; cannot set libata.force=noncq
Reported by adriannoes · filed Sep 15, 2026 · open at source
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
System details
MacBook Pro 13" Late 2013 (A1502, MacBookPro11,1), Haswell/Iris 5100, APPLE SSD SM0256F (Samsung S4LN053X01 AHCI), Omarchy 4.0.3 ISO, live kernel linux-t2 7.2.3-arch1-Watanare-T2-2-t2, boot via Option → EFI Boot, no T2 chip.
What's wrong?
Intel MacBook Pro 2013 (A1502) + APPLE SSD SM0256F: live ISO cannot see the disk, then pacstrap dies with Input/output error; GRUB timeout 0 blocks libata.force=noncq
System details
- Machine: MacBook Pro 13" Late 2013, model A1502, MacBookPro11,1
- CPU / GPU: Intel Haswell, Iris 5100
- Storage: APPLE SSD SM0256F, 256 GB (233.8 GiB usable)
- Controller as seen by the live ISO:
04:00.0 SATA controller: Samsung Electronics Co Ltd S4LN053X01 AHCI SSD Controller (Apple slot) (rev 01) - Omarchy ISO: 4.0.3 (
omarchy-4.0.3.iso) - Live kernel:
linux-t2(7.2.3-arch1-Watanare-T2-2-t2) - Boot path: Apple Option menu → orange EFI Boot
- This Mac has no T2 chip. Startup Security Utility from the Intel Mac doc does not exist on this hardware.
macOS Disk Utility reported SMART Status: Verified on this SSD before the Linux attempts. The drive is healthy under macOS.
What happened
Two failures stacked. Together they made a clean install impossible from this ISO.
1. Installer aborts at disk selection because the internal SSD is not a block device
First boots showed only the USB installer in lsblk (SanDisk Cruzer Blade, ~15 GB). The Omarchy configurator then printed:
Let's select where to install Omarchy...
no options provided, see `gum choose --help`
Aborted installationThat matches disk_form() in the ISO configurator: it lists /dev/sd*, /dev/nvme*, etc., then excludes the archiso boot disk. With only the USB present, gum choose gets an empty list and aborts.
dmesg on those boots:
ahci 0000:04:00.0: AHCI vers 0001.0300, 32 command slots, 6 Gbps, SATA mode
ahci 0000:04:00.0: 1/1 ports implemented (port mask 0x1)
ata1: SATA link up 6.0 Gbps
ata1.00: qc timeout after 5000 msecs
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
ata1: SATA link up 6.0 Gbps
ata1.00: qc timeout after 10000 msecs
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
ata1: limiting SATA link speed to 3.0 Gbps
ata1: SATA link downPCI sees the Samsung Apple-slot AHCI controller. libata never finishes IDENTIFY, so there is no /dev/sdX for the internal drive.
This is the known Apple PCIe AHCI SSD behavior on 2013-2015 MacBook Pros under Linux. The usual workaround is libata.force=noncq (sometimes libata.force=noncq,3.0G) on the kernel command line, before the AHCI probe.
2. I could not pass that parameter on this ISO
/run/archiso/bootmnt/boot/grub/grub.cfg is the live boot config. The linux line is the T2 kernel with quiet splash xe.enable_panel_replay=0 initramfs_async=0.
Problems:
- GRUB timeout is effectively 0. Esc, Shift, and
enever opened the editor. Boot went straight into the keyboard-layout wizard. mount -o remount,rw /run/archiso/bootmntfailed: the ISO filesystem is write-protected.- So there is no in-place way to add
libata.force=noncqon a stock 4.0.3 stick.
The Intel Mac page documents Broadcom Wi-Fi, SPI keyboard, and NVMe suspend. It does not mention this AHCI IDENTIFY failure or how to edit live kernel args.
3. After a macOS wipe the disk appeared, then pacstrap failed on writes
From OS X Recovery Disk Utility I erased the 251 GB APPLE SSD (GUID, Mac OS Extended). A later live boot then listed:
/dev/sda (233.8G) - ATA APPLE SSD SM0256F [vfat, hfsplus]The installer accepted that disk. pacstrap then died while writing into the new root:
error: could not create directory /mnt/var/lib/pacman/local/expat-2.8.4-1/: Input/output error
==> ERROR: Failed to install packages to new rootA later retry got further (libnghttp2, libnghttp3, nettle, leancrypto) and died the same way on gnutls:
error: could not create directory /mnt/var/lib/pacman/local/gnutls-3.8.13-2/: Input/output errorSame class of failure, different package. This is not a missing package on the offline mirror. The target SSD rejects writes under this kernel.
Setting /sys/block/sda/device/queue_depth to 1 after the disk was already probed was not enough. wipefs -a /dev/sda then failed with:
wipefs: /dev/sda: cannot flush modified buffers: Input/output errorOne retry also stopped earlier with:
Luks or LvmOnLuks encryption require partitions to be definedThat looked like leftover state from the failed pacstrap, not the root cause.
What I expected
On a machine the Mac support page claims to handle, the live ISO should either:
- expose the internal Apple AHCI SSD as a block device without extra kernel args, or
- document and allow
libata.force=noncqat boot (non-zero GRUB timeout, or a second menu entry that already has that parameter).
Once the disk is visible, pacstrap should complete without Input/output errors on a drive that macOS considers SMART-verified.
Steps to reproduce
- Flash
omarchy-4.0.3.isowith balenaEtcher. - On a 2013 13" MacBook Pro A1502 with the original SM0256F, hold Option and boot the orange EFI Boot entry.
- Observe that GRUB does not stay long enough to edit the
linuxline. - Let the installer run to "Let's select where to install Omarchy".
- If the SSD was not recently reset under macOS,
lsblkshows only the USB and the installer aborts withno options provided. dmesgshowsata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)and thenSATA link down.- Wipe the SSD from OS X Recovery, reboot the same ISO. The disk may now appear as
/dev/sda. - Continue a full-disk install. pacstrap fails with Input/output error while creating directories under
/mnt/var/lib/pacman/local/.
What I tried
e/ Esc / Shift at GRUB: no editor- remounting the ISO bootfs read-write: write-protected
- OS X Disk Utility erase of the 251 GB Apple SSD
echo 1 > /sys/block/sda/device/queue_depthbefore retrywipefs -aon/dev/sda,/dev/sda1,/dev/sda2: I/O error./.automated_script.shseveral times after the first abort- install with encryption still selected after a partial layout existed
I have not yet been able to boot this ISO with libata.force=noncq on the kernel command line. Next attempt is the same 4.0.3 ISO via Ventoy from another machine, so I can pass that parameter before AHCI probes the SM0256F.
Suggested direction (not a patch)
- Add a short GRUB timeout (or an "Omarchy (Apple AHCI SSD)" entry) that includes
libata.force=noncqon the live ISO. - On Mac detection, if
lspcishows the SamsungS4LN053X01Apple-slot AHCI controller andlsblkhas no non-USB disk, print the IDENTIFY failure and the needed kernel parameter instead of an emptygum choose. - Mention this 2013-2015 Apple AHCI SSD case on the Intel Mac support page. The current auto-fixes (Broadcom, SPI keyboard, NVMe suspend) do not cover it.
- Worth checking whether shipping
linux-t2on a pre-T2 2013 Mac changes AHCI timing. I cannot isolate that without a non-T2 live kernel.
I can rerun with libata.force=noncq and report whether IDENTIFY and pacstrap both succeed.
View raw text
### System details MacBook Pro 13" Late 2013 (A1502, MacBookPro11,1), Haswell/Iris 5100, APPLE SSD SM0256F (Samsung S4LN053X01 AHCI), Omarchy 4.0.3 ISO, live kernel linux-t2 7.2.3-arch1-Watanare-T2-2-t2, boot via Option → EFI Boot, no T2 chip. ### What's wrong? ## Intel MacBook Pro 2013 (A1502) + APPLE SSD SM0256F: live ISO cannot see the disk, then pacstrap dies with Input/output error; GRUB timeout 0 blocks libata.force=noncq ### System details - Machine: MacBook Pro 13" Late 2013, model A1502, MacBookPro11,1 - CPU / GPU: Intel Haswell, Iris 5100 - Storage: APPLE SSD SM0256F, 256 GB (233.8 GiB usable) - Controller as seen by the live ISO: `04:00.0 SATA controller: Samsung Electronics Co Ltd S4LN053X01 AHCI SSD Controller (Apple slot) (rev 01)` - Omarchy ISO: 4.0.3 (`omarchy-4.0.3.iso`) - Live kernel: `linux-t2` (`7.2.3-arch1-Watanare-T2-2-t2`) - Boot path: Apple Option menu → orange EFI Boot - This Mac has no T2 chip. Startup Security Utility from the Intel Mac doc does not exist on this hardware. macOS Disk Utility reported SMART Status: Verified on this SSD before the Linux attempts. The drive is healthy under macOS. ### What happened Two failures stacked. Together they made a clean install impossible from this ISO. **1. Installer aborts at disk selection because the internal SSD is not a block device** First boots showed only the USB installer in `lsblk` (SanDisk Cruzer Blade, ~15 GB). The Omarchy configurator then printed: ``` Let's select where to install Omarchy... no options provided, see `gum choose --help` Aborted installation ``` That matches `disk_form()` in the ISO configurator: it lists `/dev/sd*`, `/dev/nvme*`, etc., then excludes the archiso boot disk. With only the USB present, `gum choose` gets an empty list and aborts. `dmesg` on those boots: ``` ahci 0000:04:00.0: AHCI vers 0001.0300, 32 command slots, 6 Gbps, SATA mode ahci 0000:04:00.0: 1/1 ports implemented (port mask 0x1) ata1: SATA link up 6.0 Gbps ata1.00: qc timeout after 5000 msecs ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4) ata1: SATA link up 6.0 Gbps ata1.00: qc timeout after 10000 msecs ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4) ata1: limiting SATA link speed to 3.0 Gbps ata1: SATA link down ``` PCI sees the Samsung Apple-slot AHCI controller. libata never finishes IDENTIFY, so there is no `/dev/sdX` for the internal drive. This is the known Apple PCIe AHCI SSD behavior on 2013-2015 MacBook Pros under Linux. The usual workaround is `libata.force=noncq` (sometimes `libata.force=noncq,3.0G`) on the kernel command line, before the AHCI probe. **2. I could not pass that parameter on this ISO** `/run/archiso/bootmnt/boot/grub/grub.cfg` is the live boot config. The `linux` line is the T2 kernel with `quiet splash xe.enable_panel_replay=0 initramfs_async=0`. Problems: - GRUB timeout is effectively 0. Esc, Shift, and `e` never opened the editor. Boot went straight into the keyboard-layout wizard. - `mount -o remount,rw /run/archiso/bootmnt` failed: the ISO filesystem is write-protected. - So there is no in-place way to add `libata.force=noncq` on a stock 4.0.3 stick. The Intel Mac page documents Broadcom Wi-Fi, SPI keyboard, and NVMe suspend. It does not mention this AHCI IDENTIFY failure or how to edit live kernel args. **3. After a macOS wipe the disk appeared, then pacstrap failed on writes** From OS X Recovery Disk Utility I erased the 251 GB APPLE SSD (GUID, Mac OS Extended). A later live boot then listed: ``` /dev/sda (233.8G) - ATA APPLE SSD SM0256F [vfat, hfsplus] ``` The installer accepted that disk. pacstrap then died while writing into the new root: ``` error: could not create directory /mnt/var/lib/pacman/local/expat-2.8.4-1/: Input/output error ==> ERROR: Failed to install packages to new root ``` A later retry got further (libnghttp2, libnghttp3, nettle, leancrypto) and died the same way on `gnutls`: ``` error: could not create directory /mnt/var/lib/pacman/local/gnutls-3.8.13-2/: Input/output error ``` Same class of failure, different package. This is not a missing package on the offline mirror. The target SSD rejects writes under this kernel. Setting `/sys/block/sda/device/queue_depth` to `1` after the disk was already probed was not enough. `wipefs -a /dev/sda` then failed with: ``` wipefs: /dev/sda: cannot flush modified buffers: Input/output error ``` One retry also stopped earlier with: ``` Luks or LvmOnLuks encryption require partitions to be defined ``` That looked like leftover state from the failed pacstrap, not the root cause. ### What I expected On a machine the Mac support page claims to handle, the live ISO should either: 1. expose the internal Apple AHCI SSD as a block device without extra kernel args, or 2. document and allow `libata.force=noncq` at boot (non-zero GRUB timeout, or a second menu entry that already has that parameter). Once the disk is visible, pacstrap should complete without Input/output errors on a drive that macOS considers SMART-verified. ### Steps to reproduce 1. Flash `omarchy-4.0.3.iso` with balenaEtcher. 2. On a 2013 13" MacBook Pro A1502 with the original SM0256F, hold Option and boot the orange EFI Boot entry. 3. Observe that GRUB does not stay long enough to edit the `linux` line. 4. Let the installer run to "Let's select where to install Omarchy". 5. If the SSD was not recently reset under macOS, `lsblk` shows only the USB and the installer aborts with `no options provided`. 6. `dmesg` shows `ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)` and then `SATA link down`. 7. Wipe the SSD from OS X Recovery, reboot the same ISO. The disk may now appear as `/dev/sda`. 8. Continue a full-disk install. pacstrap fails with Input/output error while creating directories under `/mnt/var/lib/pacman/local/`. ### What I tried - `e` / Esc / Shift at GRUB: no editor - remounting the ISO bootfs read-write: write-protected - OS X Disk Utility erase of the 251 GB Apple SSD - `echo 1 > /sys/block/sda/device/queue_depth` before retry - `wipefs -a` on `/dev/sda`, `/dev/sda1`, `/dev/sda2`: I/O error - `./.automated_script.sh` several times after the first abort - install with encryption still selected after a partial layout existed I have not yet been able to boot this ISO with `libata.force=noncq` on the kernel command line. Next attempt is the same 4.0.3 ISO via Ventoy from another machine, so I can pass that parameter before AHCI probes the SM0256F. ### Suggested direction (not a patch) - Add a short GRUB timeout (or an "Omarchy (Apple AHCI SSD)" entry) that includes `libata.force=noncq` on the live ISO. - On Mac detection, if `lspci` shows the Samsung `S4LN053X01` Apple-slot AHCI controller and `lsblk` has no non-USB disk, print the IDENTIFY failure and the needed kernel parameter instead of an empty `gum choose`. - Mention this 2013-2015 Apple AHCI SSD case on the Intel Mac support page. The current auto-fixes (Broadcom, SPI keyboard, NVMe suspend) do not cover it. - Worth checking whether shipping `linux-t2` on a pre-T2 2013 Mac changes AHCI timing. I cannot isolate that without a non-T2 live kernel. I can rerun with `libata.force=noncq` and report whether IDENTIFY and pacstrap both succeed.
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 13:47 UTC