1: # ELWIX project setup
2: #
3: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
4: # by Michael Pounov <misho@elwix.org>
5: #
6: # $Id: rc.elwix.i386,v 1.5.2.3 2024/01/29 13:59:18 misho Exp $
7: #
8: ELWIX_IS_CONFIGURED="YES"
9:
10: VERSION="3.0_x86"
11: PLATFORM="elwix"
12: TIMEZONE="Europe/Sofia"
13: BUILD_DATE=`date "+%Y-%m-%d"`
14:
15: BUILD_NAME="elwix"
16:
17: TARGET="i386"
18: TARGET_ARCH="i386"
19: TARGET_BUILD="${TARGET_ARCH}-${PLATFORM}-freebsd"
20: PARALLEL_BUILD="-j $(sysctl -n hw.ncpu)"
21:
22: CURDIR=$(pwd)
23: CFGDIR="${CURDIR}/config"
24:
25: SRCCONF="${CFGDIR}/src_${TARGET_ARCH}.conf"
26: MAKECONF="${CFGDIR}/make_${TARGET_ARCH}.conf"
27:
28: PREDIR=".."
29:
30: BSDSRC="/usr/home/misho/work/freebsd.src"
31: ADDSRC="/usr/home/misho/work/embedaddon"
32:
33: # Dont change TOPDIR!!!
34: TOPDIR="${CURDIR}/build/${VERSION}"
35: #
36: REL="${TOPDIR}/release"
37: DEST="${TOPDIR}/destdir"
38: OBJS="${TOPDIR}/obj"
39: ADIR="${TOPDIR}/arch"
40:
41: XDEV="${ADIR}/${TARGET_ARCH}/xdev"
42: WORLD="${ADIR}/${TARGET_ARCH}/world"
43: KERN="${ADIR}/${TARGET_ARCH}/kernel"
44: KERN_ROOTFS="${ADIR}/${TARGET_ARCH}/kernel.rootfs"
45: KERN_NFS="${ADIR}/${TARGET_ARCH}/kernel.nfs"
46: PKG="${ADIR}/${TARGET_ARCH}/pkg"
47: AIT="${ADIR}/${TARGET_ARCH}"
48: BSDOBJ="${OBJS}/${TARGET_ARCH}"
49: BSDTOOLS="${BSDSRC}/tools/tools"
50: PKGDIR="${WORLD}/elwix/pkg"
51: CROSSTOOLDIR="${BSDOBJ}/${BSDSRC}/${TARGET}.${TARGET_ARCH}/tmp"
52:
53: ### Compile depended tools for uboot and etc ...
54: COMPILE_DEPTOOLS="YES"
55:
56: ### Kernel
57: BSDKERNCONF="${BSDSRC}/sys/${TARGET_ARCH}/conf"
58: KERNDEVHINTS="${BSDKERNCONF}/GENERIC.hints"
59:
60: KERNHINT="ELWIX_i386.hints"
61:
62: KERNEL="${KERN}/boot/kernel/kernel"
63: KERNCONF="ELWIX_i386"
64:
65: KERNEL_ROOTFS="${KERN_ROOTFS}/boot/kernel/kernel"
66: KERNCONF_ROOTFS="ELWIX_i386_ROOTFS"
67:
68: KERNEL_NFS="${KERN_NFS}/boot/kernel/kernel"
69: KERNCONF_NFS="ELWIX_i386_NFS"
70:
71: ### Rootfs
72: ROOTFS_MKDIR="${ADIR}/${TARGET_ARCH}/elwix"
73: ROOTFS_CONF="elwix_firmware.conf"
74:
75: ROOTFS="${DEST}/rootfs"
76: ROOTFS_ETC="${CFGDIR}/etc/rootfs"
77: ELWIX_ROOTFS="${CFGDIR}/elwix_rootfs.conf"
78:
79: ROOTFS_KERN="kernel_rootfs.gz"
80:
81: ROOTFS_IMG="rootfs.img"
82: ROOTFS_SIZE="13440k"
83:
84: OBJDUMP="/usr/local/bin/i386-unknown-freebsd14.0-objdump"
85:
86: ### tools Firmware
87: LOCALFS_IMG="elwix-pkg.frm"
88:
89: ### 3th party
90: ROMFS_USR2="${DEST}/romfs.pkg"
91: ROMFS_IMG2="elwix-firmware2.sys"
92: #ROMFS_SIZE2="40m"
93:
94: ### RomFS Firmware
95: ROMFS="${DEST}/romfs"
96: ELWIX_ROMFS="${CFGDIR}/elwix_romfs.conf"
97:
98: ROMFS_USR="${ROMFS}/usr"
99: ROMFS_IMG="elwix-firmware.sys"
100: #ROMFS_SIZE="38m"
101:
102: ### Base Firmware
103: BASEFS="${DEST}/base"
104: ELWIX_BASEFS="${CFGDIR}/elwix_base.conf"
105:
106: BASE_FS="${DEST}/base.fs"
107: BASE_ETC="${CFGDIR}/etc/default"
108: BASE_OS="ELWIX-${VERSION}_base_128mb_${TARGET_ARCH}_${BUILD_DATE}.tar.gz"
109:
110: ### FS Image
111: FS="${DEST}/elwix.fs"
112: FS_ETC="${CFGDIR}/etc/default"
113: OS="ELWIX-${VERSION}_rootfs_64mb_${TARGET_ARCH}_${BUILD_DATE}.tar.gz"
114:
115: FS_EXT="${DEST}/elwix_ext.fs"
116: FS_EXT_ETC="${CFGDIR}/etc/default"
117: OS_EXT="ELWIX-${VERSION}_rootfsext_128mb_${TARGET_ARCH}_${BUILD_DATE}.tar.gz"
118:
119: ### Make OS Image
120: IMG_SIZE=62592
121: IMG_SIZE128=125100
122: IMG_SIZE256=251496
123: IMG_SIZE512=500472
124:
125: CFG_NAND_SIZE=524288
126:
127: IMGNAME="${REL}/ELWIX-${VERSION}_${TARGET_ARCH}"
128:
129: ### Cross
130: CBUILD="${DEST}/cross_build.sh"
131: CGBUILD="${DEST}/cross_gbuild.sh"
132: CEXEC="${DEST}/cross_exec.sh"
133: CENV="${DEST}/cross_env.sh"
134:
135: CROSS_FT_ATH="${BSDTOOLS}/ath"
136: CROSS_FT_IPW="${BSDTOOLS}/ipw"
137: CROSS_FT_IWI="${BSDTOOLS}/iwi"
138: CROSS_FT_MWL="${BSDTOOLS}/mwl"
139: CROSS_FT_NET80211="${BSDTOOLS}/net80211"
140: CROSS_FT_VIMAGE="${BSDTOOLS}/vimage"
141: CROSS_FT_WTAP="${BSDTOOLS}/wtap"
142: CROSS_FT_CXGB="${BSDTOOLS}/cxgbtool"
143: CROSS_FT_IFINFO="${BSDTOOLS}/ifinfo"
144: CROSS_FT_MCTEST="${BSDTOOLS}/mctest"
145: CROSS_FT_NETMAP="${BSDTOOLS}/netmap"
146: CROSS_FT_NETBLAST="${BSDTOOLS}/netrate/netblast"
147: CROSS_FT_NETRCV="${BSDTOOLS}/netrate/netreceive"
148: CROSS_FT_NETSND="${BSDTOOLS}/netrate/netsend"
149:
150: CROSS_PATH="../"
151: CROSS_TOOLS="libelwix
152: libaitsched
153: libaitcfg
154: libaitio
155: libaitrpc
156: libaitwww
157: libaitsync
158: libaitcli
159: libaitmqtt
160: embedtools
161: ansh mqtt
162: wifinator
163: tftpd"
164: CROSS_PFX="--prefix=${WORLD}/usr/local --host=${TARGET_BUILD}"
165:
166: # additional options to software // <cross_tools_item>_OPTS
167: libaitio_OPTS="--enable-aio"
168: libaitsched_OPTS="--enable-aio"
169: mqtt_OPTS="--with-sqlite3dir=${WORLD}/usr/local"
170:
171: # 3th party softwares
172: CROSS_3THPATH="../embedaddon/"
173: CROSS_3THPARTY="mini_sendmail ttcp iperf hping2
174: miniupnpc
175: libnet arping mtr bmon
176: mpd dnsmasq freevrrpd
177: ipguard choparp
178: pimd pimdd
179: readline bird bird6"
180:
181: mini_sendmail_MAKE="${CBUILD}"
182: ttcp_MAKE="${CBUILD}"
183: iperf_MAKE="${CBUILD}"
184: libnet_MAKE="${CBUILD}"
185: arping_MAKE="${CGBUILD}"
186: hping2_MAKE="${CBUILD}"
187: mtr_MAKE="${CBUILD}"
188: bmon_MAKE="${CGBUILD}"
189: mpd_MAKE="${CBUILD}"
190: dnsmasq_MAKE="${CBUILD}"
191: pimd_MAKE="${CBUILD}"
192: pimdd_MAKE="${CBUILD}"
193: freevrrpd_MAKE="${CBUILD}"
194: ipguard_MAKE="${CBUILD}"
195: choparp_MAKE="${CBUILD}"
196: readline_MAKE="${CGBUILD}"
197: bird_MAKE="${CGBUILD}"
198: bird6_MAKE="${CGBUILD}"
199: miniupnpc_MAKE="${CGBUILD}"
200: miniupnpd_MAKE="${CBUILD}"
201:
202: #####
203: [ -r ${CFGDIR}/rc.subr ] && . ${CFGDIR}/rc.subr
204: #####
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>