wipe_dev() fails with ENOSPC on partitions smaller than 1024 bytes (ChromeOS GPT layouts)
Maintainer thường phản hồi trong vòng 1 ngày
@edu-ap đang làm issue này rồi.
Từ ngày 29/9/2026.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- linux, python
- Lĩnh vực
- operating-systems
Hướng nghiên cứu
Bắt đầu trong archinstall/lib/disk/device_handler.py, tập trung vào DeviceHandler.wipe_dev() và _wipe(), sau đó chạy bản tái hiện loop-device độc lập trong issue. Hoàn tất khi việc xóa các phân vùng 512 byte không còn gây ra ENOSPC, trong khi các phân vùng thông thường vẫn được ghi các số 0 lên 1024 byte.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Which ISO version are you using?
Omarchy 4.0.4 ISO, which ships archinstall 4.4 unmodified: its archinstall/lib/disk/device_handler.py is byte-identical to the 4.4 tag. The affected code is unchanged on master.
The installation log
Not available: the live session was rebooted before /var/log/archinstall/install.log was saved. There is a standalone reproduction below instead. omacom/omarchy#9246 quotes the traceback from the same failure on other machines, ending in open(dev_path, "wb") → OSError: [Errno 28] No space left on device.
describe the problem
A wipe/full-disk install of a disk previously used by ChromeOS or ChromeOS Flex fails with OSError: [Errno 28] No space left on device.
DeviceHandler.wipe_dev() calls _wipe() on every existing partition, and _wipe() writes a fixed 1024 bytes:
with open(dev_path, 'wb') as p:
p.write(bytearray(1024))
ChromeOS GPT layouts contain several 512-byte partitions (KERN-C, ROOT-C, reserved and firmware slots). The ChromiumOS disk-format reference says "Each minimal-size partition (including the C kernel and C rootfs) is only 512 bytes". Writing 1024 bytes to one of them fails after 512 bytes with ENOSPC, which aborts the installation.
Reproduction (as root, any Linux):
truncate -s 64M t.img
sgdisk -o -a 1 -n 6:100:100 t.img && sgdisk -a 2048 -n 1:2048:0 t.img # one 512-byte partition, one normal
LOOP=$(losetup -fP --show t.img)
python -c "with open('${LOOP}p6', 'wb') as p: p.write(bytearray(1024))" # OSError: [Errno 28] No space left on device
python -c "with open('${LOOP}p1', 'wb') as p: p.write(bytearray(1024))" # fine
Reproduced on Linux 6.8 (loop device) and under the Omarchy ISO's 7.2.4 kernel with an NVMe disk. Seen on real hardware on a Lenovo ThinkPad (Samsung NVMe) and on two MacBook Airs (omacom/omarchy#9246), each after ChromeOS Flex. Clearing the partition table first (wipefs -a + sgdisk --zap-all) avoids it.
A fix follows in a pull request: write min(1024, device size) bytes, taking the size from seeking to the end of the block device. On normal partitions the behaviour is unchanged (1024 bytes zeroed); on a 512-byte partition all 512 bytes are zeroed instead of raising.
- Ngôn ngữ chính
- Python
- Star
- 8.5k
- Fork
- 774
- Merge trung bình
- 1 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 26
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của archlinux/archinstall
-
Same town at timezone listĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
archlinux/archinstall#4836 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
dms profileCó thể đã có người làm @h8d13 đã nhận 6 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
archlinux/archinstall#4820 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Enrolling fido2 mid installĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
archlinux/archinstall#4603 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Create `archinstall-meta` package to tie in all dependenciesCó thể đã có người làm @VykosMolt đã nhận 38 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
archlinux/archinstall#4385 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Archinstall failĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
archlinux/archinstall#4838 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của archlinux/archinstall
Issue tương tự
-
Broken link in index.rstĐang mởdocumentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
ansys/pydpf-core#3547 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
vectorize-io/hindsight#5457 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: LangChain drops OpenAI Responses text blocks from session recordingCó thể đã có người làm @ktz03 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
volcengine/OpenViking#5806 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
HTML: <template> content is extracted as document textCó thể đã có người làm @ryanmeowy đã nhận hôm nay. Đang mởbug html
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
docling-project/docling#4714 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
APIv2 event data accepts a non-string reply and a NaN upper_boundCó thể đã có người làm @awss1i đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
freedomofpress/securedrop#7946 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày