File:  [ELWIX - Embedded LightWeight unIX -] / elwix / BUILD.txt
Revision 1.6.2.1: download - view: text, annotated - select for diffs - revision graph
Tue Jun 13 17:39:31 2017 UTC (7 years ago) by misho
Branches: elwix2_6
Diff to: branchpoint 1.6: preferred, unified
adds new script
update build
new sysctl

    1:  -= How-to build ELWIX system project =-
    2: =========================================
    3: $Id: BUILD.txt,v 1.6.2.1 2017/06/13 17:39:31 misho Exp $
    4: =========================================
    5: 
    6:  I. Intro
    7:  	Before starting any work on ELWIX must we prepare environment.
    8: 
    9: What this means ::
   10:  - We must downloading freebsd sources from CVS/SVN repository and put on separate place from /usr/src.
   11: Set in config/rc.elwix variable BSDSRC="..." with place where you get freebsd sources.
   12:  - We gather from ELWIX CVS repository kodicom_mux project. After this we need to patch our freebsd
   13: sources like that "cd <where you put freebsd sources>; patch -p0 < <kodicom_mux/contrib/kodicom.patch>"
   14:  - We must checkout from ELWIX CVS repository core libraries "libait*" , "embedtools", "embedaddons" 
   15: and GPLv2 "gpl/*" projects
   16:  - Optional download of 3th party software for ELWIX firmware. Project name is embedaddon from ELWIX CVS
   17: 
   18:  II. Build system process
   19:  	1. Init build structures with clean directory tree
   20: 		./build_init.sh <filename of project config>
   21: 	2. Apply custom patches on source
   22: 		./build_patches.sh
   23: 	3. Cross compile entire userland software
   24: 		./build_world.sh
   25: 	4. Cross compile ELWIX kernel
   26: 		./build_kernel.sh
   27: 	5. Cross compile ELWIX tools
   28: 		./build_tools.sh
   29: 	6. Cross compile optional 3th party software 
   30: 		./build_3thparty.sh
   31: ---------------------------------------------------------------------------------
   32: 	7. Now is moment for build BaseFS ELWIX system
   33: 		./build_base.sh
   34: ---------------------------------------------------------------------------------
   35: 	8. Moment comes for build big system binary and inject rootfs image into kernel
   36: 		./build_rootfs.sh
   37: 	9. Make romfs image and build big fat second stage firmware image
   38: 		./build_romfs.sh
   39: 	10. Now is moment for build RootFS ELWIX system
   40: 		./build_fs.sh
   41: ---------------------------------------------------------------------------------
   42: 
   43:  Ok, now we did ELWIX version and placed to build/release directory like tar.gz file
   44: 
   45:  Example of produced tar balls::
   46:  	ELWIX_X.X_target_{base|rootfs|rootfsext}_size_arch_date.tar.gz
   47: 
   48:  III. Build storage image
   49:  	1. Build ELWIX system into binary fs image file
   50: 		./install2img <ELWIX_X.X_target_.....tar.gz> [image_size_in_KB]
   51: 	2. Build ELWIX system into direct device
   52: 		./install2dev </dev/daX> <ELWIX_X.X_target_.....tar.gz>
   53: 	3. Build ELWIX system into separate compressed binary images for u-boot embedded devices
   54: 		./install2uboot <kernel|kernel_rootfs|rootfs|bin|vendor>
   55: 
   56:  IV. Emergency default address
   57:  	IP: 10.254.254.254/30
   58: 	VLAN: 4093
   59: 
   60: 	You should setup at your side 10.254.254.253/30 on VLAN 4093
   61: 
   62:  IV. Information
   63: 	For more information
   64:  	Michael Pounov <misho@elwix.org> or <support@elwix.org>
   65: 
   66:  Best regards
   67:    Michael Pounov
   68: -----
   69: ELWIX - Embedded LightWeight unIX -

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>