diskOS installer: initial public beta
Flashes the diskOS custom UI onto the FiiO Snowsky Disc over Ingenic mask-ROM USB, building the image from your own stock firmware. Runs from source via install.sh.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# Contributing to diskOS
|
||||
|
||||
Thanks for wanting to help. diskOS touches real hardware in a way that can brick a device, so a few
|
||||
rules keep contributions safe and legally clean.
|
||||
|
||||
## Ground rules
|
||||
|
||||
1. **Hardware-affecting changes must be tested on real hardware.** Anything that changes the image
|
||||
builder, the boot hook, the NAND writer, the SPL, or device targeting has to be flashed and
|
||||
booted on an actual Snowsky Disc before it is declared working. Say which firmware version and
|
||||
which DRAM/NAND variant you tested on.
|
||||
2. **Never weaken the fail-closed contract.** The first-boot hook must always fall back to the stock
|
||||
UI when it cannot verify the UI against the baked manifest. The flasher must fail closed rather
|
||||
than commit an unverified or wrong-device write.
|
||||
3. **Add an error code for every new failure mode** (`E1xx` preflight, `E2xx` build, `E3xx` flash,
|
||||
`F1xx` device-writer) and document it in `README.md`.
|
||||
4. **Keep the honest-limitations tone.** If something is blocked by hardware or a toolchain gap, say
|
||||
so plainly. Do not imply a feature works when it has not been verified.
|
||||
|
||||
## Licensing and provenance
|
||||
|
||||
- Original diskOS files are MIT. By contributing you agree your contribution is under the same
|
||||
license. Please sign off your commits (`git commit -s`, Developer Certificate of Origin).
|
||||
- **Do not upload FiiO firmware, stock rootfs images, or generated `diskos_*.bin` images** to issues
|
||||
or PRs - they contain FiiO's software. The installer builds images locally from a user's own
|
||||
firmware; that is fine, redistributing them is not.
|
||||
- If you touch how a GPL/LGPL component is bundled (usbboot, squashfs-tools, the SPL, libusb),
|
||||
keep its corresponding source and `NOTICE.md` in sync.
|
||||
- Do not commit device-identifying data (serials, MAC addresses) or secrets.
|
||||
|
||||
## Filing issues
|
||||
|
||||
Include: firmware version + hash, DRAM/NAND variant if known, host OS, the exact error code, the
|
||||
bad-block count if the flasher printed one, and redacted logs. **Do not** post serial numbers, MAC
|
||||
addresses, firmware zips, stock rootfs, or generated images.
|
||||
|
||||
## Development
|
||||
|
||||
See [`agents/AGENTS.md`](agents/AGENTS.md) for a project brief (the hardware facts that are easy to
|
||||
get wrong, the repo layout, and the device-safety rules) - useful whether you work by hand or with
|
||||
an AI coding agent. Build the installer with `bash build/build.sh`.
|
||||
Reference in New Issue
Block a user