1: -= How-to build ELWIX system project =-
2: =========================================
3: $Id: BUILD.txt,v 1.6 2017/02/13 16:52:46 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. Cross compile entire userland software
22: ./build_world.sh
23: 3. Cross compile ELWIX kernel
24: ./build_kernel.sh
25: 4. Cross compile ELWIX tools
26: ./build_tools.sh
27: 5. Cross compile optional 3th party software
28: ./build_3thparty.sh
29: ---------------------------------------------------------------------------------
30: 6. Now is moment for build BaseFS ELWIX system
31: ./build_base.sh
32: ---------------------------------------------------------------------------------
33: 7. Moment comes for build big system binary and inject rootfs image into kernel
34: ./build_rootfs.sh
35: 8. Make romfs image and build big fat second stage firmware image
36: ./build_romfs.sh
37: 9. Now is moment for build RootFS ELWIX system
38: ./build_fs.sh
39: ---------------------------------------------------------------------------------
40:
41: Ok, now we did ELWIX version and placed to build/release directory like tar.gz file
42:
43: Example of produced tar balls::
44: ELWIX_X.X_target_{base|rootfs|rootfsext}_size_arch_date.tar.gz
45:
46: III. Build storage image
47: 1. Build ELWIX system into binary fs image file
48: ./install2img <ELWIX_X.X_target_.....tar.gz> [image_size_in_KB]
49: 2. Build ELWIX system into direct device
50: ./install2dev </dev/daX> <ELWIX_X.X_target_.....tar.gz>
51: 3. Build ELWIX system into separate compressed binary images for u-boot embedded devices
52: ./install2uboot <kernel|kernel_rootfs|rootfs|bin|vendor>
53:
54: IV. Emergency default address
55: IP: 10.254.254.254/30
56: VLAN: 4093
57:
58: You should setup at your side 10.254.254.253/30 on VLAN 4093
59:
60: IV. Information
61: For more information
62: Michael Pounov <misho@elwix.org> or <support@elwix.org>
63:
64: Best regards
65: Michael Pounov
66: -----
67: ELWIX - Embedded LightWeight unIX -
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>