First Real Experiments with the TS7300
Rec 27-jan-2008 15:11
Despite being a little old, the
2.4.26 kernel that comes default
with the
TS7300 would be quite usable weren't it from the fact
that it comes a little barren -- it doesn't even come with iptables.
Compiling a new 2.4.26 kernel wasn't too hard -- there's a nice
pre-packaged cross compilation toolchain.
I patched
ebtables
in, activated it, activated iptables and they worked quite fine -- not only did they compile, but I
installed the userspace utilities and tested that they did what they were supposed to.
Adding
smbfs
made me run into a link failure with a missing
do_div64
function. I took an advice from
Matt Godbolt's blog
and copied the
linux/arch/arm/lib/div64.S
file and changed the
Makefile
to have it compiled and linked in.
At
Tempest we use very customized 2.6 kernels with
vservers,
grsecurity,
IMQ,
DRBD,
truecrypt and other goodies. I wanted to see how many
similar features I could cram into that 2.4 kernel. I found one
of many
IMQ implementations that happened
to patch almost perfectly (I did have to throw in a missing
#include
but otherwise worked just fine.) DRBD-0.7 also worked without a hitch,
although I did have to manually enable the generic
find_next_bit
implementation. (DRBD-8, on the other hand, works only with 2.6 kernels.)
Now, TrueCrypt doesn't work on 2.4, but
loop-AES provides similar functionality
and it worked out of the box, no manual tweaking needed.
An old
vservers-1.28
patch compiled ok, but I couldn't get the userspace utilities to build. Perhaps
I'll later try compiling it all again using
self-hosting
instead of
cross-compiling -- at that point I was
doing more leisure exploration that actual work, given that at least for now I don't think
I'll be needing virtual server capabilities. I didn't try grsec for now either, even though I'm
curious to see if it works under the ARM architecture (it did work under the SPARC architecture
on an old Ultra 5 I had).
So, if you want a 2.4.26 kernel with iptables, ebtables, IMQ, and prebuilt modules for DRBD-0.7
and loop-AES, look no further than my
2.4.26-ts11-k2
release: here are the
precompiled kernel and modules binaries (
vmlinux.bin
+
/lib/modules/2.4.26-ts11-k2
) and a
patch from TS's
ts11 version to mine.
One thing that didn't work for me was the
bootload
utility -- a combo module+userspace utility
the guys at Technologic Systems wrote that does something similiar to
kexec
-- it allows us
to boot to another operating system (Linux or otherwise) from within Linux itself. Perhaps
I'm doing a really silly mistake, because I've read so many reports that it works flawlessly.
Another thing that didn't work was my GSM minimodem, even after I made a powered USB cable.
I get repeated USB conection/disconnection messages like:
hub.c: new USB device not_pci-1, assigned address 4
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 4
hub.c: new USB device not_pci-1, assigned address 5
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 5
hub.c: new USB device not_pci-1, assigned address 6
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 6
hub.c: new USB device not_pci-1, assigned address 7
That's kinda bad, because GRPS/EDGE connectivity is one of my requisites.
Gotta think on a plan B.
I also learned that TS offers a product based on the TS7300 called
TS-COMBOX with
25 serial ports -- precisely what I wanted to achieve by reprogramming
the FPGA. I can still do that, but I would have to start from scratch
-- the TS-UARTs, SD card and video cores are proprietary; the code
posted on OpenCore's site
has only the
ethernet MAC
core.
As
Captain Nascimento would put it, "who says life is easy?"
top