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: hp-chell (HP Chromebook 13 G1, MrChromebox UEFI firmware) dual-boots:
| OS | Disk | Notes | | OS | Disk | Notes |
|---|---|---| |---|---|---|
| KDE neon | `sda`, external USB/SD card (117GB) | primary OS, owns GRUB | | 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 Because neon lives entirely on external media, the eMMC can be wiped and
reinstalled from the running neon system with no risk to neon. 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 - Updates the GRUB chainload entry (below) with the new EFI partition's
UUID and runs `update-grub`. 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 ## 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 The log must not be in `/tmp` if another user owns the file (root is
denied by `fs.protected_regular`). 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 mmcblk0 29.1G
@@ -126,24 +151,26 @@ mmcblk0 29.1G
└─mmcblk0p12 256M vfat EFI-SYSTEM (UUID CBE4-703E) └─mmcblk0p12 256M vfat EFI-SYSTEM (UUID CBE4-703E)
``` ```
The ESP is copied from the image, so its FAT UUID (`CBE4-703E`) survived The ESP is copied from the image, so its FAT UUID comes from the image:
the reinstall unchanged. The install itself left the UEFI boot entries `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. and `BootOrder` untouched, but Flex's first auto-update changed them.
See "Flex takes over the UEFI boot order on updates" below. See "Flex takes over the UEFI boot order on updates" below.
## Booting Flex ## Booting ChromeOS (FydeOS)
Two ways: Two ways:
1. **From GRUB** (neon's menu, shown for 5s): the entry "ChromeOS Flex 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 (internal eMMC)" in `/etc/grub.d/40_custom` chainloads the eMMC ESP's
loader (`crdyboot`) from the eMMC's ESP: 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)" { menuentry "ChromeOS Flex (internal eMMC)" {
insmod part_gpt insmod part_gpt
insmod fat insmod fat
insmod chain 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 chainloader /EFI/BOOT/BOOTX64.EFI
} }
``` ```
@@ -153,7 +180,7 @@ Two ways:
POST): `efibootmgr -v` shows `neon` (Boot0005, on the USB card) and POST): `efibootmgr -v` shows `neon` (Boot0005, on the USB card) and
`Internal eMMC` (Boot0001), with `BootOrder` `0005,0001,0000,0003,0002`. `Internal eMMC` (Boot0001), with `BootOrder` `0005,0001,0000,0003,0002`.
With the USB card unplugged, the firmware falls through to `Internal 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 ## 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. - Deleting `Boot0004` doesn't help: the next update recreates it.
Neon's GRUB entry chainloads the ESP directly and doesn't need 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`, `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 version `16700.56.23.51`), in `matt`'s `~/Downloads` (extracted copy in
`~/fydeos-check`). **`install-flex-emmc.sh` should work with it `~/fydeos-check`).
unchanged.**
- **Same installer image layout:** ROOT-A is p3 (2.7GB), ROOT-B is a - **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) 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`). because Secure Boot is disabled on hp-chell (`mokutil --sb-state`).
The image's ESP UUID is `F35E-F13C`. The image's ESP UUID is `F35E-F13C`.
Caveats before trying it: Notes:
- It replaces Flex (same eMMC, full wipe). - It replaced Flex (same eMMC, full wipe).
- The script rewrites the UUID in the `40_custom` entry titled - The script rewrites the UUID in the `40_custom` entry titled
"ChromeOS Flex", so FydeOS boots under that title. Decided "ChromeOS Flex", so FydeOS boots under that title. Decided
2026-09-27 to keep it, since FydeOS is effectively still ChromeOS. 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 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 explained above. The note at the time that Flex expands STATE on
first boot was wrong. 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.
+10 -7
View File
@@ -16,7 +16,7 @@ This is a real **HP Chromebook 13 G1** ("chell" board), converted from ChromeOS
- System: Manufacturer `Google`, Product Name `Chell`, Family `Google_Glados`, Serial `5CD732BLC9` — `Chell`/`Glados` is the Google Chrome OS board/reference codename for the HP Chromebook 13 G1. - System: Manufacturer `Google`, Product Name `Chell`, Family `Google_Glados`, Serial `5CD732BLC9` — `Chell`/`Glados` is the Google Chrome OS board/reference codename for the HP Chromebook 13 G1.
- Baseboard: Manufacturer `Google`, Product Name `Chell`, Serial `PFYTU018J90043`. - Baseboard: Manufacturer `Google`, Product Name `Chell`, Serial `PFYTU018J90043`.
- Implication: fanless Core m CPU, no way to add a fan — keep sustained-load expectations modest. - Implication: fanless Core m CPU, no way to add a fan — keep sustained-load expectations modest.
- **Storage correction (2026-09-04)**: `sda` (117GB, where `/` lives) is actually an external USB/SD card (`lsblk` shows `TRAN=usb`) — the whole KDE neon install boots from that external card, not from anything internal. The real internal eMMC (`mmcblk0`, ~29GB) was blank until 2026-09-04, when ChromeOS Flex was installed onto it — see "Dual boot" section below. (Superseded the original note here, which incorrectly assumed `sda` was internal.) - **Storage correction (2026-09-04)**: `sda` (117GB, where `/` lives) is actually an external USB/SD card (`lsblk` shows `TRAN=usb`) — the whole KDE neon install boots from that external card, not from anything internal. The real internal eMMC (`mmcblk0`, ~29GB) was blank until 2026-09-04, when ChromeOS Flex was installed onto it — see "Dual boot" below. (Superseded the original note here, which incorrectly assumed `sda` was internal.)
## Kernel 7.x black-screen bug (diagnosed and fixed 2026-09-03) ## Kernel 7.x black-screen bug (diagnosed and fixed 2026-09-03)
@@ -117,20 +117,23 @@ flash itself, not a recurrence of the underlying i915 bug or a new
problem. If it happens again right after a firmware update, try a forced problem. If it happens again right after a firmware update, try a forced
power-off + power-on before assuming anything is actually broken. power-off + power-on before assuming anything is actually broken.
## Dual boot: KDE neon (USB) + ChromeOS Flex (internal eMMC) ## Dual boot: KDE neon (USB) + ChromeOS (internal eMMC)
ChromeOS Flex is installed on the internal eMMC (`/dev/mmcblk0`); neon **FydeOS** (ChromiumOS-based, `iris` build; replaced ChromeOS Flex on
2026-09-27) is installed on the internal eMMC (`/dev/mmcblk0`); neon
stays on the external `sda`. **Full details are in `CHROMEOS-FLEX.md`**, stays on the external `sda`. **Full details are in `CHROMEOS-FLEX.md`**,
covering install/reinstall via `install-flex-emmc.sh`, why a raw `dd` of covering install/reinstall via `install-flex-emmc.sh`, why a raw `dd` of
the recovery image boots as live media, `chromeos-install`-from-Linux the recovery image boots as live media, `chromeos-install`-from-Linux
gotchas, the partition layout, and boot selection. gotchas, the partition layout, and boot selection.
Quick reference: Quick reference:
- Reinstall: `sudo ./install-flex-emmc.sh <flex .bin.zip or .bin>` (wipes - Reinstall: `sudo ./install-flex-emmc.sh <Flex or FydeOS .bin.zip or .bin>` (wipes
the eMMC, masks every other disk, about 2.5 min, log in the eMMC, masks every other disk, about 2.5 min, log in
`/var/log/flex-install.log`). `/var/log/flex-install.log`).
- Boot Flex from neon's GRUB menu with the "ChromeOS Flex (internal - Boot it from neon's GRUB menu with the "ChromeOS Flex (internal
eMMC)" entry (in `/etc/grub.d/40_custom`; chainloads the ESP with FS eMMC)" entry (in `/etc/grub.d/40_custom`; chainloads the ESP with FS
UUID `CBE4-703E`), or from the firmware picker (`Esc` at POST, then UUID `F35E-F13C`; title kept from Flex), or from the firmware picker (`Esc` at POST, then
`Internal eMMC`). With the USB card unplugged, the firmware boots Flex `Internal eMMC`). With the USB card unplugged, the firmware boots it
directly. directly.
- ChromeOS updates re-add a UEFI entry and put it first in `BootOrder`;
see `CHROMEOS-FLEX.md`.