Setup of Build SystemIn summary, you will need a 32-bit Fedora 10, 11, or 12 system for the GPL code released by ActionTec. I created a folder named Actiontec in my home folder since I wanted to put all of the Actiontec stuff in one place, and then copied jpkg and tar files that I had downloaded from Actiontec to that folder.
Per instructions I untar the source code:
Followed by
Then went back to [my home]/opensource-mi424wr-rev-ef/rg
Per instructions, I run the following make command to create the new image:
Then I realized that the build process needs root access:
So, I enabled the root account in my Ubunto installation by:
Then I tried to recompile: I hot the following, which in short it didn't work: I am guessing there are two potential issues here. Just a quick check to see what OS I am running: Did a grep for OSTYPE, and among many sources, I saw the statement in /rg/pkg/build/config_host.c and I added some debug code and realized Line 127 of this file is where it is outputting the OS not supported message. The function that chokes is the following, and the highlighted line is where ostype is returned as an empty string, instead of linux-gnu. static void conf_ostype(void)
OK, lets force it to be linux by setting ostype="linux-gnu"; But, wait not so fast since that will just make it blew up:
To see if there is an issue with Ubuntu, I downloaded Fedora 11, then followed the instructions word by word. This time the make file failed again. It looks like that rg_gcc is failing to build which results in all of the other builds failing. Tracing the error messages I found the following: This error is because in the 64-bit version of Fedora that I am running the libraries have moved to /lib64 hence /live/ld-linux does not exist! Time to get another virt up and running. This time with Fedora 11, 32-bit. GPL Source Generated BinaryStep 14 will generate vmlinux at /home/[username]/opensource-mi424wr-rev-ef/rg/build.MC524WR/os/linux-2.6. The file that got generated is 29.2 MB, much larger than the 16 MB flash that the device has. I did a LZMA compression to see how compressible this file is
And that resulted in a 4.6 MB file. For reference, (stock ?) firmware that is available at http://upgrade.actiontec.com/MI424WR2/MI424WR2.rmt is 4.91 MB in size. Signature scan of the rmt file for MI424WR-Gen2 (Rev E, F) only shows a single GZIP region, while the vmlinux has three zlib sections, a GZIP block and a CRC32.
Using the process from Rev A/C/D and Rev I GPL SourceFor comparison, I also downloaded the GPL codes for Rev A/C/D and Rev I and went through their compile process. Interestingly I learned a few things.
Using the process for generating Rev A/C/D IMG, Make Ramdisk failed by following (full log is here) Indeed, ramdisk_mount_point is a 0 byte file. It looks like that a bug in one of the scripts created a file instead of a folder. I cleared up the make using make clean, manually created the ramdisk_mount_point folder, and went through the steps again. Make ramdisk seem to complete its build with no errors. However "make -C os openrg.img" failes with the following messages:
|
Home > Actiontec MI424WR Rev-f >