If Linux is just the platform they're building on, wouldn't their software remain proprietary? Especially if they're not changing the core? They're only leveraging the OS framework and calling libraries as needed?
Also noticed the ARM reference in there. Are we talking A12, A13 etc... or something along that path? Could that mean the equivalent of an M1, M2 etc... could end up powering Infinity 2.0 with 128gb/ram - leading to real time display of Frame Averaging in progress? eg: 150mp video from a digital back??
My limited understanding as a developer (not a lawyer) is that if you developed applications on say ubuntu, and then shipped a computer with ubuntu, all you would have to say is "we use stock ubuntu, this kernel, you can get it from here (including the source)". This I believe even applies to kernel modules, such as the obviously closed source Nvidia Drivers. They use the module system to avoid having to open source the Nvidia components. But for example, Nvidia has to share the source code to their custom version of linux for the Tegra devices:
https://elinux.org/Jetson/L4T_BSP_development_tips
Phase one is instead doing something else - they made their own version of linux, as you can see from the name "P1Linux_6.03.21.bin" in the extracted firmware dump, just as canonical did with Ubuntu, and Red Hat with Red Hat Linux. To my understanding, this means that they need to at least provide the sources for their modifications to linux itself.
Within the P1Linux_6.03.21.bin, there is some copyright notices and other information that tells us more:
Code:
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 ELF, 64-bit LSB executable, version 1 (GNU/Linux)
6227223 0x5F0517 Unix path: /etc/init.d/mount-qspi-partitions.sh start"
6227640 0x5F06B8 Unix path: /sys/devices/platform/amba/ff030000.i2c/
6229160 0x5F0CA8 Unix path: /dev/ffs-iqp/ep0
6229624 0x5F0E78 Unix path: /dev/ffs-iqp/ep2
6242016 0x5F3EE0 Unix path: /sys/class/fpga_manager/fpga0/firmware
6242480 0x5F40B0 Unix path: /sys/devices/platform/amba/ff030000.i2c/
6246192 0x5F4F30 Unix path: /sys/bus/platform/drivers/sdhci-arasan/unbind
6248368 0x5F57B0 Unix path: /dev/ffs-iqp/ep0
6249616 0x5F5C90 Unix path: /dev/ffs-iqp/ep2
7843304 0x77ADE8 Unix path: /sys/block/mmcblk_
7940698 0x792A5A Copyright string: "CopyrightKeyboardValidator"
7940754 0x792A92 Copyright string: "CopyrightValidator"
8455839 0x81069F mcrypt 2.2 encrypted data, algorithm: blowfish-448, mode: CBC, keymode: 8bit
8476435 0x815713 Unix path: /etc/init.d/dropbear start;/etc/init.d/inetd.busybox start".
8477776 0x815C50 Unix path: /var/volatile/ftp/boot.bin
8478172 0x815DDC Unix path: /var/volatile/ftp/boot.bin" is used
8478492 0x815F1C Unix path: /var/volatile/ftp/boot_dump.bin" is used
8499624 0x81B1A8 Unix path: /var/volatile/ftp/firmwareupdate.fwr
8657096 0x8418C8 Unix path: /var/run/mdnsd.pid
8659224 0x842118 Unix path: /var/run/10g.diagnostics
8659256 0x842138 Executable script, shebang: "/bin/sh"
8680616 0x8474A8 Unix path: /sys/devices/platform/pcap/fpga_manager/fpga0/state
9976624 0x983B30 Unix path: /var/ftp/imgXX.bmp
9983492 0x985604 Copyright string: "Copyright, 2)"
10000080 0x9896D0 Base64 standard index table
10001776 0x989D70 HTML document header
10002265 0x989F59 HTML document footer
10002280 0x989F68 HTML document header
10002695 0x98A107 HTML document footer
10003592 0x98A488 HTML document header
10003717 0x98A505 HTML document footer
10003872 0x98A5A0 HTML document header
10004333 0x98A76D HTML document footer
10005248 0x98AB00 Unix path: /sys/class/net/%s/operstate
10008560 0x98B7F0 Unix path: /var/run/wpa_supplicant_bind_%d
10008624 0x98B830 Unix path: /var/run/wpa_supplicant/%s
10009047 0x98B9D7 Unix path: /var/run/wpa_supplicant
10009256 0x98BAA8 Unix path: /sys/bus/platform/drivers/sdhci-arasan/ff160000.mmc/uevent
10009368 0x98BB18 Unix path: /sys/bus/platform/drivers/sdhci-arasan/bind
10009706 0x98BC6A Unix path: /usr/sbin/wpa_supplicant -iuap0 -c /tmp/wpa.conf -Dnl80211 -B
10009928 0x98BD48 Unix path: /sys/bus/platform/drivers/sdhci-arasan/unbind
10009992 0x98BD88 Executable script, shebang: "/bin/sh"
10077944 0x99C6F8 Unix path: /var/ftp/XShutter.bin
10222960 0x9BFD70 Unix path: /sys/kernel/config/usb_gadget/g1/UDC
10223136 0x9BFE20 Unix path: /sys/kernel/config/usb_gadget/g1/functions
10223216 0x9BFE70 Unix path: /sys/kernel/config/usb_gadget/g1/strings/0x409
10223504 0x9BFF90 Unix path: /sys/kernel/config/usb_gadget/g1/bDeviceClass
10225232 0x9C0650 Unix path: /sys/devices/platform/amba/ff9d0000.usb0/fe200000.dwc3/udc/fe200000.dwc3/current_speed
10226550 0x9C0B76 Unix path: /sys/kernel/config/usb_gadget/g1/functions/mass_storage.pcie
10237344 0x9C35A0 Unix path: /sys/devices/virtual/block/XQD_0.1.0.0/queue/max_sectors_kb
10239144 0x9C3CA8 Unix path: /sys/kernel/debug/zynqmp-firmware/pm
10239536 0x9C3E30 Unix path: /sys/bus/pci/rescan
10239712 0x9C3EE0 Unix path: /sys/bus/pci/devices/0000:00:00.0/remove
10239888 0x9C3F90 Unix path: /sys/class/block/XQD_0.1.0.0
10272472 0x9CBED8 XML document, version: "1.0"
10272912 0x9CC090 XML document, version: "1.0"
10273072 0x9CC130 XML document, version: "1.0"
10273536 0x9CC300 XML document, version: "1.0"
10274216 0x9CC5A8 XML document, version: "1.0"
10274656 0x9CC760 XML document, version: "1.0"
10284672 0x9CEE80 XML document, version: "1.0"
10295400 0x9D1868 Copyright string: "Copyright (C) 1991-2017 The libjpeg-turbo Project and many others"
10317735 0x9D6FA7 Copyright string: "Copyright 1995-2005 Jean-loup Gailly "
10323455 0x9D85FF Copyright string: "Copyright 1995-2005 Mark Adler "
10326388 0x9D9174 Copyright string: "Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"
10326482 0x9D91D2 Copyright string: "Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"
10331744 0x9DA660 AES S-Box
10332000 0x9DA760 AES Inverse S-Box
11712993 0xB2B9E1 Intel x86 or x64 microcode, sig 0x00000450, pf_mask 0xe00001d4, 1D9B-14-01, rev 0x-1000000, size 1
11813887 0xB443FF mcrypt 2.2 encrypted data, algorithm: blowfish-448, mode: CBC, keymode: 8bit
11824544 0xB46DA0 CRC32 polynomial table, little endian
It is indeed AARCH64 - I was messing around for a bit trying to launch the binaries on my M1Max with QEMU, but the kind of boot loader hacking I would need to do to make it work is a bit beyond me.
Based on this line: " /sys/kernel/debug/zynqmp-firmware/pm" from the dump of the most recent firmware, the IQ4 appears to use a Xilinx (Now AMD) Zync FPGA+ARM SoC. These are pretty neat chips that combine a medium size FPGA with 2-4 Cortex-A53 ARM64 cores:
https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
As far as I know Cortex-A53 are quite a bit slower than an M1, but still pretty decent. A future back with a much stronger ARM core would certainly be able to display frame averaging in real time, though 150MP video is probably impossible without active cooling given how even 8K video seems like a stretch for many mirrorless bodies currently out there.
I would like to note that from this dump, we can see the following GPL software (besides linux itself):
Busybox -
https://www.busybox.net/license.html
From their page:
"
BusyBox's copyrights are enforced by
Software Freedom Conservancy (you can contact them at
<[email protected]>), which "accepts primary responsibility for enforcement of US copyrights on the software... and coordinates international copyright enforcement efforts for such works as necessary." If you distribute BusyBox in a way that doesn't comply with the terms of the license BusyBox is distributed under, expect to hear from Conservancy. Their entire reason for existing is to advance the public's access to Free and Open Source Software projects, which includes ensuring that the GPL is upheld for projects that pick GPL as its license. We used to list people who violate the BusyBox license in
The Hall of Shame, but these days we find it much more effective to hand them over to our enforcement agent.
Our enforcement efforts are aimed at bringing people into compliance with the BusyBox license. Open source software is under a different license from proprietary software, but if you violate that license you're still infringing copyright and the law gives the copyright holder the right to enforce our copyrights. We don't seek monetary awards, injunctions, or to generate bad PR for a company,
unless that's the only way to get somebody that repeatedly ignores us to comply with the license on our code.
"
Currently digging deeper to see what other GPL code they are distributing. Maybe I am "crusading" or what not, but this seems like a very large problem. If you distribute IQ4 backs, you are distributing linux and therefore GPL code...