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:
parent
f5aedf0b3a
commit
f4f7723881
4
Makefile
4
Makefile
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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})
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue