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