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>