Update docs for FydeOS install on eMMC, stale Flex UEFI entry removed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ergosteur
2026-09-27 12:48:39 -04:00
co-authored by Claude Opus 5.5
parent 172f5c9f75
commit c7231628b8
2 changed files with 65 additions and 25 deletions
+55 -18
View File
@@ -1,11 +1,14 @@
# ChromeOS Flex on hp-chell's internal eMMC
# ChromeOS (Flex / FydeOS) on hp-chell's internal eMMC
**Currently installed: FydeOS** (`iris` build, 2026-09-27). It replaced
ChromeOS Flex; `install-flex-emmc.sh` handles both images.
hp-chell (HP Chromebook 13 G1, MrChromebox UEFI firmware) dual-boots:
| OS | Disk | Notes |
|---|---|---|
| KDE neon | `sda`, external USB/SD card (117GB) | primary OS, owns GRUB |
| ChromeOS Flex | `mmcblk0`, internal eMMC (29GB) | installed from neon, see below |
| FydeOS (was ChromeOS Flex) | `mmcblk0`, internal eMMC (29GB) | installed from neon, see below |
Because neon lives entirely on external media, the eMMC can be wiped and
reinstalled from the running neon system with no risk to neon.
@@ -29,7 +32,11 @@ sudo ./install-flex-emmc.sh ~/Downloads/chromeos_<ver>_reven_recovery_stable-cha
- Updates the GRUB chainload entry (below) with the new EFI partition's
UUID and runs `update-grub`.
Last installed: 2026-09-27, Flex `16640.57.0` (stable, `reven`).
Install history on the eMMC:
- 2026-09-27: ChromeOS Flex `16640.57.0` (stable, `reven`). It
auto-updated to `16640.61.0` on first boot.
- 2026-09-27: **FydeOS** `FydeOS_for_PC_iris_v23.0-SP1-io.bin`
(`amd64-fydeos_iris-io`, `16700.56.23.51`), which replaced Flex.
## Why not just `dd` the image
@@ -111,7 +118,25 @@ Each of these broke an attempt during the 2026-09-27 install:
The log must not be in `/tmp` if another user owns the file (root is
denied by `fs.protected_regular`).
## Resulting layout (2026-09-27)
## Resulting layout
FydeOS (current, 2026-09-27):
```
mmcblk0 29.1G
├─mmcblk0p1 23.7G ext4 STATE
├─mmcblk0p2 16M KERN-A
├─mmcblk0p3 2.7G ext4 ROOT-A
├─mmcblk0p4 16M KERN-B
├─mmcblk0p5 2.7G ext4 ROOT-B
├─mmcblk0p6-7 512B KERN-C / ROOT-C
├─mmcblk0p8 16M ext4 OEM
├─mmcblk0p9-10 512B reserved / reserved
├─mmcblk0p11 8M RWFW
└─mmcblk0p12 32M vfat EFI-SYSTEM (UUID F35E-F13C, PARTUUID 18151E4F-...)
```
ChromeOS Flex (2026-09-27, before FydeOS replaced it):
```
mmcblk0 29.1G
@@ -126,24 +151,26 @@ mmcblk0 29.1G
└─mmcblk0p12 256M vfat EFI-SYSTEM (UUID CBE4-703E)
```
The ESP is copied from the image, so its FAT UUID (`CBE4-703E`) survived
the reinstall unchanged. The install itself left the UEFI boot entries
The ESP is copied from the image, so its FAT UUID comes from the image:
`CBE4-703E` for Flex (it survived the Flex reinstall unchanged) and
`F35E-F13C` for FydeOS. The install itself left the UEFI boot entries
and `BootOrder` untouched, but Flex's first auto-update changed them.
See "Flex takes over the UEFI boot order on updates" below.
## Booting Flex
## Booting ChromeOS (FydeOS)
Two ways:
1. **From GRUB** (neon's menu, shown for 5s): the entry "ChromeOS Flex
(internal eMMC)" in `/etc/grub.d/40_custom` chainloads Flex's own EFI
loader (`crdyboot`) from the eMMC's ESP:
(internal eMMC)" in `/etc/grub.d/40_custom` chainloads the eMMC ESP's
own loader: FydeOS's GRUB now (Flex's was `crdyboot`). The title was
kept on purpose, since FydeOS is still ChromeOS.
```
menuentry "ChromeOS Flex (internal eMMC)" {
insmod part_gpt
insmod fat
insmod chain
search --no-floppy --fs-uuid --set=root CBE4-703E
search --no-floppy --fs-uuid --set=root F35E-F13C
chainloader /EFI/BOOT/BOOTX64.EFI
}
```
@@ -153,7 +180,7 @@ Two ways:
POST): `efibootmgr -v` shows `neon` (Boot0005, on the USB card) and
`Internal eMMC` (Boot0001), with `BootOrder` `0005,0001,0000,0003,0002`.
With the USB card unplugged, the firmware falls through to `Internal
eMMC` and boots Flex with no menu.
eMMC` and boots FydeOS with no menu.
## Flex takes over the UEFI boot order on updates
@@ -206,13 +233,20 @@ Ways to live with it (none implemented yet):
- Deleting `Boot0004` doesn't help: the next update recreates it.
Neon's GRUB entry chainloads the ESP directly and doesn't need it.
## Other ChromiumOS-based images: FydeOS
After the FydeOS install, `Boot0004 "ChromeOS Flex"` was stale: it
pointed at the old Flex ESP (PARTUUID `2877e60b…`, start sector
`0x49000`), which no longer exists, so the firmware skipped it and fell
through to neon. It was deleted 2026-09-27 (`efibootmgr -b 0004 -B`),
which put `BootOrder` back to `0005,0001,0000,0003,0002`. Expect FydeOS
to add its own entry, and move it first, after its first update.
Checked 2026-09-27, by reading the image only (not installed):
## FydeOS
Checked 2026-09-27 by reading the image, then **installed the same day
with `install-flex-emmc.sh` unchanged. It worked on the first try.**
`FydeOS_for_PC_iris_v23.0-SP1-io.bin.zip` (board `amd64-fydeos_iris-io`,
version `16700.56.23.51`), in `matt`'s `~/Downloads` (extracted copy in
`~/fydeos-check`). **`install-flex-emmc.sh` should work with it
unchanged.**
`~/fydeos-check`).
- **Same installer image layout:** ROOT-A is p3 (2.7GB), ROOT-B is a
2MB placeholder, the ESP is p12. The same `chromeos-install` (Rust)
@@ -238,8 +272,8 @@ unchanged.**
because Secure Boot is disabled on hp-chell (`mokutil --sb-state`).
The image's ESP UUID is `F35E-F13C`.
Caveats before trying it:
- It replaces Flex (same eMMC, full wipe).
Notes:
- It replaced Flex (same eMMC, full wipe).
- The script rewrites the UUID in the `40_custom` entry titled
"ChromeOS Flex", so FydeOS boots under that title. Decided
2026-09-27 to keep it, since FydeOS is effectively still ChromeOS.
@@ -255,4 +289,7 @@ Caveats before trying it:
is normal for this class of eMMC). Booted as live/installer media, as
explained above. The note at the time that Flex expands STATE on
first boot was wrong.
- **2026-09-27**: reinstalled properly with `install-flex-emmc.sh`.
- **2026-09-27**: reinstalled Flex properly with `install-flex-emmc.sh`.
It worked and auto-updated, but took over the UEFI boot order.
- **2026-09-27**: switched to FydeOS (`iris` build) with the same
script; deleted the stale Flex UEFI entry.