src=/home/nanobsd/gw NANO_PMAKE="make -j9" #NANO_PMAKE="make" NANO_NAME=gw NANO_KERNEL=GW #NANO_NOKERNELCLEAN=yes NANO_DRIVE=ada0 #NANO_MEDIASIZE=507024 #NANO_HEADS=16 #NANO_SECTS=63 # 1G NANO_MEDIASIZE=2097152 NANO_SECTS=63 NANO_HEADS=255 NANO_BOOTLOADER="boot/boot0" NANO_BOOT0CFG="-o packet -s 1 -m 3 -t 36" #NANO_DATASIZE=20480 # 16MB for /etc NANO_RAM_ETCSIZE=32768 # 200MB for /var (printing) NANO_RAM_TMPVARSIZE=409600 NANO_CUSTOMIZE="fillboot localfiles keepdirs mkhome remove" NANO_LATE_CUSTOMIZE="remove_empty" CONF_BUILD=' TARGET=i386 TARGET_ARCH=i386 NANO_ARCH=i386 CPUTYPE?=k6-3 #NFS_INET6=0 BOOT_COMCONSOLE_SPEED=115200 BOOT_MBR_FLAGS=0x0 BOOT_BOOT1_FLAGS=0x0 WITHOUT_KERNEL_SYMBOLS= WITHOUT_DEBUG_FILES= WITHOUT_TESTS= MODULES_WITH_WORLD= WITHOUT_ACCT= WITHOUT_AMD= WITHOUT_APM= WITHOUT_ASSERT_DEBUG= #WITHOUT_AT= WITHOUT_ATM= WITHOUT_AUDIT= WITHOUT_AUTHPH= WITHOUT_AUTOFS= WITHOUT_BHYVE= #WITHOUT_BOOT= WITHOUT_BOOTPARAMD= WITHOUT_BOOTPD= WITHOUT_BSDINSTALL= #WITHOUT_BSD_CPIO= WITHOUT_BSNMP= WITHOUT_CALENDAR= WITHOUT_CCD= #WITHOUT_CDDL= # WITHOUT_CPP breaks world for cross-compiling 9.2 WITHOUT_CPP= WITHOUT_CTM= #WITH_CTF= WITHOUT_DICT= WITHOUT_EXAMPLES= #WITHOUT_FDT= #WITHOUT_FILE= #WITHOUT_FINGER= WITHOUT_FLOPPY= WITHOUT_FREEBSD_UPDATE= WITHOUT_GAMES= WITHOUT_GCOV= WITHOUT_GDB= #WITHOUT_GPIO= WITHOUT_GROFF= #WITHOUT_GSSAPI= WITHOUT_HAST= WITGOUT_HESIOD= WITHOUT_HTML= WITHOUT_HYPERV= #WITHOUT_INET6= WITHOUT_IPFILTER= WITHOUT_IPX= WITHOUT_ISCSI= WITHOUT_JAIL= #WITHOUT_KERBEROS= WITHOUT_KERNEL_SYMBOLS= WITHOUT_LOCATE= WITHOUT_LS_COLORS= #WITHOUT_LPR= WITHOUT_MAN= WITH_MAN_UTILS= WITHOUT_NCP= WITHOUT_NDIS= WITHOUT_NETCAT= WITHOUT_NIS= WITHOUT_NLS= WITHOUT_NLS_CATALOGS= WITHOUT_NS_CACHING= WITH_OPENSSH_NONE_CIPHER= WITHOUT_PC_SYSINSTALL= WITHOUT_PF= WITHOUT_PKGTOOLS= WITHOUT_PMC= WITHOUT_PORTSNAP= WITHOUT_PPP= WITHOUT_PROFILE= WITHOUT_QUOTAS= #WITHOUT_RADIUS_SUPPORT= WITHOUT_RBOOTD= WITHOUT_RCS= WITHOUT_RESCUE= WITHOUT_ROUTED= WITHOUT_SHAREDOCS= WITHOUT_SVNLITE= WITHOUT_TALK= WITHOUT_SYSINSTALL= WITHOUT_TEXTPROC= WITHOUT_TIMED= WITHOUT_VT= #WITHOUT_WIRELESS= #WITHOUT_ZFS= MODULES_OVERRIDE=cryptodev zfs opensolaris if_stf ' CONF_INSTALL=" $CONF_BUILD WITHOUT_BINUTILS= WITHOUT_CLANG= WITHOUT_CLANG_FULL= WITHOUT_CXX= WITHOUT_TOOLCHAIN= WITHOUT_INSTALLLIB= " fillboot() { cp -rp $src/boot "$NANO_WORLDDIR" } localfiles() { echo Cleaning... cd "$NANO_WORLDDIR" dirs="mnt/usbtor mnt/usbtor2 mnt/tmp mnt/tmp2 usr/share/keys/pkg/revoked usr/local usr/ports tmp/Pkg var/db/pkg" rm -rf $dirs mkdir $dirs echo '' echo Installing etc... cp -Rp $src/etc . echo '' echo Installing packages... pkgs="$src/Pkg" trap "umount $pkgs" SIGHUP SIGINT SIGTERM EXIT mount_nullfs -o ro "$pkgs" tmp/Pkg chroot "$NANO_WORLDDIR" \ sh -c 'cd /tmp/Pkg/All && env ABI=freebsd:11:x86:32 ./pkg-static install -yU *.txz' umount "$pkgs" trap - SIGHUP SIGINT SIGTERM EXIT rmdir tmp/Pkg echo '' echo Installing scripts... mkdir -p usr/local/etc/rc.d cp -Rp $src/rc.d usr/local/etc echo '' echo Installing bin... mkdir -p usr/local/bin cp -Rp $src/bin usr/local echo '' echo Installing var... cp -Rp $src/var . # echo '' # echo Making mountpoints... # mkdir mnt/usbtor rm -rf usr/local/etc/transmission ln -s /mnt/usbtor/transmission usr/local/etc || true echo '' echo Done } keepdirs() { cd "$NANO_WORLDDIR" touch var/run/quagga/.keepme } mkhome() { cd "$NANO_WORLDDIR" cp -Rp $src/root . cp -Rp $src/home . chroot $NANO_WORLDDIR sh -c '\ echo rootpassword | pw usermod root -h 0; \ echo eugenpassword | pw useradd eugen -d /var/tmp -g wheel -s tcsh \ -w none -L russian -h 0' # uid=`awk -v FS=: '/^username:/ { print $3 }' etc/passwd` # chown -R $uid home/username # mkdir home/eugen uid=`awk -v FS=: '/^eugen:/ { print $3 }' etc/passwd` chown -R $uid home/eugen } remove() { cd "$NANO_WORLDDIR" rm -rf usr/local/share/doc usr/local/share/examples \ usr/local/include usr/local/info find usr/local/man/* -type f -o -type l -delete rm -rf usr/local/lib/python2.7/* usr/local/share/python2.7/* rm -rf usr/local/share/ghostscript/9.06/doc/* \ usr/local/share/ghostscript/9.06/examples/* \ rm -rf usr/local/share/foomatic/db/source find usr/local/lib \( -type f -o -type l \) -name '*.a' -delete (cd usr/local/share/locale && ls | egrep -xv 'en|ru|locale.alias' | xargs rm -r) touch usr/local/share/mc/syntax/Syntax || true } remove_empty() { cd "$NANO_WORLDDIR" find conf/default -type d -empty -delete -print }