FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Rewrite README with verified build docs (issue #26) by TriplEight · Pull Request #76 · flipperdevices/flipperone-linux-build-scripts · GitHub

Rewrite README with verified build docs (issue #26) - #76

Merged
alchark merged 3 commits into
flipperdevices:devfrom
TriplEight:readme-issue-26
Jun 19, 2026
Merged

alchark merged 3 commits into
flipperdevices:devfrom
TriplEight:readme-issue-26

Conversation

Copy link
Copy Markdown
Contributor

Closes #26

README rewrite with four sections from issue #26. Every build command was run in the repo's own container image before writing it down.

What's in this

  • Four new top-level sections: Repos structure, Automated builds, How to build image manually, How to contribute
  • PR New README #27's Supported boards table, with two corrected target names (roc-pc not rock-pc, evb not evb1)
  • Dockerfile fix: stale WORKDIR and clone URL pointed at rk3576-linux-build (old repo name) instead of flipperone-linux-build-scripts. HTTP 301 redirect kept builds working but the container's working directory had the wrong name.

Build runs

All commands verified in podman run --privileged -v $PWD/out:/artifacts against the repo's own container image:

Script Result
build-uboot.sh pass - all 8 boards
build-kernel-mainline.sh pass - Linux 7.1.0-rc6 arm64, ~1h35m
build-kernel-bsp.sh pass when run alone; fails if run in parallel with mainline (both scripts write to the same prebuilt/linux/ by default and the final mv step conflicts)
build-images.sh pass - debos KVM fakemachine, debian-512-*-20260611-1448.img.gz for all 8 boards
dep list pass - derived from Dockerfile

Corrections from build runs

  • Loader filename in Maskrom section was rk3576_spl_loader_*.bin - no such file exists; actual filename is rk3576_loader_v*.bin
  • Image filename format was debian-<board>.img.gz; actual format is debian-512-<board>-<timestamp>.img.gz
  • Dep list was missing 7 packages (qemu-user-binfmt, device-tree-compiler, mmdebstrap, systemd-container, libglib2.0-dev, libostree-dev, fakemachine); gdown/repo are not in trixie apt and were removed; apt install -t testing debos replaced with go install
  • Flash commands used container output paths (out/u-boot/, out/images/); manual builds use prebuilt/u-boot/ and out/ (the script defaults)
  • pipx install --global needs sudo on a non-root install (writes to /opt/pipx and /usr/local/bin)

Add four sections required by issue flipperdevices#26: Repos structure, Automated
builds, How to build image manually, How to contribute.

Every documented build command was verified inside the repo's own
container image (localhost/fobl built from the Dockerfile):
- build-uboot.sh: PASS — all 8 boards from flipperdevices/u-boot rk3576
- build-kernel-mainline.sh: PASS — Linux 7.1.0-rc6 arm64 .deb packages
- build-kernel-bsp.sh: FAIL when run in parallel with mainline (mv
  cross-fs conflict); note added to not run builds in parallel
- build-images.sh: PASS — debian-512-*-20260611-1448.img.gz produced
  for all 8 boards via debos fakemachine (KVM)

Fixes from build verification:
- Correct loader filename: rk3576_loader_v*.bin (not rk3576_spl_loader)
- Correct image filename format: debian-512-<board>-<timestamp>.img.gz
- Correct dep list: add 7 packages missing from old README; remove
  gdown/repo (not in trixie); use go install for debos (not apt)
- Fold in PR flipperdevices#27 boards table with corrected target names:
  roc-pc (not rock-pc), evb (not evb1)
- Preserve original SD card warning, Maskrom/Rockusb flashing prose

Dockerfile fix: correct stale WORKDIR and clone URL from rk3576-linux-build
to flipperone-linux-build-scripts (justified by container-quickstart build).
Flashing commands were using container output paths (out/u-boot/,
out/images/) in the manual build section. Manual builds default to
prebuilt/u-boot/ for bootloaders and out/ for disk images. Also add
missing sudo to pipx install --global, which requires root on a
non-root system install.

alchark left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Thank you for the contribution! This is a great improvement to our README, and I like a lot how it comes together now.

Would you mind having a look at some specific comments I've left inline?

Comment thread README.md
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md
Comment thread README.md
Comment thread README.md Outdated
- Add u-boot, rkbin, and TF-A repos to the Repos structure table
- Add UFS storage notes for Rock 4D and NanoPi M5 boards
- Remove stale "only Firefly supported by upstream U-Boot" claim;
  update to list all currently upstream-supported boards
- Remove stale UFS-can't-boot note (driver merged upstream)
- Add Rock 4D eMMC/FSPI0 pin-multiplexing warning
- Rewrite branch model section: fork-first workflow for external contributors
- Rewrite "Adding a new board": upstream-first sequence (Linux bindings →
  drivers → DTS → U-Boot defconfig); drop BL31 mention (not board-specific)

Copy link
Copy Markdown
Contributor Author
  1. Repos table - added flipperdevices/u-boot, flipperdevices/rkbin, and ARM-software/arm-trusted-firmware (the three repos build-uboot.sh actually clones)
  2. Rock 4D board note - added UFS storage availability + anchor link to the eMMC detail section
  3. NanoPi M5 board note - added UFS storage availability note with the part-number caveat
  4. Firefly board note - removed the stale "only board supported by upstream U-Boot" claim
  5. U-Boot build section - replaced the outdated single-board note with the current list of upstream-supported boards; Flipper fork is now described as needed only for Flipper One and EVB1
  6. Assembling images section - removed the stale UFS-can't-boot note (driver is merged)
  7. Rock 4D eMMC section - added warning about FSPI0/eMMC pin multiplexing and that UFS is unaffected
  8. Branch model - rewrote to explain fork-first workflow since direct push is Flipper-developer-only
  9. Adding a new board - rewrote with the proper upstream-first sequence (Linux bindings -> drivers -> DTS -> U-Boot defconfig); removed the BL31 mention since it's not board-specific

cc @alchark

alchark left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

This looks great, thanks a lot for your contribution! I believe it's ready to merge. One minor comment left inside regarding rkbin - not a blocker though.

Comment thread README.md
| [flipper-linux-kernel](https://github.com/flipperdevices/flipper-linux-kernel) | Linux kernel patches and configuration for Flipper One RK3576-based boards |
| [flipperone-mcu-firmware](https://github.com/flipperdevices/flipperone-mcu-firmware) | Firmware for the low-power RP2350 MCU |
| [flipperdevices/u-boot](https://github.com/flipperdevices/u-boot) | Flipper fork of U-Boot; adds defconfigs for Flipper One and EVB1 on top of upstream |
| [flipperdevices/rkbin](https://github.com/flipperdevices/rkbin) | Rockchip binary firmware blobs (BL31) — used when `USE_BL31=vendor` |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Not only BL31. It's the only source for the DDR initialization blob, and it also contains the necessary pieces to produce a Maskrom loader for flashing over USB with Rockchip default tools. The latter is not strictly required, because these days mainline U-boot also produces -usb471 and -usb472 binaries to boot directly over Maskrom (but that path is less documented)

alchark mentioned this pull request Jun 17, 2026
NickVolynkin mentioned this pull request Jun 19, 2026
alchark merged commit 41be86f into flipperdevices:dev Jun 19, 2026
github-project-automation Bot moved this from Backlog to Done in Flipper One — Docs Jun 19, 2026
alchark pushed a commit that referenced this pull request Jun 22, 2026
DDR init blob and Maskrom USB loader are always pulled from rkbin,
not only when USE_BL31=vendor. The vendor BL31 is the only conditional
part. Update the description accordingly.

Fixes #76 (comment)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

README for main repo

3 participants


Back | FazBrowse Home | New Git URL