Skip to content
b0hemiaPublic

About

Installer for diskOS - a custom firmware/UI for the FiiO Snowsky Disc DAP (beta). Runs from source; flashes over Ingenic mask-ROM USB.

Resources

Contributing

Security policy

Stars

61 stars

Watchers

4 watching

Forks

Repository files navigation

Eight diskOS themes on the Disc Home screen

diskOS

A round-screen music interface for the FiiO Snowsky Disc, built on its stock audio engine.

Linux and macOS Beta Installer MIT UI GPL 3.0 or later Support diskOS on Ko-fi

Screenshots | Before you install | Install | Restore | Docs | Contribute

Caution

diskOS is an unsupported beta. Installation rewrites the Disc's main root filesystem. Power loss, host sleep, a bad cable, or an interrupted flash can leave the player unbootable or require hardware recovery. Recovery worked on tested units but is not guaranteed. Back up your music and keep the saved stock image on separate storage before installing.

At a glance

  • Device: FiiO Snowsky Disc.
  • Release described here: diskOS and installer 1.2.0; beta.
  • Stock firmware supported: V2.09, V2.28, V2.40, and V2.57.
  • Hosts: Linux x86-64 (Debian, Ubuntu, Arch, CachyOS, Fedora); macOS Apple Silicon release package. Intel Macs can build the native tools.
  • Flash time: about 20 minutes, including the firmware check and verification.
  • Going back: restore the saved stock image, boot the stock UI once, or set stock as the default UI.

See diskOS

Now Playing
Now Playing
Theme picker
Eight themes
Up Next
Up Next
Timed lyrics
Timed lyrics
Song Info
Song Info
Cover Flow
Album cover flow
Search keyboard
Search and keyboard
Display settings
Make it yours
Startup
Startup

See every screen in the diskOS tour.

Built around the Disc

For listening

For tinkering

Before you install

You need a FiiO Snowsky Disc, its matching unmodified official FiiO firmware ZIP, a reliable USB cable, Python 3.8 or newer, and about 20 uninterrupted minutes. The installer builds the root filesystem image on your computer; this project does not distribute FiiO's root filesystem. Keep a separate copy of the saved stock image and read the full requirements.

The 1.2.0 upgrade from 1.1.3 requires a full flash with the complete 1.2.0 installer and matching flash tools. An in-app update cannot replace the boot components in that image. The installer checks the selected firmware and the Disc before it writes. If it refuses a firmware archive, use a matching unmodified official ZIP. Read the on-screen message before retrying a failed flash.

Install

Run setup from the extracted release package, then start the graphical installer:

./install.sh
./diskos-installer gui

Choose Install diskOS, select the official firmware ZIP, and normally choose the Public variant. Power off the Disc, hold Volume Down, and connect USB to enter mask-ROM mode; the screen stays black. Confirm the warning in the installer, keep the computer awake, and wait for verification before power-cycling the Disc. The Public variant has no always-on root shell; Debug Mode can enable temporary SSH on the Disc.

For the command line, the equivalent install is:

./diskos-installer install --firmware SNOWSKY_DISC_update_*.zip --variant public

Read the installation guide for OS packages, USB permissions, source checkouts, options for your own build, and error codes. Do not run the installer with sudo.

Update, restore, recover

Installing 1.2.0 requires a full flash; it installs the in-app update feature. The 1.2.0 release image includes the diskOS release key by default, so the first update over Wi-Fi will be a later signed release. Settings > System > Update diskOS updates only the diskOS app, not stock firmware or the whole image. Turn updates off on the Disc, or untick Allow diskOS updates over Wi-Fi when flashing. See upgrading.

To use the stock interface without reflashing, set Settings > System > Default UI > Stock, or hold Volume Up from power-on for a one-time switch. To remove the diskOS image, use the installer's restore-stock command with its saved stock root filesystem. A failed flash may need mask-ROM reflashing; recovery is not guaranteed. Read restore and recovery before you need it.

Current limitations

Local music playback is the best established path. Weather, Last.fm, and Bluetooth codec behavior remain experimental. After a restart, Wi-Fi can take up to about a minute to connect; if it shows no IP, reconnect in Settings > Wi-Fi. A fix is planned for 1.2.1. On the first boot after installing, a "Player didn't respond" message may appear once; it is harmless. An indexed file format may still fail to play on the Disc. The stock player and connected headphones also affect some audio and Bluetooth choices. Browse Files plays indexed files through the all-songs queue, not a folder queue. On V2.09, playlist and book playback may fail; on V2.57, the Custom EQ editor is view-only. Read the tour's limits and privacy disclosure. This project is not affiliated with or endorsed by FiiO, Snowsky, or Ingenic.

How it works

diskOS replaces the stock interface while keeping the stock player and audio engine. The installer extracts your official FiiO firmware locally, saves a stock image for restore, and adds diskOS to a new root filesystem image. It flashes that image over the Disc's mask-ROM USB mode and verifies the written blocks. A boot hook starts the diskOS UI; the stock UI remains available as a fallback. See the hardware notes for the device layout.

Documentation

Start with the documentation index for installation, the screen-by-screen tour, development notes, hardware research, privacy, and license information.

Contributing

Bug reports, hardware findings, documentation fixes, and focused patches are welcome. Read CONTRIBUTING.md before changing flashing or security-sensitive code. Report vulnerabilities privately through SECURITY.md.

License and support

The installer, scripts, and documentation are MIT licensed; see LICENSE. The on-device UI source in ui/ is GPL-3.0-or-later; see ui/COPYING. Third-party license details and corresponding source are listed in NOTICE.md, SPL_SOURCE.md, and licenses/.

DiskOS is an open-source hobby project maintained by b0hemia, with community contributions. Tips are optional, but they help keep testing, reverse-engineering, documentation, and release work moving.

Support diskOS on Ko-fi

Warning

Do not redistribute generated diskos_*.bin images. They contain FiiO's root filesystem. Build them locally from firmware you obtained from FiiO and share the installer instead.

About

Installer for diskOS - a custom firmware/UI for the FiiO Snowsky Disc DAP (beta). Runs from source; flashes over Ingenic mask-ROM USB.

Resources

Contributing

Security policy

Stars

61 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages