build/kernel: allow to build GENERIC through KERNEL=GENERIC

This commit is contained in:
Franco Fichtner 2016-12-26 11:08:46 +01:00
parent b995584a04
commit 7a7a5c42e1
4 changed files with 29 additions and 13 deletions

View File

@ -17,6 +17,7 @@ lint:
# Special vars to load early build.conf settings:
TOOLSDIR?= /usr/tools
TOOLSBRANCH?= master
SETTINGS?= 16.7
CONFIG?= ${TOOLSDIR}/config/${SETTINGS}/build.conf
@ -31,6 +32,7 @@ SUFFIX?= #-devel
FLAVOUR?= OpenSSL
_ARCH!= uname -p
ARCH?= ${_ARCH}
KERNEL?= SMP
DEVICE?= a10
SPEED?= 115200
UEFI?= yes
@ -86,12 +88,13 @@ VERBOSE_HIDDEN= @
.for STEP in ${STEPS}
${STEP}: lint
${VERBOSE_HIDDEN} cd ${.CURDIR}/build && \
sh ${VERBOSE_FLAGS} ./${.TARGET}.sh -a ${ARCH} \
sh ${VERBOSE_FLAGS} ./${.TARGET}.sh -a ${ARCH} -F ${KERNEL} \
-f ${FLAVOUR} -n ${NAME} -v ${VERSION} -s ${SETTINGS} \
-S ${SRCDIR} -P ${PORTSDIR} -p ${PLUGINSDIR} -T ${TOOLSDIR} \
-C ${COREDIR} -R ${PORTSREFDIR} -t ${TYPE} -k "${PRIVKEY}" \
-K "${PUBKEY}" -l "${SIGNCHK}" -L "${SIGNCMD}" -d ${DEVICE} \
-m ${MIRRORS:Ox:[1]} -o "${STAGEDIRPREFIX}" -c ${SPEED} \
-b ${SRCBRANCH} -B ${PORTSBRANCH} -e ${PLUGINSBRANCH} \
-E ${COREBRANCH} -u "${UEFI:tl}" -U "${SUFFIX}" ${${STEP}_ARGS}
-g ${TOOLSBRANCH} -E ${COREBRANCH} -u "${UEFI:tl}" \
-U "${SUFFIX}" ${${STEP}_ARGS}
.endfor

View File

@ -71,17 +71,21 @@ All build steps are invoked via make(1):
# make step OPTION="value"
Available early build options are:
* CONFIG: reads the below from the specified file
* SETTINGS: the name of the requested config directory
Available build options are:
* ARCH: the target architecture if not native
* CONFIG: reads the below from the specified file
* DEVICE: loads device-specific modifications, e.g. "a10" (default)
* FLAVOUR: "OpenSSL" (default), "LibreSSL", "Base"
* KERNEL: the kernel config to use, e.g. SMP (default)
* MIRRORS: a list of mirrors to prefetch sets from
* NAME: "OPNsense" (default)
* PRIVKEY: the private key for signing sets
* PUBKEY: the public key for signing sets
* SETTINGS: the name of the selected settings in config/
* SPEED: serial speed, e.g. "115200" (default)
* TYPE: the base name of the top package to be installed
* SUFFIX: the suffix of top package name (empty, "-stable", "-devel")

View File

@ -28,7 +28,7 @@
set -e
OPTS="a:B:b:C:c:d:E:e:f:K:k:L:l:m:n:o:P:p:R:S:s:T:t:U:u:v:"
OPTS="a:B:b:C:c:d:E:e:f:F:g:K:k:L:l:m:n:o:P:p:R:S:s:T:t:U:u:v:"
SCRUB_ARGS=":"
while getopts ${OPTS} OPT; do
@ -79,6 +79,14 @@ while getopts ${OPTS} OPT; do
export PRODUCT_FLAVOUR=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
F)
export PRODUCT_KERNEL=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
g)
export TOOLSBRANCH=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
K)
if [ -n "${OPTARG}" ]; then
export PRODUCT_PUBKEY=${OPTARG}
@ -183,11 +191,13 @@ if [ -z "${PRODUCT_NAME}" -o \
-z "${PRODUCT_MIRROR}" -o \
-z "${PRODUCT_DEVICE}" -o \
-z "${PRODUCT_SPEED}" -o \
-z "${PRODUCT_KERNEL}" -o \
-z "${PLUGINSBRANCH}" -o \
-z "${PLUGINSDIR}" -o \
-z "${PORTSBRANCH}" -o \
-z "${PORTSDIR}" -o \
-z "${PORTSREFDIR}" -o \
-z "${TOOLSBRANCH}" -o \
-z "${TOOLSDIR}" -o \
-z "${COREBRANCH}" -o \
-z "${COREDIR}" -o \
@ -699,7 +709,6 @@ clean_packages()
setup_packages()
{
# legacy package extract
extract_packages ${1}
install_packages ${@} ${PRODUCT_PKGNAME}
clean_packages ${1}

View File

@ -43,16 +43,16 @@ git_describe ${SRCDIR}
KERNEL_SET=${SETSDIR}/kernel-${REPO_VERSION}-${PRODUCT_ARCH}
BUILD_KERNEL="SMP"
if [ -f ${CONFIGDIR}/${BUILD_KERNEL}.${PRODUCT_ARCH} ]; then
BUILD_KERNEL="${BUILD_KERNEL}.${PRODUCT_ARCH}"
if [ -f ${CONFIGDIR}/${PRODUCT_KERNEL}.${PRODUCT_ARCH} ]; then
cp "${CONFIGDIR}/${PRODUCT_KERNEL}.${PRODUCT_ARCH}" \
"${SRCDIR}/sys/${PRODUCT_TARGET}/conf/${PRODUCT_KERNEL}"
elif [ -f ${CONFIGDIR}/${PRODUCT_KERNEL} ]; then
cp "${CONFIGDIR}/${PRODUCT_KERNEL}" \
"${SRCDIR}/sys/${PRODUCT_TARGET}/conf/${PRODUCT_KERNEL}"
fi
cp ${CONFIGDIR}/${BUILD_KERNEL} \
${SRCDIR}/sys/${PRODUCT_TARGET}/conf/${BUILD_KERNEL}
MAKE_ARGS="TARGET_ARCH=${PRODUCT_ARCH} TARGET=${PRODUCT_TARGET}"
MAKE_ARGS="${MAKE_ARGS} KERNCONF=${BUILD_KERNEL} __MAKE_CONF="
MAKE_ARGS="${MAKE_ARGS} KERNCONF=${PRODUCT_KERNEL} __MAKE_CONF="
${ENV_FILTER} make -s -C${SRCDIR} -j${CPUS} buildkernel ${MAKE_ARGS} NO_KERNELCLEAN=yes
${ENV_FILTER} make -s -C${SRCDIR}/release obj ${MAKE_ARGS}