Annotation of elwix/BUILD.txt, revision 1.6.2.1
1.2 misho 1: -= How-to build ELWIX system project =-
2: =========================================
1.6.2.1 ! misho 3: $Id: BUILD.txt,v 1.6 2017/02/13 16:52:46 misho Exp $
1.2 misho 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:
1.6 misho 18: II. Build system process
1.2 misho 19: 1. Init build structures with clean directory tree
1.5 misho 20: ./build_init.sh <filename of project config>
1.6.2.1 ! misho 21: 2. Apply custom patches on source
! 22: ./build_patches.sh
! 23: 3. Cross compile entire userland software
1.2 misho 24: ./build_world.sh
1.6.2.1 ! misho 25: 4. Cross compile ELWIX kernel
1.2 misho 26: ./build_kernel.sh
1.6.2.1 ! misho 27: 5. Cross compile ELWIX tools
1.2 misho 28: ./build_tools.sh
1.6.2.1 ! misho 29: 6. Cross compile optional 3th party software
1.2 misho 30: ./build_3thparty.sh
1.6 misho 31: ---------------------------------------------------------------------------------
1.6.2.1 ! misho 32: 7. Now is moment for build BaseFS ELWIX system
1.3 misho 33: ./build_base.sh
1.6 misho 34: ---------------------------------------------------------------------------------
1.6.2.1 ! misho 35: 8. Moment comes for build big system binary and inject rootfs image into kernel
1.2 misho 36: ./build_rootfs.sh
1.6.2.1 ! misho 37: 9. Make romfs image and build big fat second stage firmware image
1.2 misho 38: ./build_romfs.sh
1.6.2.1 ! misho 39: 10. Now is moment for build RootFS ELWIX system
1.2 misho 40: ./build_fs.sh
1.6 misho 41: ---------------------------------------------------------------------------------
1.2 misho 42:
43: Ok, now we did ELWIX version and placed to build/release directory like tar.gz file
44:
1.6 misho 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
1.2 misho 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>