So, fun and games with the TS-7670.
At present, I have it up and running:
root@ts7670:~# uname -a Linux ts7670 4.14.15-vrt-ts7670-00031-g1a006273f907-dirty #2 Sun Jan 28 20:21:08 EST 2018 armv5tejl GNU/Linux
That’s booted up into Debian Stretch right now. debootstrap did its deed a few days ago on the eMMC, and I was able to boot up this new image. Today I built a new kernel, and tweaked U-Boot to boot from eMMC.
Thus now the unit can boot without any MicroSD cards fitted.
There’s a lot of bit rot to address. U-Boot was forked from some time in 2014. I had a crack at rebasing the code onto current U-Boot, but there’s a lot of clean-up work to do just to get it to compile. Even the kernel needed some fixes to get the newer devicetree sources to build.
As for getting Gentoo working… I have a cross-compiling toolchain that works. With it, I’ve been able to compile about 99% of a seed stage needed for catalyst. The 1% that eludes me, is GCC (compiled to run on ARMv5). GCC 4.9.4 will try to build, but fails near the end… anything newer will barf complaining that my C++ compiler is not working. Utter bollocks, both AMD64 and ARM toolchains have working C++ compilers, just it’s looking for a binary called “g++” rather than being specific about which one. I suspect it wants the AMD64 g++, but then if I symlink that to /usr/bin/g++, it throws in ARM CFLAGS, and AMD64 g++ barfs on those.
I’ve explored other options. I can compile GCC by hand without C++ support, and this works, but you can’t build modern GCC without a C++ compiler … and people wonder why I don’t like C++ on embedded!
buildroot was my next thought, but as it happens, they’ve stripped out the ability to compile a native GCC on the target.
crosstool-ng is the next logical choice, but I’ll have to fiddle with settings to get the compiler to build.
I’ve also had OpenADK suggested, which may be worth a look. Other options are OpenEmbedded/Yocto, and Cross Linux from Scratch. I think for the latter, cross is what I’ll get, this stuff can be infuriatingly difficult.