build: migrate serial handling used by nano and serial image

Can now set SPEED=115200 during the build step for maximum flexibility.
This commit is contained in:
Franco Fichtner 2016-05-23 22:06:57 +02:00
parent f5aedf0b3a
commit f4f7723881
6 changed files with 32 additions and 30 deletions

View File

@ -26,6 +26,7 @@ TYPE?= opnsense
FLAVOUR?= OpenSSL
SETTINGS?= 16.1
DEVICE?= a10
SPEED?= 115200
MIRRORS?= https://opnsense.c0urier.net \
http://mirrors.nycbug.org/pub/opnsense \
http://mirror.wdc1.us.leaseweb.net/opnsense \
@ -79,5 +80,6 @@ ${STEP}: lint
-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}" ${${STEP}_ARGS}
-m ${MIRRORS:Ox:[1]} -o "${STAGEDIRPREFIX}" -c ${SPEED} \
${${STEP}_ARGS}
.endfor

View File

@ -82,6 +82,7 @@ Available build options are:
* 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 name of the meta package to be installed
* VERSION: a version tag (if applicable)

View File

@ -40,12 +40,16 @@ usage()
exit 1
}
while getopts C:d:f:K:k:L:l:m:n:o:P:p:R:S:s:T:t:v: OPT; do
while getopts C:c:d:f:K:k:L:l:m:n:o:P:p:R:S:s:T:t:v: OPT; do
case ${OPT} in
C)
export COREDIR=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
c)
export PRODUCT_SPEED=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
d)
export PRODUCT_DEVICE=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
@ -135,6 +139,7 @@ if [ -z "${PRODUCT_NAME}" -o \
-z "${PRODUCT_PRIVKEY}" -o \
-z "${PRODUCT_PUBKEY}" -o \
-z "${PRODUCT_DEVICE}" -o \
-z "${PRODUCT_SPEED}" -o \
-z "${TOOLSDIR}" -o \
-z "${PLUGINSDIR}" -o \
-z "${PORTSDIR}" -o \
@ -149,12 +154,6 @@ export PRODUCT_SIGNCMD=${PRODUCT_SIGNCMD:-"${TOOLSDIR}/scripts/pkg_sign.sh ${PRO
export PRODUCT_SIGNCHK=${PRODUCT_SIGNCHK:-"${TOOLSDIR}/scripts/pkg_fingerprint.sh ${PRODUCT_PUBKEY}"}
export PRODUCT_RELEASE="${PRODUCT_NAME}-${PRODUCT_VERSION}-${PRODUCT_FLAVOUR}"
# serial bootstrapping
export SERIAL_SPEED="115200"
SERIAL_CONFIG="<enableserial>1</enableserial>"
SERIAL_CONFIG="${SERIAL_CONFIG}<serialspeed>${SERIAL_SPEED}</serialspeed>"
export SERIAL_CONFIG="${SERIAL_CONFIG}<primaryconsole>serial</primaryconsole>"
# misc. foo
export CONFIG_PKG="/usr/local/etc/pkg/repos/origin.conf"
export CPUS=$(sysctl kern.smp.cpus | awk '{ print $2 }')
@ -586,6 +585,24 @@ setup_packages()
clean_packages ${1}
}
setup_serial()
{
SERIAL_CONFIG="<enableserial>1</enableserial>"
SERIAL_CONFIG="${SERIAL_CONFIG}<serialspeed>${PRODUCT_SPEED}</serialspeed>"
SERIAL_CONFIG="${SERIAL_CONFIG}<primaryconsole>serial</primaryconsole>"
echo "-S${PRODUCT_SPEED} -D" > ${1}/boot.config
cat > ${1}/boot/loader.conf << EOF
boot_multicons="YES"
boot_serial="YES"
console="comconsole,vidconsole"
comconsole_speed="${PRODUCT_SPEED}"
EOF
sed -i '' -e "s:</system>:${SERIAL_CONFIG}</system>:" ${1}${CONFIG_XML}
}
_setup_extras_generic()
{
if [ ! -f ${CONFIGDIR}/extras.conf ]; then

View File

@ -49,6 +49,7 @@ setup_stage ${STAGEDIR} mnt work
setup_base ${STAGEDIR}/work
setup_kernel ${STAGEDIR}/work
setup_packages ${STAGEDIR}/work
setup_serial ${STAGEDIR}/work
setup_extras ${STAGEDIR}/work ${SELF}
MD=$(mdconfig -a -t swap -s ${NANO_MEDIASIZE} -x ${NANO_SECTS} -y ${NANO_HEADS})

View File

@ -45,6 +45,7 @@ setup_stage ${STAGEDIR}
setup_base ${STAGEDIR}
setup_kernel ${STAGEDIR}
setup_packages ${STAGEDIR}
setup_serial ${STAGEDIR}
setup_extras ${STAGEDIR} ${SELF}
setup_mtree ${STAGEDIR}
setup_entropy ${STAGEDIR}

View File

@ -1,29 +1,9 @@
nano_hook()
{
echo "-S${SERIAL_SPEED} -D" > ${1}/boot.config
cat > ${1}/boot/loader.conf << EOF
cat >> ${1}/boot/loader.conf << EOF
kern.geom.part.check_integrity=0
boot_multicons="YES"
boot_serial="YES"
console="comconsole,vidconsole"
comconsole_speed="${SERIAL_SPEED}"
EOF
sed -i '' -e "s:</system>:${SERIAL_CONFIG}<use_mfs_tmpvar/></system>:" \
sed -i '' -e "s:</system>:<use_mfs_tmpvar/></system>:" \
${1}${CONFIG_XML}
}
serial_hook()
{
echo "-S${SERIAL_SPEED} -D" > ${1}/boot.config
cat > ${1}/boot/loader.conf << EOF
boot_multicons="YES"
boot_serial="YES"
console="comconsole,vidconsole"
comconsole_speed="${SERIAL_SPEED}"
EOF
sed -i '' -e "s:</system>:${SERIAL_CONFIG}</system>:" ${1}${CONFIG_XML}
}