Code merge into official uClinux kernel tree complete

Johann Hanne <[email protected]> Mon, 21 Mar 2005 19:15:36 +0100
Newsgroups gmane.linux.uclinux.actiontec
Message-ID <[email protected]>
Hi,

I'm happy to announce that the code required to run the latest uClinux kernel 
on the DPCM has now been completetly merged into the official uClinux 
codebase. If nobody breaks the code, the next uClinux release (probably 
uClinux-2.4.29-uc1) will support the DPCM out of the box.

Until the new release is out you can either checkout the CVS (see 
http://cvs.uclinux.org/) or use a patch that I have created against the 
vanilla 2.4.29 linux tree (see http://www.kernel.org/) from
http://bettina-attack.de/jonny/download.php/linux-2.4.29-uc0-cvs20050321.diff.bz2

There a three things to note with the new kernel:
- If you want to use the cnxtserial_buildin.o module, some symbols have to be 
exported by the kernel, you can use the patch at 
http://bettina-attack.de/jonny/download.php/actiontec-2.4.27-uc1-patches/export_symbols.diff, 
but I haven't tested if it really works (feedback welcome!!)
- The original romdisk won't work because the included flat binaries are too 
old and/or buggy; you can use the patch at 
http://bettina-attack.de/jonny/download.php/actiontec-2.4.27-uc1-patches/binfmt_flat_workaround.diff
to work around the problem
- Even if you use these two patches, the original romdisk will still not work 
100%, because the iptables will return 'Invalid argument' when you issue the 
'-j MASQUERADE' command, although the other iptables commands seem to work 
fine. I think this is because the iptables from the original romdisk has been 
compiled against the old kernel.

I'll be working on a new romdisk which will work with the new kernel in the 
next few weeks (I've already successfully compiled most of the required 
stuff). However, it will only include 100% GPL stuff, i.e. it will NOT 
include the cnxtserial_buildin.o module and no HTTP configuration facilities.

The nice thing is that we have now plenty of RAM to play with:
---
telnet actionhack
Trying 44.130.186.69...
Connected to actionhack.
Escape character is '^]'.
Using fallback suid method
uClinux login: root
Password:
# free
              total         used         free       shared      buffers
  Mem:         6060          852         5208            0           20
 Swap:            0            0            0
Total:         6060          852         5208
# cat /proc/version
Linux version 2.4.29-uc0-cvs20050321 (jonny@dh3mb) (gcc version 2.95.4 
20010319 (prerelease)) #1 Mon Mar 21 18:48:48 CET 2005
---
Some space savings have been achieved by using XIP for the flat binaries. But 
this results in bigger binaries, so this has to be undone as flash space gets 
tight.

To compile the new kernel, you can use the config file at 
http://bettina-attack.de/jonny/download.php/actiontec-2.4.27-uc1-patches/config-2.4.27-uc1
(rename it to .config) and the following commands:
---
ARCH=armnommu CROSS_COMPILE=arm-elf- make oldconfig
ARCH=armnommu CROSS_COMPILE=arm-elf- make dep
ARCH=armnommu CROSS_COMPILE=arm-elf- make linux
arm-elf-objcopy -O binary linux linux.bin
gzip <linux.bin >linuz
---
make oldconfig will ask you for one thing which you can answer with 'n'.

Cheers, Johann
__
actionhack Mailing List - actionhack-W7/[email protected]
http://www.express.org/mailman/listinfo/actionhack
http://www.embeddedlinuxinterfacing.com/wiki.php/ActiontecDualModem