Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

cmaity

Validating
  • Joined

  • Last visited

  1. The entire process was automated by "Cursor" Here is summary. Just paste to Agent and it would do all. # From Dead Android Brick Anxiety to Booting Armbian — An Agent-Ready Flash Guide for H96 Max M9 (RK3576) > **Board:** H96 Max M9 (RK3576) · **Path that worked:** unofficial Armbian Bookworm **vendor kernel 6.1** · **Host:** Windows + RKDevTool > **Audience:** humans *and* AI coding agents — paste this whole post into your agent and say: *“Follow this. Flash my H96 Max M9.”* > **Warning:** This **wipes eMMC**. Back up anything you care about. Keep a stock Android `update.img` for restore. You do this at your own risk. --- ## Why this post exists There is **no Home Assistant OS** image for this box. There is **no friendly “balenaEtcher to SD and reboot”** path for many units (no reliable TF/USB boot — Rockchip USB flash is the real door). So people burn evenings on: * wrong SoC images (RK3318 / generic “TV box” builds), * RKDevTool’s charming Chinese UI, * the infamous **`内存不足` (out of memory)** popup that is usually *not* about your PC RAM, * LOADER vs Maskrom confusion, * and then wonder why Home Assistant “Add-ons” don’t exist on a plain Linux install. This write-up is the **boring, repeatable recipe** that got an **8G/128G H96 Max M9** from stock Android → **Armbian Bookworm vendor 6.1.75** → SSH → Docker Home Assistant — so the next person (or the next agent) does not reinvent the toothpick. Huge thanks to everyone in the Armbian RK3576 / H96 M9 threads who published loaders, CSCs, DTBs, and unofficial images. This is a **field guide**, not a claim of official Armbian support. --- ## What you need on the table | Item | Notes | |------|--------| | H96 Max M9 (RK3576) | Confirm **RK3576** on the box / seller page | | Windows PC | USB port that can talk Rockusb | | USB-A data cable | Charge-only cables are the silent enemy | | Toothpick / paperclip | For **LOADER** via 3.5 mm AV jack (common method on this board) | | ~5+ GB free disk | Image ~2.2 GB + tools | | Optional HDMI + keyboard | First-boot password wizard is easier on a monitor | ### Software kit 1. **Rockchip Driver Assistant** (install Rockusb driver) 2. **RKDevTool v3.x** (Windows GUI — this is what actually writes under Rockusb) 3. **Unofficial Armbian Bookworm vendor 6.1 image for H96-M9** (raw `.img`, GPT) 4. **`RK3576_MiniLoaderAll.bin`** (keep nearby for Maskrom recovery) 5. Stock **Android `update.img`** (restore parachute) > Tip for agents/humans: put the `.img` on a **short path without spaces** (e.g. `C:\H96flash\armbian.img`). RKDevTool sometimes trips over long/` ` paths. Community threads / Drive folders linked from the main H96 M9 topics on forum.armbian.com are where those artifacts usually live — use the **vendor 6.1 Bookworm** line if you care about NPU later; mainline is a different adventure. --- ## LOADER mode (the toothpick ritual) 1. Install Rockchip drivers. 2. Open **RKDevTool** → tab **Download Image** (not Upgrade Firmware). 3. Power off the box. USB from PC → box. 4. Press & hold the reset via **3.5 mm AV jack**, apply power, wait until RKDevTool says something like **Found One LOADER Device**. 5. Release. Do not unplug. If you only ever see Maskrom, use MiniLoader (`db` / download boot) before writing — LOADER is the happier path when it appears. --- ## The trap that costs hours: `内存不足` / empty Loader row **Symptom:** green row named **Loader**, Address `0x00000000`, **Path empty** → popup **内存不足** (“insufficient memory”). **Truth:** RKDevTool is not complaining that your 32 GB PC is full. It is choking because **Loader** is meant for a tiny MiniLoader, and people (and agents) accidentally treat the **2.2 GB OS image** as “the Loader.” ### Correct Download Image setup 1. Click **Clear** (清空). 2. Right-click table → **Add Item**. 3. One checked row only: | Field | Value | |-------|--------| | Address | `0x00000000` | | Name | `Armbian` (anything **except** thinking this is MiniLoader) | | Path | full path to the **Bookworm `.img`** | | Write by Address | **checked** | 4. When LOADER is detected → **Run** (执行). 5. Wait. Do not unplug. Success text appears in the right log pane. ### Upgrade Firmware tab? Use that for stock **`update.img`** restore — **not** for a raw Armbian `.img`. ### CLI note Open-source `rkdeveloptool` may **list** a LOADER device but fail to write (`creating comm object failed`) while the official **Rockusb** driver is bound. Prefer **RKDevTool GUI** for the actual flash on Windows. --- ## First boot 1. Unplug USB-from-PC. Connect HDMI + Ethernet (Wi‑Fi can wait). Power on. 2. Complete Armbian first-boot: set **root** password, create a normal user. 3. Find the IP (router DHCP list, or `ip a` on console). 4. SSH in as root (or the user + `sudo`). Expected shape when it worked here: * Hostname style: `h96-m9` * OS: Armbian-unofficial Bookworm * Kernel: **`6.1.x-vendor-rk35xx`** * Wi‑Fi chip family seen in dmesg: **AIC8800** (your board may differ) * Ethernet works; Bluetooth HCI may need extra work on some images --- ## After Linux: Home Assistant without lying to yourself **HAOS is not an option** for this SoC today. Practical path that worked: 1. Install **Docker** on Armbian. 2. Run **Home Assistant Container** with `--network=host` and a bind-mounted `/config`. 3. Accept that there is **no official Add-on store** on Container. 4. Run companions as Compose services instead, for example: * Mosquitto (MQTT) * Portainer * go2rtc (camera plumbing) * Node-RED * Samba (edit `/config` from Windows) 5. Install **HACS** into `custom_components`, restart HA, add the integration in the UI. 6. For cameras/NVR later: go2rtc → optionally Frigate; Hikvision users often use **hikvision_next** (HACS). Tuya users: **Tuya Local** (HACS) — not the same as “Local Tuya.” **Wi‑Fi in Home Assistant’s “Network adapter” screen does *not* join SSIDs** on Container installs. Configure Wi‑Fi on the **host** (NetworkManager / `nmtui` / Cockpit), then optionally select the interface in HA. --- ## Android restore parachute RKDevTool → **Upgrade Firmware** → select stock **`update.img`** → LOADER/Maskrom → Run. Keep that file offline. Future-you will thank present-you. --- ## Prompt you can paste to any coding agent Copy everything below the line into Cursor / ChatGPT / Claude / etc. --- **AGENT BRIEF — H96 Max M9 (RK3576) Armbian flash + HA Container** You are helping me flash and bring up an H96 Max M9 TV box (Rockchip **RK3576**). ### Goals 1. Flash **unofficial Armbian Bookworm vendor kernel 6.1** raw `.img` with Windows **RKDevTool** (Write by Address @ `0x0`). 2. Verify SSH. 3. Optionally install Docker + Home Assistant **Container** (host network) + sensible companions (MQTT, Portainer, go2rtc). 4. Never invent HAOS for this board. Never flash RK3318 / wrong-SoC images. ### Hard constraints * No TF/USB boot assumed — use Rockchip USB **LOADER** (AV jack toothpick) or Maskrom. * Do **not** put the full OS image in a RKDevTool row meant as MiniLoader; that causes **内存不足**. * Prefer GUI RKDevTool under Rockusb; don’t fight CLI libusb if `wl` fails with “creating comm object failed.” * Keep stock Android `update.img` as restore. * **Never store or echo my passwords, Wi‑Fi keys, tokens, or emails in git, forum posts, or chat logs.** Ask me to enter secrets locally / in a password manager. ### Deliverables * Checklist of files to download (driver, RKDevTool, Armbian img, MiniLoader, stock update.img). * Exact RKDevTool row settings. * LOADER procedure. * First-boot + SSH verify commands. * Optional Docker Compose for HA + companions. * Short “what failed / how we fixed it” log. ### My environment * OS: Windows * Workspace folder: `<PATH>` * Image path: `<PATH_TO_ARMBIAN.IMG>` * I have HDMI: yes/no * I want Home Assistant after flash: yes/no Proceed step by step. Stop and ask before any destructive flash confirm. --- ## Known pitfalls (cheat sheet) | Symptom | Likely cause | Fix | |---------|----------------|-----| | `内存不足` | OS image on Loader row / empty path | Clear → Add Armbian @ 0x0 → Write by Address | | Found LOADER but write fails in CLI | Rockusb vs libusb | Use RKDevTool GUI | | HA has no Add-ons | Container install | Use Docker companions + HACS | | Wi‑Fi missing in HA network UI | Not connected on host / no IP | Connect with `nmtui` / Cockpit / nmcli first | | BT missing `hci0` | AIC UART BT incomplete on image | Don’t expect HA Bluetooth until host exposes HCI | | Box soft-bricked | Bad image / interrupted write | Maskrom + MiniLoader + restore or reflash | --- ## Closing If this guide saves you a night, pay it forward: post your **exact image filename**, whether **LOADER or Maskrom** worked, and any DTB quirks for your RAM/eMMC variant (2/16, 4/32, 8/128). The RK3576 TV-box story is still being written. Vendor 6.1 is the pragmatic on-ramp today; mainline and NPU are the sequel. Good luck — and may your toothpick find the LOADER on the first try.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.