-= 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>