Skip to content

Instantly share code, notes, and snippets.

@Nosion
Last active April 11, 2017 12:36
Show Gist options
  • Save Nosion/01e652c8ca372bb193219a60836a1307 to your computer and use it in GitHub Desktop.
Save Nosion/01e652c8ca372bb193219a60836a1307 to your computer and use it in GitHub Desktop.
set -e
PACKAGES_DIR="/packs"
SETS_DIR="/home/jakob/sets"
TMPWORK_DIR="/tmpworkdir"
echo "Clean up installation (remove all packages)"
pkg unlock -a
pkg delete -fa
echo "Extracting packages to ${PACKAGES_DIR}"
mkdir -p ${PACKAGES_DIR}
tar -C ${PACKAGES_DIR} -xf ${SETS_DIR}/packages-*
echo "Downloading core"
mkdir -p ${TMPWORK_DIR}
fetch --no-verify-peer -o $TMPWORK_DIR/core.tar.gz https://github.com/opnsense/core/archive/17.1.4.tar.gz
echo "Extracting core."
tar -C ${TMPWORK_DIR} -xf ${TMPWORK_DIR}/core.tar.gz
echo "Running core basic bootstrap"
make -C ${TMPWORK_DIR}/core-17.1.4 bootstrap DESTDIR= FLAVOUR=OpenSSL
echo "Disable all remote repos"
find /usr/local/etc/pkg/repos/ -type f -exec sed -i .org 's/enabled: yes/enabled: no/g' {} \;
echo "Configuring local repository"
echo "local: { url: "file://${PACKAGES_DIR}/", mirror_type: NONE, enabled: yes }" > /usr/local/etc/pkg/repos/local.conf
echo "Setting up pkg and installing opnsense packages"
export ASSUME_ALWAYS_YES=yes
pkg bootstrap
pkg install opnsense
echo "Installing kernel and base"
opnsense-update -bkf -l ${SETS_DIR} -i
echo "Cleaning up"
rm -rf ${TMPWORK_DIR}/*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment