#!/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: