
============ FW binary layout =============================================
Flash memory (FW binary) layout is listed below:

        8Mbytes
   +-----------------------+
   | 0x0000:0000           |
   |   Loader              | <- Loader (FW upgrade will not over write
   |                       |    this block.)  
   |     ------------------|
   |     0x0003:ffb0       |
   |       Mac_Address     |   <- Automatically enter the Mac-assign mode 
   |                       |      if it is blank.
   +=======================+
   | 0x0004:0000           |
   |   Configuration       | <- Device settings are stored here, automatically
   |                       |    generated at power-on if it is blank.
   +-----------------------+
   | 0x0006:0000           |
   |   Linux_Kernel        | <- Linux kernel
   |                       |
   +-----------------------+
   | 0x0016:0000           |
   |   File_System         | <- Linux file system
   |                       |
   |     ------------------|
   |     0x007F:FFF0       |
   |       PID             |   <-  Product ID
   |                       |
   +-----------------------+

============ ARM Linux toolchain ===========================================
arm-linux-tools.tar.gz 	   Toolchain (x86 version RedHat 7.x)

============ FNS-1000 source codes ==========================================
FNS-1000_V27R14_GPL.tgz

   Foilder/file             Description                   
   -----------------------  ------------------------------------------------
   /FNS-1000_V27R14_GPL/source        		Application 
    
    
   /FNS-1000_V27R14_GPL/linux-2.4.x.dongle/      	Linux_Kernel
   
   /FNS-1000_V27R14_GPL/Makefile       	A make file to build "Linux_Kernel" 
                            			and "File_System" 
    
   /FNS-1000_V27R14_GPL/diff/         	Binaries of "Loader", "Linux_Kernel" and 
                           	"File_System" are put here.
		     	  	Also include a tool to combine "Loader", "Linux_Kernel", 
                            	and "File_System".

============ FNS-1000_V27R14 FW binary (FNS-1000_V27R14.bin) build procedure ===========
1. Install ARM Linux toolchain in RedHat 7.x (x86 version for IBM PC)

   Un-tar "arm-linux-tools.tar.gz" to "\usr\local\" folder.
   
2. Install FNS-1000_V27R14 source codes and change to the source code folder

   Un-tar "FNS-1000_V27R14_GPL.tgz" to a source code folder.
   change to the source code folder.

3. Setup ARM Linux toolchain workiing environment variables

   #vi ~/.bash_profile (No need to edit the file if your path has already include "/usr/local/bin")
   PATH=$PATH:/usr/local/bin 
   #logout
   Login then change to the source code directory.


4. Clear all objects and libraires, and set the environment variables.

   #make env
   #make clean 
   #make ramdisk
  
5. Build "Linux_Kernel" and "File_System"

   #make dep
   #make zImage
   #make modules
   #cd source
   #make
   #cd ../
   #make sourcei
   #make ram

6. Use "mipsBind" to build FNS-1000_V27R14 FW binary file (FNS-1000_V27R14.bin)

   #make bin
   #cd diff/simple_nas/DDC
   #mv simple_nas.bin FNS-1000_V27R14.bin

      0x0000:0000-0x0004:0000  RedBoot Loader
      0x0004:0000-0x0006:0000  Configuration <-- Not required, auto-generated at power on
      0x0006:0000-0x0016:0000  Linux_Kernel
      0x0016:0000-0x0080:0000  File System
      => 0x0000:0000-0x0080:0000 FNS-1000_V27R14.bin
      
   Notes: There are descriptions for all targets of the MakefileOne file in file "FNS-1000_V27R14_GPL/README".
      
