#!/bin/sh

# NanoBSD for alix 2D3 (working on 8.1-R)

set -e

NANO_NAME=solo
NANO_PMAKE="make -j 4"
#NANO_PMAKE="make"
NANO_KERNEL=SOLO
NANO_INIT_IMG2=0
NANO_ARCH=i386

# quick boot
NANO_BOOT0CFG="-o packet -s 1 -m 3 -t 18"

# FlashDevice Sandisk 512
# Check FlashDevice.sub for common CF
# or use diskinfo(8)
NANO_MEDIASIZE=7847280
NANO_SECTS=63
NANO_HEADS=16
NANO_RAM_ETCSIZE=40960


# See src.conf(5)
CONF_BUILD="
WITHOUT_AUDIT=
WITHOUT_AUTPF=true
WITHOUT_FREEBSD_UPDATE=
WITHOUT_GDB=
WITHOUT_JAIL=
WITHOUT_ACPI=
WITHOUT_BIND_DNSSEC=
WITHOUT_BIND_MTREE=
WITHOUT_BIND_LIBS_LWRES=
WITHOUT_BIND_NAMED=
WITHOUT_BIND_ETC=
WITHOUT_BLUETOOTH=
WITHOUT_CALENDAR=
WITHOUT_CVS=
WITHOUT_DICT=
WITHOUT_FORTRAN=
WITHOUT_GAMES=
WITHOUT_GCOV=
WITHOUT_IPFILTER=
WITHOUT_PPP=
WITHOUT_QUOTAS=
WITHOUT_SYSINSTALL=
WITHOUT_OBJC=
WITHOUT_RCMDS=
WITHOUT_ZFS=
WITHOUT_CPP=
WITHOUT_AMD=
WITHOUT_RESCUE=
WITHOUT_NIS=
"

CONF_INSTALL="$CONF_BUILD
WITHOUT_TOOLCHAIN=
WITHOUT_INSTALLLIB=
INSTALL_NODEBUG=
"

custom_misc() {

    # quick boot
    echo "autoboot_delay=\"0\"" >> ${NANO_WORLDDIR}/boot/loader.conf
    echo "beastie_disable=\"YES\"" >> ${NANO_WORLDDIR}/boot/loader.conf

    # Enable serial console
    echo " -h" >> ${NANO_WORLDDIR}/boot.config
    sed -i "" -e '/^ttyu0/s/ std.*\".*off / al\.9600\" vt100 on /' ${NANO_WORLDDIR}/etc/ttys
    sed -i "" -e '/^ttyv[0-8]/s/on /off /' ${NANO_WORLDDIR}/etc/ttys

    # Disable acpi
    echo "hint.acpi.0.disabled=\"1\"" >> ${NANO_WORLDDIR}/boot/device.hints

    # Disable sendmail daemon and relay via mail.philpep.org
    echo "sendmail_enable=\"NONE\"" >> ${NANO_WORLDDIR}/etc/rc.conf
    sed -i "" -e "s/^D{MTAHost}.*$/D{MTAHost}[mail.philpep.org]/" ${NANO_WORLDDIR}/etc/mail/submit.cf

}

custom_kerngzip() {
    gzip -v9 ${NANO_WORLDDIR}/boot/kernel/kernel
}

cleanup_dot_a() {
    find ${NANO_WORLDDIR} -name '*.a' -ls -delete
}

# Use your prefered mirror
# If you have smaller CF build your own packages
# with custom knobs.
# and see cust_pkg() from nanobsd.sh
add_pkg() {
    pkg=`echo $1 | sed -e 's/-/_/'`
    eval "
    custom_add_pkg_${pkg} () {
        chroot \${NANO_WORLDDIR} /bin/sh -exc \
        'pkg_add -v ftp://ftp.fr.freebsd.org/pub/FreeBSD/ports/i386/packages-8.0-release/Latest/$1.tbz'
    }
    customize_cmd custom_add_pkg_${pkg}
    "
}

# zsh <3
custom_chpass () {
    chroot ${NANO_WORLDDIR} /bin/sh -exc "chpass -s /usr/local/bin/zsh root"
}

post_custom_misc() {
    # Disable a warning at boot
    mkdir -p ${NANO_WORLDDIR}/usr/lib/aout
}

add_pkg "zsh"
add_pkg "tmux"
add_pkg "vim-lite"
add_pkg "dnsmasq"
add_pkg "darkstat"
add_pkg "cups"
add_pkg "foomatic-filters"

customize_cmd cust_install_files
customize_cmd cust_allow_ssh_root
customize_cmd custom_misc
customize_cmd custom_kerngzip
customize_cmd cleanup_dot_a
customize_cmd custom_chpass

late_customize_cmd post_custom_misc


# vim:filetype=sh: