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.
2.7 KiB
Corresponding source for the shipped GPL/LGPL native binaries
The installer ships prebuilt native tools under vendor/<os>-<arch>/. Some of them are, or
statically link, GPL-2.0 / LGPL-2.1 code. To satisfy those licenses this directory carries the
complete corresponding source for the exact upstream versions those binaries were built from - so
the source travels from the same place as the binaries (GPL-2.0 §3(a) + the "same place" clause
in §3's final paragraph; LGPL-2.1 §6(a)/(d)).
Each item below is a full Debian source package (.orig upstream tarball + .debian packaging +
.dsc); extract with dpkg-source -x <name>.dsc (or unpack the .orig tarball directly).
| Shipped binary | Component here | Version | License | Source files |
|---|---|---|---|---|
mksquashfs / unsquashfs |
squashfs-tools | 4.6.1-1build1 | GPL-2.0 | squashfs-tools_4.6.1* |
| (statically linked into the above) | liblzo2 (lzo2) | 2.10-2build4 | GPL-2.0-or-later | lzo2_2.10* |
usbboot |
libusb-1.0 (statically linked) | 1.0.27-1 | LGPL-2.1 | libusb-1.0_1.0.27* |
| all three tools (static C runtime) | glibc | 2.39-0ubuntu8.8 | LGPL-2.1-or-later | glibc_2.39* |
usbboot |
its own C source | - | GPL-2.0-or-later | ../src/usbboot/usbboot.c |
disc_spl_lpddr3.bin |
stage-1 SPL (u-boot-xburst) | see ../SPL_SOURCE.md |
GPL-2.0 | ../spl-src/ |
Also statically linked into mksquashfs/unsquashfs: zlib and liblzma/xz - both permissive
(zlib / 0BSD-public-domain), needing attribution only (see ../NOTICE.md), not corresponding source.
Rebuilding the binaries from this source
The build scripts that produced the shipped binaries are in ../build/:
build/build-squashfs-static.sh- staticmksquashfs/unsquashfs(gzip+lzo+xz), with an LZO round-trip self-test. Uses squashfs-tools + liblzo2 above.build/build-usbboot-static.sh- fully staticusbboot, rebuilding libusb (above) with--disable-udev --enable-staticso no libudev/libcap is pulled in.
Those scripts fetch the same upstream source via apt-get source; the tarballs here pin the exact
versions used so you can rebuild - or substitute your own modified libusb and relink usbboot
(the LGPL-2.1 §6 relink path) - without depending on a distribution's source availability.
The LGPL-2.1 relink path for libusb (usbboot)
usbboot statically links libusb-1.0.a. To exercise your LGPL right to run usbboot against a
modified libusb: extract libusb-1.0_1.0.27*, modify it, ./configure --disable-udev --enable-static --disable-shared && make, then relink with the app source and the same command
build/build-usbboot-static.sh uses (gcc -O2 -std=c99 -I<libusb-inc> -static -o usbboot ../src/usbboot/usbboot.c <your libusb-1.0.a> -lpthread).