The official firmware is a linux based operating system. Up to version 2.0.9UP Linux 188.8.131.52-VENUS is used. The environment uses BusyBox 1.1.3, it is under GPL and still for download (perhaps it helps compiling other applications).Busybox site
There are no buildchains, so on-system compiling is not possible. User Wachtelbauer has tried to install a toolchain:
You can download a toolchain for the Movie Cube from here
- Download: root_fs_mipsel
- Save the file to the media partition part1
- Connect to the MC via telnet
- Extract root_fs_mipsel.ext2
Issue the following commands:
/ # mkdir root_fs / # mount -o loop /usr/local/etc/hdd/volumes/HDD1/root_fs_mipsel.ext2 root_fs / # chroot root_fs /bin/su - [root@NAS ~]#
You have now access to a complete development environment with gcc, make. The downloaded environment seems to have newer libraries than the MC. Thus, the executable does not run outside this environment, yet. We have to find an slightly older version or find a way to update the MC.
Another way of doing this is to statically compile the code. This can be done just by editing all the Makefiles (once created by ./configure, searching in all the folders because there can be more than one), searching the LDFLAG = line, adding there the parameter -static, and finally doing make. This will allow to use the compiled code outside the chroot jail, but the executables will be bigger. Is interesting to also remove all the -g (debugging) parameters in all the Makefiles and, after creating the executable, run strip executable in order to remove all the debugging symbols (even after removing the -g parameter, there are still some of them).
Chrooted Debian Environment
Seems that is possible, update busybox, to new versions.
Busybox-1.16.x, static linked, mipsel-24kc tune, mips32r2 arch.
Our emtec R100 seems to be mips32r2 arch , I could confirm that.
Try use builroot from busybox to build some packages, I describe the process where:
Intro to todays build of 1.16.x:
Experts installation guide here:
General installation tutorial here:
If your box is one of the older designs, based on the MIPS-4kc core - I think the above will run on it anyway.
It will run on the newer MIPS-34Kc cores (single threaded).