Skip to content

board: aml-c400-plus: Fix eMMC boot format and partition layout#9911

Open
jomadeto wants to merge 1 commit into
armbian:mainfrom
jomadeto:main
Open

board: aml-c400-plus: Fix eMMC boot format and partition layout#9911
jomadeto wants to merge 1 commit into
armbian:mainfrom
jomadeto:main

Conversation

@jomadeto
Copy link
Copy Markdown
Contributor

@jomadeto jomadeto commented May 29, 2026

Description

This PR fixes the eMMC boot failure on the 'aml-c400-plus' (Magicsee C400 Plus) TV Box. This issue is specifically triggered when building modern OS releases bundled with recent Linux Kernels (6.x and 7.x branches), where modern 'e2fsprogs' features break compatibility with legacy U-Boot.

Changes

  • Change default eMMC filesystem format to 32-bit (disable 64bit extension) to match legacy U-Boot capabilities.
  • Update fstab template to map root partition via LABEL=ROOT_EMMC instead of deprecated /dev/root.
  • Remove 'data=writeback' rootflag from armbianEnv.txt to improve data integrity on internal flash.
  • Add 'amlogic.hdmitx=cec:0' boot argument to prevent HDMI-CEC initialization conflicts during startup.

How Has This Been Tested?

Tested and verified fully working on live hardware booting directly from the eMMC.

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings

Summary by CodeRabbit

  • Chores
    • Improved system boot configuration for the AML C400 Plus board with enhanced filesystem checking
    • Enhanced root filesystem mounting reliability through label-based identification instead of device paths
    • Optimized ROOT partition formatting process during system installation

Review Change Stack

- Change default eMMC filesystem format to 32-bit (disable 64bit extension) to match legacy U-Boot capabilities.
- Update fstab template to map root partition via LABEL=ROOT_EMMC instead of deprecated /dev/root.
- Remove 'data=writeback' rootflag from armbianEnv.txt to improve data integrity on internal flash.
- Add 'amlogic.hdmitx=cec:0' boot argument to prevent HDMI-CEC initialization conflicts during startup.
@jomadeto jomadeto requested a review from igorpecovnik as a code owner May 29, 2026 10:45
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 29, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8b397a1c-86a4-4005-a557-f3a52b3ab11a

📥 Commits

Reviewing files that changed from the base of the PR and between aa0de23 and 50bc9d4.

📒 Files selected for processing (3)
  • config/optional/boards/aml-c400-plus/_packages/bsp-cli/boot/armbianEnv.txt
  • config/optional/boards/aml-c400-plus/_packages/bsp-cli/root/fstab.template
  • config/optional/boards/aml-c400-plus/_packages/bsp-cli/root/install-aml.sh

📝 Walkthrough

Walkthrough

This PR updates the aml-c400-plus board configuration to use filesystem labeling. The partition creation script applies a ROOT_EMMC label, the filesystem table references this label instead of device paths, and boot kernel arguments add fsck fix/repair options.

Changes

AML-C400-Plus Board Filesystem Labeling Configuration

Layer / File(s) Summary
Filesystem labeling and boot fsck parameters
config/optional/boards/aml-c400-plus/_packages/bsp-cli/root/install-aml.sh, config/optional/boards/aml-c400-plus/_packages/bsp-cli/root/fstab.template, config/optional/boards/aml-c400-plus/_packages/bsp-cli/boot/armbianEnv.txt
Partition creation uses mkfs.ext4 with -L ROOT_EMMC label flag instead of mke2fs. Root filesystem mount in fstab references LABEL=ROOT_EMMC instead of /dev/root device path. Kernel boot arguments add fsck.fix=yes and fsck.repair=yes for filesystem consistency checks.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested labels

Patches

Suggested reviewers

  • igorpecovnik

Poem

A label for the root so true,
No more device paths, just ROOT_EMMC through,
With fsck in boot for safety's sake,
The filesystem's journey, now it's awake! 🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'board: aml-c400-plus: Fix eMMC boot format and partition layout' directly and specifically describes the main changes: fixing eMMC boot compatibility issues by updating the filesystem format (from 64-bit to 32-bit extents), modifying partition references (from /dev/root to LABEL=ROOT_EMMC), and adjusting boot parameters.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added size/small PR with less then 50 lines 05 Milestone: Second quarter release Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... labels May 29, 2026
@igorpecovnik igorpecovnik requested a review from SteeManMI May 29, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

05 Milestone: Second quarter release Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review size/small PR with less then 50 lines

Development

Successfully merging this pull request may close these issues.

1 participant