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, 4 months ago) by misho
Branches: elwix2_6
Diff to: branchpoint 1.6: preferred, unified
adds new script
update build
new sysctl

 -= How-to build ELWIX system project =-
=========================================
$Id: BUILD.txt,v 1.6.2.1 2017/06/13 17:39:31 misho Exp $
=========================================

 I. Intro
 	Before starting any work on ELWIX must we prepare environment.

What this means ::
 - We must downloading freebsd sources from CVS/SVN repository and put on separate place from /usr/src.
Set in config/rc.elwix variable BSDSRC="..." with place where you get freebsd sources.
 - We gather from ELWIX CVS repository kodicom_mux project. After this we need to patch our freebsd
sources like that "cd <where you put freebsd sources>; patch -p0 < <kodicom_mux/contrib/kodicom.patch>"
 - We must checkout from ELWIX CVS repository core libraries "libait*" , "embedtools", "embedaddons" 
and GPLv2 "gpl/*" projects
 - Optional download of 3th party software for ELWIX firmware. Project name is embedaddon from ELWIX CVS

 II. Build system process
 	1. Init build structures with clean directory tree
		./build_init.sh <filename of project config>
	2. Apply custom patches on source
		./build_patches.sh
	3. Cross compile entire userland software
		./build_world.sh
	4. Cross compile ELWIX kernel
		./build_kernel.sh
	5. Cross compile ELWIX tools
		./build_tools.sh
	6. Cross compile optional 3th party software 
		./build_3thparty.sh
---------------------------------------------------------------------------------
	7. Now is moment for build BaseFS ELWIX system
		./build_base.sh
---------------------------------------------------------------------------------
	8. Moment comes for build big system binary and inject rootfs image into kernel
		./build_rootfs.sh
	9. Make romfs image and build big fat second stage firmware image
		./build_romfs.sh
	10. Now is moment for build RootFS ELWIX system
		./build_fs.sh
---------------------------------------------------------------------------------

 Ok, now we did ELWIX version and placed to build/release directory like tar.gz file

 Example of produced tar balls::
 	ELWIX_X.X_target_{base|rootfs|rootfsext}_size_arch_date.tar.gz

 III. Build storage image
 	1. Build ELWIX system into binary fs image file
		./install2img <ELWIX_X.X_target_.....tar.gz> [image_size_in_KB]
	2. Build ELWIX system into direct device
		./install2dev </dev/daX> <ELWIX_X.X_target_.....tar.gz>
	3. Build ELWIX system into separate compressed binary images for u-boot embedded devices
		./install2uboot <kernel|kernel_rootfs|rootfs|bin|vendor>

 IV. Emergency default address
 	IP: 10.254.254.254/30
	VLAN: 4093

	You should setup at your side 10.254.254.253/30 on VLAN 4093

 IV. Information
	For more information
 	Michael Pounov <misho@elwix.org> or <support@elwix.org>

 Best regards
   Michael Pounov
-----
ELWIX - Embedded LightWeight unIX -

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