Help with Linux based router

Caporegime
Joined
18 Oct 2002
Posts
25,287
Location
Lake District
I want to add ext3 support to my Thompson based BT HomeHub router.

I know this is possible as I found a tutorial but the problem is, the modules that are supplied as part of that tutorial are hosted on a dead link.

I need ext3.ko and the dependant modules.

Do I need to build them on the router somehow under the kernel the router is running?
 
Yeah, you would need to rebuild them if the poster cant reupload them to somewhere, now that megaupload is gone.

Good luck with that, i will be replacing the homehub the moment the bt engineer leaves my house :)
 
Hi PiKe,

You could try using one of the OpenEmbedded pre-built toolchains. This is probably one of the easiest ways to get started. The following link is for the nightly toolchain builds from the Yocto project, it is a MIPS toolchain but if it matches your architecture is a different matter.

If you want to get a bit serious read some of the Yocto Project manuals and use it to build a toochain suited for your specific architecture.

http://autobuilder.yoctoproject.org/pub/nightly/CURRENT/toolchain/

A quick getting started is:

1) Extract toolchain to default location (/opt/poky)
2) Source the enviornment setup file

Code:
. /opt/poky/*/env*

3) Build module

I have never used a MIPS toolchain but I would expect the gcc bin files to be named

Code:
mips-poky-linux-*-gcc

If you take a peek in the /opt/poky/*/ directory you will see the binaries and sysroot.

Good luck!
 
I gave it a quick go but hazarding a guess I would imagine the toolchain I'm trying to use is too new for the ancient 2.6.8 kernel. It bails on the make with:

Code:
[jack@archHP linux]$ make menuconfig ARCH=mips
  HOSTCC  scripts/basic/fixdep
scripts/basic/fixdep.c: In function ‘traps’:
scripts/basic/fixdep.c:359:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
scripts/basic/fixdep.c:361:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  HOSTCC  scripts/basic/split-include
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/kconfig/conf.o
scripts/kconfig/conf.c: In function ‘conf_string’:
scripts/kconfig/conf.c:164:20: warning: variable ‘help’ set but not used [-Wunused-but-set-variable]
scripts/kconfig/conf.c: In function ‘conf_sym’:
scripts/kconfig/conf.c:198:6: warning: variable ‘type’ set but not used [-Wunused-but-set-variable]
scripts/kconfig/conf.c: In function ‘conf_choice’:
scripts/kconfig/conf.c:273:6: warning: variable ‘type’ set but not used [-Wunused-but-set-variable]
  HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91:21: error: static declaration of ‘current_menu’ follows non-static declaration
In file included from scripts/kconfig/mconf.c:23:0:
scripts/kconfig/lkc.h:63:21: note: previous declaration of ‘current_menu’ was here
make[1]: *** [scripts/kconfig/mconf.o] Error 1
make: *** [menuconfig] Error 2
 
The 2.0A, I've managed to get a makemenu now, but dies on build in cpu-probe.o with CPU_BCMxxxxx undeclared.

Remove the static declaration from mconf.o
 
Last edited:
It didn't build those modules, I could select them and it would bring them in if required? Have you tried loading just the ext3 module, if that loads then I'll try building the others tomorrow.

I would be extremely suprised if it did work.

The only other way I can think of it working is if you manage to find a really old GCC mips toolchain, we're talking cica 4.0/3.4 here...
 
Thankfully, I've found someone who has the files on their router!

Really can't get my head around this, and can't even begin to fathom how to statically link files so there's no library dependencies, I was wanting to play with running programs on the router but I don't think it's going to happen.
 
Statically linking libraries and cross compiling shouldn't be as difficult as compiling old kernels. Try cross compiling a simple program with the toolchain I linked to (or one you've found yourself) and see if the compiled program runs.

It's just a matter of sourcing the envionment-* file and then mips-*-gcc program.c and transfering the output file onto the router.
 
Back
Top Bottom