# ELWIX project setup
#
# (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
# by Michael Pounov <misho@elwix.org>
#
# $Id: rc.elwix.amd64,v 1.4 2021/07/16 18:35:50 misho Exp $
#
ELWIX_IS_CONFIGURED="YES"
VERSION="2.7_amd64"
PLATFORM="elwix"
TIMEZONE="Europe/Sofia"
BUILD_DATE=`date "+%Y-%m-%d"`
TARGET="amd64"
TARGET_ARCH="amd64"
TARGET_BUILD="${TARGET_ARCH}-${PLATFORM}-freebsd"
PARALLEL_BUILD="-j8"
CURDIR=$(pwd)
CFGDIR="${CURDIR}/config"
SRCCONF="${CFGDIR}/src_${TARGET}.conf"
MAKECONF="${CFGDIR}/make_${TARGET}.conf"
PREDIR=".."
# Dont change TOPDIR!!!
TOPDIR="${CURDIR}/build/${VERSION}"
#
BSDSRC="/usr/home/misho/work/freebsd.src"
ADDSRC="/usr/home/misho/work/embedaddon"
REL="${TOPDIR}/release"
DEST="${TOPDIR}/destdir"
OBJS="${TOPDIR}/obj"
ADIR="${TOPDIR}/arch"
WORLD="${ADIR}/${TARGET_ARCH}/world"
KERN="${ADIR}/${TARGET_ARCH}/kernel"
KERN_ROOTFS="${ADIR}/${TARGET_ARCH}/kernel.rootfs"
KERN_NFS="${ADIR}/${TARGET_ARCH}/kernel.nfs"
PKG="${ADIR}/${TARGET_ARCH}/pkg"
AIT="${ADIR}/${TARGET_ARCH}"
BSDOBJ="${OBJS}/${TARGET_ARCH}"
BSDTOOLS="${BSDSRC}/tools/tools"
PKGDIR="${WORLD}/elwix/pkg"
CROSSTOOLDIR="${BSDOBJ}/${BSDSRC}/${TARGET}.${TARGET_ARCH}/tmp"
### Kernel
BSDKERNCONF="${BSDSRC}/sys/${TARGET}/conf"
KERNDEVHINTS="${BSDKERNCONF}/GENERIC.hints"
KERNHINT="ELWIX_amd64.hints"
KERNEL="${KERN}/boot/kernel/kernel"
KERNCONF="ELWIX_amd64"
KERNEL_ROOTFS="${KERN_ROOTFS}/boot/kernel/kernel"
KERNCONF_ROOTFS="ELWIX_amd64_ROOTFS"
KERNEL_NFS="${KERN_NFS}/boot/kernel/kernel"
KERNCONF_NFS="ELWIX_amd64_NFS"
### Rootfs
ROOTFS_MKDIR="${ADIR}/${TARGET_ARCH}/elwix"
ROOTFS_CONF="elwix_firmware.conf"
ROOTFS="${DEST}/rootfs"
ROOTFS_ETC="${CFGDIR}/etc/rootfs"
ELWIX_ROOTFS="${CFGDIR}/elwix_rootfs.conf"
ROOTFS_KERN="kernel_rootfs.gz"
ROOTFS_IMG="rootfs.img"
ROOTFS_SIZE="13440k"
OBJDUMP="/usr/local/bin/x86_64-unknown-freebsd14.0-objdump"
### tools Firmware
LOCALFS_IMG="elwix-pkg.frm"
### 3th party
ROMFS_USR2="${DEST}/romfs.pkg"
ROMFS_IMG2="elwix-firmware2.sys"
#ROMFS_SIZE2="40m"
### RomFS Firmware
ROMFS="${DEST}/romfs"
ELWIX_ROMFS="${CFGDIR}/elwix_romfs.conf"
ROMFS_USR="${ROMFS}/usr"
ROMFS_IMG="elwix-firmware.sys"
#ROMFS_SIZE="38m"
### Base Firmware
BASEFS="${DEST}/base"
ELWIX_BASEFS="${CFGDIR}/elwix_base.conf"
BASE_FS="${DEST}/base.fs"
BASE_ETC="${CFGDIR}/etc/default"
BASE_OS="ELWIX-${VERSION}_base_128mb_${TARGET_ARCH}_${BUILD_DATE}.tar.gz"
### FS Image
FS="${DEST}/elwix.fs"
FS_ETC="${CFGDIR}/etc/default"
OS="ELWIX-${VERSION}_rootfs_64mb_${TARGET_ARCH}_${BUILD_DATE}.tar.gz"
FS_EXT="${DEST}/elwix_ext.fs"
FS_EXT_ETC="${CFGDIR}/etc/default"
OS_EXT="ELWIX-${VERSION}_rootfsext_128mb_${TARGET_ARCH}_${BUILD_DATE}.tar.gz"
### Make OS Image
IMG_SIZE=62592
IMG_SIZE128=125100
IMG_SIZE256=251496
IMG_SIZE512=500472
CFG_NAND_SIZE=524288
IMGNAME="${REL}/ELWIX-${VERSION}_${TARGET_ARCH}"
### Cross
CBUILD="${DEST}/cross_build.sh"
CGBUILD="${DEST}/cross_gbuild.sh"
CEXEC="${DEST}/cross_exec.sh"
CENV="${DEST}/cross_env.sh"
CROSS_FT_ATH="${BSDTOOLS}/ath"
CROSS_FT_IPW="${BSDTOOLS}/ipw"
CROSS_FT_IWI="${BSDTOOLS}/iwi"
CROSS_FT_MWL="${BSDTOOLS}/mwl"
CROSS_FT_NET80211="${BSDTOOLS}/net80211"
CROSS_FT_VIMAGE="${BSDTOOLS}/vimage"
CROSS_FT_WTAP="${BSDTOOLS}/wtap"
CROSS_FT_CXGB="${BSDTOOLS}/cxgbtool"
CROSS_FT_IFINFO="${BSDTOOLS}/ifinfo"
CROSS_FT_MCTEST="${BSDTOOLS}/mctest"
CROSS_FT_NETMAP="${BSDTOOLS}/netmap"
CROSS_FT_NETBLAST="${BSDTOOLS}/netrate/netblast"
CROSS_FT_NETRCV="${BSDTOOLS}/netrate/netreceive"
CROSS_FT_NETSND="${BSDTOOLS}/netrate/netsend"
CROSS_PATH="../"
CROSS_TOOLS="libelwix
libaitsched
libaitcfg
libaitio
libaitrpc
libaitwww
libaitsync
libaitcli
libaitmqtt
embedtools
ansh mqtt
wifinator
tftpd"
CROSS_PFX="--prefix=${WORLD}/usr/local --host=${TARGET_BUILD}"
# additional options to software // <cross_tools_item>_OPTS
libaitio_OPTS="--enable-aio"
libaitsched_OPTS="--enable-aio"
mqtt_OPTS="--with-sqlite3dir=${WORLD}/usr/local"
# 3th party softwares
CROSS_3THPATH="../embedaddon/"
CROSS_3THPARTY="mini_sendmail curl strongswan
ttcp iperf lrzsz
libnet arping
hping2 mtr
bmon
mpd dnsmasq pimd pimdd freevrrpd ipguard choparp
readline bird2"
mini_sendmail_MAKE="${CBUILD}"
ttcp_MAKE="${CBUILD}"
iperf_MAKE="${CBUILD}"
lrzsz_MAKE="${CBUILD}"
libnet_MAKE="${CBUILD}"
arping_MAKE="${CBUILD}"
hping2_MAKE="${CBUILD}"
mtr_MAKE="${CBUILD}"
bmon_MAKE="${CGBUILD}"
mpd_MAKE="${CBUILD}"
dnsmasq_MAKE="${CBUILD}"
pimd_MAKE="${CBUILD}"
pimdd_MAKE="${CBUILD}"
freevrrpd_MAKE="${CBUILD}"
ipguard_MAKE="${CBUILD}"
choparp_MAKE="${CBUILD}"
readline_MAKE="${CGBUILD}"
bird2_MAKE="${CGBUILD}"
bird_MAKE="${CGBUILD}"
bird6_MAKE="${CGBUILD}"
curl_MAKE="${CBUILD}"
strongswan_MAKE="${CGBUILD}"
#####
[ -r ${CFGDIR}/rc.subr ] && . ${CFGDIR}/rc.subr
#####
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>