initial dev version
This commit is contained in:
commit
f35608bf30
|
@ -0,0 +1,64 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# import settings
|
||||||
|
. conf/buildtools/opnsense-build.conf
|
||||||
|
. conf/buildtools/opnsense-build-defaults.conf
|
||||||
|
|
||||||
|
# import modules
|
||||||
|
for module in `ls modules/*.sh`
|
||||||
|
do
|
||||||
|
. $module
|
||||||
|
done
|
||||||
|
|
||||||
|
(
|
||||||
|
echo "[`date`] start ( $ARCH )"
|
||||||
|
|
||||||
|
# setup/configure build environment ( modules/configure.sh )
|
||||||
|
# installs ports from conf/env_ports/builder_required_ports to local system
|
||||||
|
run_configure
|
||||||
|
|
||||||
|
# setup required software and packages ( modules/software.sh )
|
||||||
|
# - deploy custom / opnsense ports to local system ( ../opnsense-ports/deploy.sh )
|
||||||
|
# - build all required ports for opnsense ( conf/ports/buildports )
|
||||||
|
# retry 4 times if necessary ( fix dependancy issues )
|
||||||
|
for i in 1 2 3 4
|
||||||
|
do
|
||||||
|
setup_software
|
||||||
|
error_cnt=`print_missing_ports | grep "build failed" | wc -l`
|
||||||
|
if [ "$error_cnt" -eq "0" ]; then
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo ">>> retry build ports ($i)"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# during our install we've seemed to miss some files from ports, copy manually to right location
|
||||||
|
# todo: check and remove fixes
|
||||||
|
fix_ports_install
|
||||||
|
|
||||||
|
# checkout / prepare freebsd sources ( one time only )
|
||||||
|
if [ ! -d $SRCDIR ]; then
|
||||||
|
run_freebsd_source
|
||||||
|
fi
|
||||||
|
|
||||||
|
# setup staging area ($CUSTOMROOT)
|
||||||
|
setup_staging_area
|
||||||
|
|
||||||
|
# build environment ( compile freebsd + kernels )
|
||||||
|
run_freesbie_build
|
||||||
|
|
||||||
|
# setup installer
|
||||||
|
setup_installer
|
||||||
|
|
||||||
|
# build iso file
|
||||||
|
freesbie_build_iso
|
||||||
|
|
||||||
|
# list missing opnSense ports
|
||||||
|
echo ">>> List missing opnsense ports "
|
||||||
|
print_missing_ports
|
||||||
|
|
||||||
|
echo "[`date`] done "
|
||||||
|
) | tee $BUILDER_LOGS/build_iso.log
|
||||||
|
|
||||||
|
echo "log : $BUILDER_LOGS/build_iso.log"
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# import settings
|
||||||
|
. conf/buildtools/opnsense-build.conf
|
||||||
|
. conf/buildtools/opnsense-build-defaults.conf
|
||||||
|
|
||||||
|
# import modules
|
||||||
|
for module in `ls modules/*.sh`
|
||||||
|
do
|
||||||
|
. $module
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "cleanup all opnSense files"
|
||||||
|
|
||||||
|
if [ -d $OPNSENSEBASEDIR ]; then
|
||||||
|
echo "remove $OPNSENSEBASEDIR"
|
||||||
|
chflags -R noschg $OPNSENSEBASEDIR
|
||||||
|
rm -rf $OPNSENSEBASEDIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d $CLONEDIR ]; then
|
||||||
|
echo "remove $CLONEDIR"
|
||||||
|
chflags -R noschg $CLONEDIR
|
||||||
|
rm -rf $CLONEDIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d $SRCDIR ]; then
|
||||||
|
echo "remove $SRCDIR"
|
||||||
|
chflags -R noschg $SRCDIR
|
||||||
|
rm -rf $SRCDIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
# Defaults settings for the build scripts.
|
||||||
|
# NOTE: There should be NO NEED to edit this file directly!
|
||||||
|
# Instead, create a file build.conf with your own overrides.
|
||||||
|
|
||||||
|
export FREEBSD_VERSION=10
|
||||||
|
export CVSDIR=${CVSDIR:-<opnsense_BUILD_HOME>/work} # local cvs checkout dir
|
||||||
|
export CVSMODULE=${CVSMODULE:-installer} # cvs module name
|
||||||
|
|
||||||
|
export TMPDIR=${TMPDIR:-/tmp} # dir for temp files
|
||||||
|
export NRELEASEDIR=${NRELEASEDIR:-/usr/src/nrelease} # where 'nrelease' lives
|
||||||
|
export PORTSDIR=${PORTSDIR:-/usr/ports} # system ports dir
|
||||||
|
export DISTFILESDIR=${DISTFILESDIR:-${PORTSDIR}/distfiles} # distfiles dir
|
||||||
|
export PACKAGESDIR=${PACKAGESDIR:-${PORTSDIR}/packages/All} # pkgs dir
|
||||||
|
export ISOROOT=${ISOROOT:-/usr/release/root} # root of ISO-to-be tree
|
||||||
|
export PORTS_FLAGS=${PORTS_FLAGS:-} # additional flags/vars
|
||||||
|
|
||||||
|
export REMOVEOLDPKGS=${REMOVEOLDPKGS:-YES} # Remove old non-RELEASEBUILD
|
||||||
|
export REMOVEOLDDISTFILES=${REMOVEOLDDISTFILES:-YES} # pkgs/dstfls when making new
|
||||||
|
export RELEASEBUILD=${RELEASEBUILD:-NO} # NO = tack date on pkg vers
|
||||||
|
export ROOTSKEL=${ROOTSKEL:-${NRELEASEDIR}/installer} # default installer skeleton
|
||||||
|
export EXTRA_ROOTSKELS=${EXTRA_ROOTSKELS:-} # extra root skeletons
|
||||||
|
|
||||||
|
export INSTALL_DFUIFE_QT=${INSTALL_DFUIFE_QT:-NO} # build & install Qt frontend
|
||||||
|
export INSTALL_DFUIBE_LUA=${INSTALL_DFUIBE_LUA:-YES} # build & install Lua backend
|
||||||
|
export INSTALL_DFUIBE_INSTALLER=${INSTALL_DFUIBE_INSTALLER:-NO} # ditto C backend
|
||||||
|
|
||||||
|
export WITH_NLS=NO # build pkgs with i18n
|
||||||
|
export WITH_X11=${WITH_X11:-NO} # build X11 support pkgs
|
||||||
|
export WITH_DEBUG_INFO=${WITH_DEBUG_INFO:-NO} # leave debug info in binaries
|
||||||
|
export WITH_DEBUG=${WITH_DEBUG:-NO} # build debug-enabled pkgs
|
||||||
|
|
||||||
|
export ONE_BIG_PKG=${ONE_BIG_PKG:-YES} # build & install one big pkg?
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
# architecture selection, crossbuilding not supported
|
||||||
|
export ARCH=`uname -m`
|
||||||
|
|
||||||
|
# tools location
|
||||||
|
export BUILD_HOME=${BUILD_HOME:-`pwd`}
|
||||||
|
export OPNSENSE_PORTS=${OPNSENSE_PORTS:-`pwd`/../opnsense-ports}
|
||||||
|
export CUSTOMROOT=${CUSTOMROOT:-$BUILD_HOME/work/opnSense}
|
||||||
|
export CLONEDIR=${OPNSENSEISODIR:-/usr/local/opnsense-clone}
|
||||||
|
|
||||||
|
# pcbsd
|
||||||
|
export PCBSD_PATH=${PCBSD_PATH:-$BUILD_HOME/work/pcbsd}
|
||||||
|
export PCBSD_REPO=${PCBSD_REPO:-https://github.com/pcbsd/pcbsd.git}
|
||||||
|
export PCBSD_BRANCH=${PCBSD_BRANCH:-master}
|
||||||
|
|
||||||
|
# temp directory
|
||||||
|
export BUILD_TMP=${BUILD_TMP:-/tmp/opnsense}
|
||||||
|
|
||||||
|
# Product settings
|
||||||
|
export PRODUCT_NAME=${PRODUCT_NAME:-opnSense}
|
||||||
|
|
||||||
|
# general build settings
|
||||||
|
export OPNSENSEBASEDIR=${OPNSENSEBASEDIR:-/usr/local/opnsense-fs}
|
||||||
|
export FREESBIE_PATH=${FREESBIE_PATH:-`pwd`/freesbie2}
|
||||||
|
|
||||||
|
# KERNEL/Build settings use by freesbie2
|
||||||
|
export CPUS=${CPUS:-`sysctl kern.smp.cpus | cut -d' ' -f2`}
|
||||||
|
export SRCDIR=${SRCDIR:-/usr/opnsensesrc/src}
|
||||||
|
export SRC_CONF=${SRC_CONF:-"`pwd`/conf/src/src.conf.$FREEBSD_VERSION"}
|
||||||
|
export SRC_CONF_INSTALL=${SRC_CONF_INSTALL:-"`pwd`/conf/src/src.conf.$FREEBSD_VERSION.install"}
|
||||||
|
export KERNEL_BUILD_PATH=${KERNEL_BUILD_PATH:-"/tmp/kernels"}
|
||||||
|
export BUILD_KERNELS=${BUILD_KERNELS:-"opnsense_SMP.${FREEBSD_VERSION} "}
|
||||||
|
export DEFAULT_KERNEL=${DEFAULT_KERNEL:-"opnsense_SMP.${FREEBSD_VERSION}"}
|
||||||
|
|
||||||
|
export MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX:-/usr/obj.${PRODUCT_NAME}}
|
||||||
|
export MAKEJ_WORLD=${MAKEJ_WORLD:-"-j$CPUS"}
|
||||||
|
export MAKEJ_PORTS=${MAKEJ_PORTS:-""}
|
||||||
|
export CFLAGS=${CFLAGS:-""}
|
||||||
|
|
||||||
|
# export variables used by freesbie2
|
||||||
|
export FREESBIE_CONF=${FREESBIE_CONF:-/dev/null} # No configuration file should be override our variables
|
||||||
|
export BASEDIR=${OPNSENSEBASEDIR:-/usr/local/opnsense-fs}
|
||||||
|
export CLONEDIR=${OPNSENSEISODIR:-/usr/local/opnsense-clone}
|
||||||
|
export FREESBIE_LABEL=${FREESBIE_LABEL:-${PRODUCT_NAME}}
|
||||||
|
export EXTRAPLUGINS=${EXTRAPLUGINS:-"customroot customscripts pkgnginstall"}
|
||||||
|
export PRUNE_LIST=${PRUNE_LIST:-"`pwd`/conf/rmlist/remove.list.iso.${FREEBSD_VERSION}"}
|
||||||
|
|
||||||
|
# logging
|
||||||
|
export BUILDER_LOGS=${BUILDER_LOGS:-`pwd`/logs}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
#
|
||||||
|
export FREEBSD_REPO_BASE=https://github.com/freebsd/freebsd.git
|
||||||
|
export SVN_BRANCH=releng/10.1
|
||||||
|
export OSPATCHFILE=`pwd`/conf/patchlist/patches.RELENG_10_0
|
||||||
|
export OSPATCHDIR=`pwd`/patches/RELENG_10_0
|
||||||
|
export FREEBSD_VERSION=10
|
||||||
|
|
|
@ -0,0 +1,756 @@
|
||||||
|
usr/local/sbin/clog
|
||||||
|
usr/local/bin/rate
|
||||||
|
usr/local/sbin/apinger
|
||||||
|
usr/local/sbin/syslog-ng
|
||||||
|
usr/local/sbin/radvd
|
||||||
|
usr/local/sbin/slbd.sh
|
||||||
|
usr/local/bin/athstats
|
||||||
|
usr/local/bin/beep
|
||||||
|
usr/local/bin/cpdup
|
||||||
|
usr/local/bin/gogoc
|
||||||
|
usr/local/bin/minicron
|
||||||
|
usr/local/bin/voucher
|
||||||
|
usr/local/bin/verifysig
|
||||||
|
usr/local/bin/lua50
|
||||||
|
usr/local/bin/links
|
||||||
|
usr/local/bin/php
|
||||||
|
usr/local/sbin/php-fpm
|
||||||
|
usr/local/bin/php-cgi
|
||||||
|
usr/local/bin/radns
|
||||||
|
usr/local/bin/rrdtool
|
||||||
|
usr/local/bin/sqlite3
|
||||||
|
usr/local/bin/zmq_forwarder
|
||||||
|
usr/local/bin/zmq_streamer
|
||||||
|
usr/local/bin/zmq_queue
|
||||||
|
usr/local/sbin/expiretable
|
||||||
|
usr/local/sbin/dhclient
|
||||||
|
usr/local/sbin/dhcpleases
|
||||||
|
usr/local/sbin/dhcpleases6
|
||||||
|
usr/local/sbin/bpalogin
|
||||||
|
usr/local/sbin/choparp
|
||||||
|
usr/local/sbin/dhcpd
|
||||||
|
usr/local/sbin/pfSctl
|
||||||
|
usr/local/sbin/dhcrelay
|
||||||
|
usr/local/sbin/dhcp6c
|
||||||
|
usr/local/sbin/dnsmasq
|
||||||
|
usr/local/sbin/igmpproxy
|
||||||
|
usr/local/sbin/gzsig
|
||||||
|
usr/local/sbin/filterdns
|
||||||
|
usr/local/sbin/filterlog
|
||||||
|
usr/local/sbin/lighttpd
|
||||||
|
usr/local/sbin/ssh_tunnel_shell
|
||||||
|
usr/local/sbin/miniupnpd
|
||||||
|
usr/local/sbin/mpd4
|
||||||
|
usr/local/sbin/mpd5
|
||||||
|
usr/local/sbin/openvpn
|
||||||
|
usr/local/sbin/pftop
|
||||||
|
usr/local/sbin/haproxy
|
||||||
|
usr/local/sbin/relayctl
|
||||||
|
usr/local/sbin/relayd
|
||||||
|
usr/local/sbin/ipfw-classifyd
|
||||||
|
usr/local/sbin/sshlockout_pf
|
||||||
|
usr/local/sbin/wrapresetbtn
|
||||||
|
usr/local/sbin/alixresetbtn
|
||||||
|
usr/local/sbin/qstats
|
||||||
|
usr/local/lib/lighttpd/mod_auth.so
|
||||||
|
usr/local/lib/lighttpd/mod_proxy.so
|
||||||
|
usr/local/lib/lighttpd/mod_access.so
|
||||||
|
usr/local/lib/lighttpd/mod_accesslog.so
|
||||||
|
usr/local/lib/lighttpd/mod_fastcgi.so
|
||||||
|
usr/local/lib/lighttpd/mod_cgi.so
|
||||||
|
usr/local/lib/lighttpd/mod_indexfile.so
|
||||||
|
usr/local/lib/lighttpd/mod_dirlisting.so
|
||||||
|
usr/local/lib/lighttpd/mod_staticfile.so
|
||||||
|
usr/local/lib/lighttpd/mod_expire.so
|
||||||
|
usr/local/lib/lighttpd/mod_compress.so
|
||||||
|
usr/local/lib/lighttpd/mod_rewrite.so
|
||||||
|
usr/local/lib/lighttpd/mod_redirect.so
|
||||||
|
usr/local/lib/lighttpd/mod_evasive.so
|
||||||
|
usr/local/lib/php/20121212/apc.so
|
||||||
|
usr/local/lib/php/20121212/pcre.so
|
||||||
|
usr/local/lib/php/20121212/bz2.so
|
||||||
|
usr/local/lib/php/20121212/bcmath.so
|
||||||
|
usr/local/lib/php/20121212/ctype.so
|
||||||
|
usr/local/lib/php/20121212/curl.so
|
||||||
|
usr/local/lib/php/20121212/dom.so
|
||||||
|
usr/local/lib/php/20121212/gettext.so
|
||||||
|
usr/local/lib/php/20121212/json.so
|
||||||
|
usr/local/lib/php/20121212/mbstring.so
|
||||||
|
usr/local/lib/php/20121212/mcrypt.so
|
||||||
|
usr/local/lib/php/20121212/hash.so
|
||||||
|
usr/local/lib/php/20121212/mysql.so
|
||||||
|
usr/local/lib/php/20121212/openssl.so
|
||||||
|
usr/local/lib/php/20121212/pfSense.so
|
||||||
|
usr/local/lib/php/20121212/pcntl.so
|
||||||
|
usr/local/lib/php/20121212/spl.so
|
||||||
|
usr/local/lib/php/20121212/pdo.so
|
||||||
|
usr/local/lib/php/20121212/pdo_sqlite.so
|
||||||
|
usr/local/lib/php/20121212/posix.so
|
||||||
|
usr/local/lib/php/20121212/radius.so
|
||||||
|
usr/local/lib/php/20121212/readline.so
|
||||||
|
usr/local/lib/php/20121212/session.so
|
||||||
|
usr/local/lib/php/20121212/shmop.so
|
||||||
|
usr/local/lib/php/20121212/simplexml.so
|
||||||
|
usr/local/lib/php/20121212/sockets.so
|
||||||
|
usr/local/lib/php/20121212/spl.so
|
||||||
|
usr/local/lib/php/20121212/pdo.so
|
||||||
|
usr/local/lib/php/20121212/ssh2.so
|
||||||
|
usr/local/lib/php/20121212/sysvmsg.so
|
||||||
|
usr/local/lib/php/20121212/sysvsem.so
|
||||||
|
usr/local/lib/php/20121212/sysvshm.so
|
||||||
|
usr/local/lib/php/20121212/sqlite3.so
|
||||||
|
usr/local/lib/php/20121212/suhosin.so
|
||||||
|
usr/local/lib/php/20121212/tokenizer.so
|
||||||
|
usr/local/lib/php/20121212/xml.so
|
||||||
|
usr/local/lib/php/20121212/ldap.so
|
||||||
|
usr/local/lib/php/20121212/zlib.so
|
||||||
|
usr/local/lib/php/20121212/xmlreader.so
|
||||||
|
usr/local/lib/php/20121212/xmlwriter.so
|
||||||
|
usr/local/lib/php/20121212/xdebug.so
|
||||||
|
usr/local/lib/php/20121212/zmq.so
|
||||||
|
usr/local/lib/php/20121212/pdo_pgsql.so
|
||||||
|
usr/local/lib/php/20121212/ioncube/ioncube_loader.so
|
||||||
|
usr/local/lib/php/20121212/ioncube/ioncube_loader_ts.so
|
||||||
|
usr/local/lib/php/20121212/filter.so
|
||||||
|
usr/local/lib/libmhash.so.2
|
||||||
|
usr/local/lib/libmcrypt.so.8
|
||||||
|
usr/local/lib/libltdl.so.7
|
||||||
|
usr/local/lib/mysql/libmysqlclient.so.15
|
||||||
|
usr/local/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf
|
||||||
|
usr/local/bin/wol
|
||||||
|
usr/local/sbin/smartctl
|
||||||
|
usr/local/sbin/smartd
|
||||||
|
usr/local/share/smartmontools/drivedb.h
|
||||||
|
usr/local/sbin/ataidle
|
||||||
|
usr/local/bin/3gstat
|
||||||
|
boot/modules/bwi_v3_ucode.ko
|
||||||
|
usr/local/bin/cryptokeytest
|
||||||
|
usr/local/bin/cryptostats
|
||||||
|
usr/local/bin/cryptotest
|
||||||
|
usr/local/bin/hifnstats
|
||||||
|
usr/local/bin/ipsecstats
|
||||||
|
usr/local/bin/safestats
|
||||||
|
usr/local/bin/ubsecstats
|
||||||
|
usr/local/sbin/cpustats
|
||||||
|
usr/local/bin/xmllint
|
||||||
|
usr/share/doc/legal/intel_ipw/LICENSE
|
||||||
|
usr/share/doc/legal/intel_iwi/LICENSE
|
||||||
|
usr/share/doc/legal/intel_wpi/LICENSE
|
||||||
|
usr/local/sbin/ntp-keygen
|
||||||
|
usr/local/sbin/ntp-wait
|
||||||
|
usr/local/sbin/ntpd
|
||||||
|
usr/local/sbin/ntpdate
|
||||||
|
usr/local/sbin/ntpdc
|
||||||
|
usr/local/sbin/ntpq
|
||||||
|
usr/local/sbin/ntptime
|
||||||
|
usr/local/sbin/ntptrace
|
||||||
|
usr/local/sbin/sntp
|
||||||
|
usr/local/sbin/ipfw_context
|
||||||
|
usr/local/lib/snmp_regex.a
|
||||||
|
usr/local/lib/snmp_regex.la
|
||||||
|
usr/local/lib/snmp_regex.so
|
||||||
|
usr/local/lib/snmp_regex.so.0
|
||||||
|
usr/local/lib/snmp_ucd.a
|
||||||
|
usr/local/lib/snmp_ucd.la
|
||||||
|
usr/local/lib/snmp_ucd.so
|
||||||
|
usr/local/lib/snmp_ucd.so.1
|
||||||
|
usr/local/share/certs/ca-root-nss.crt
|
||||||
|
usr/bin/getopt
|
||||||
|
usr/sbin/ifmcstat
|
||||||
|
usr/local/bin/nsupdate
|
||||||
|
usr/pbi/.pbime
|
||||||
|
usr/pbi/.pbimount
|
||||||
|
usr/pbi/.ldconfig
|
||||||
|
usr/pbi/.pbisyslisten
|
||||||
|
usr/pbi/.pbisyscmd
|
||||||
|
usr/pbi/.mount_nullfs
|
||||||
|
usr/pbi/.pbi-wrapper-amd64
|
||||||
|
usr/pbi/.pbi-wrapper-i386
|
||||||
|
usr/local/sbin/pbi_create
|
||||||
|
usr/local/sbin/pbi_add
|
||||||
|
usr/local/sbin/pbi_addrepo
|
||||||
|
usr/local/sbin/pbi_browser
|
||||||
|
usr/local/sbin/pbi_autobuild
|
||||||
|
usr/local/sbin/pbi_delete
|
||||||
|
usr/local/sbin/pbi_deleterepo
|
||||||
|
usr/local/sbin/pbi_icon
|
||||||
|
usr/local/sbin/pbi_info
|
||||||
|
usr/local/sbin/pbi_indextool
|
||||||
|
usr/local/sbin/pbi_listrepo
|
||||||
|
usr/local/sbin/pbi_makepatch
|
||||||
|
usr/local/sbin/pbi_makeport
|
||||||
|
usr/local/sbin/pbi_makerepo
|
||||||
|
usr/local/sbin/pbi_metatool
|
||||||
|
usr/local/sbin/pbi_patch
|
||||||
|
usr/local/sbin/pbi_update
|
||||||
|
usr/local/sbin/pbi_update_hashdir
|
||||||
|
usr/local/sbin/pbi-crashhandler
|
||||||
|
usr/local/sbin/app
|
||||||
|
usr/local/sbin/pbi
|
||||||
|
usr/local/share/pcbsd/scripts/functions.sh
|
||||||
|
usr/local/sbin/ipsec
|
||||||
|
usr/local/libexec/ipsec/_copyright
|
||||||
|
usr/local/libexec/ipsec/_updown
|
||||||
|
usr/local/libexec/ipsec/_updown_espmark
|
||||||
|
usr/local/libexec/ipsec/charon
|
||||||
|
usr/local/libexec/ipsec/starter
|
||||||
|
usr/local/libexec/ipsec/stroke
|
||||||
|
usr/local/libexec/ipsec/whitelist
|
||||||
|
usr/local/lib/ipsec/libcharon.so
|
||||||
|
usr/local/lib/ipsec/libcharon.so.0
|
||||||
|
usr/local/lib/ipsec/libhydra.so
|
||||||
|
usr/local/lib/ipsec/libhydra.so.0
|
||||||
|
usr/local/lib/ipsec/libradius.so
|
||||||
|
usr/local/lib/ipsec/libradius.so.0
|
||||||
|
usr/local/lib/ipsec/libsimaka.so
|
||||||
|
usr/local/lib/ipsec/libsimaka.so.0
|
||||||
|
usr/local/lib/ipsec/libstrongswan.so
|
||||||
|
usr/local/lib/ipsec/libstrongswan.so.0
|
||||||
|
usr/local/lib/ipsec/libtls.so
|
||||||
|
usr/local/lib/ipsec/libtls.so.0
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-addrblock.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-aes.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-attr.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-blowfish.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-cmac.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-constraints.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-curl.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-des.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-dnskey.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-aka-3gpp2.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-aka.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-dynamic.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-identity.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-md5.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-mschapv2.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-peap.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-radius.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-sim-file.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-sim.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-tls.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-eap-ttls.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-fips-prf.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-gmp.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-hmac.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-ipseckey.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-kernel-pfkey.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-kernel-pfroute.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-md4.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-md5.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-nonce.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-openssl.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-pem.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-pgp.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-pkcs1.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-pkcs12.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-pkcs7.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-pkcs8.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-pubkey.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-random.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-rc2.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-resolve.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-revocation.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-sha1.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-sha2.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-socket-default.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-sshkey.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-stroke.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-unbound.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-updown.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-whitelist.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-x509.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-xauth-eap.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-xauth-generic.so
|
||||||
|
usr/local/lib/ipsec/plugins/libstrongswan-xcbc.so
|
||||||
|
usr/local/bin/joe
|
||||||
|
#
|
||||||
|
# Added 13/10/2014
|
||||||
|
#
|
||||||
|
usr/local/bin/lua50c
|
||||||
|
usr/local/share/gettext/intl/osdep.c
|
||||||
|
usr/local/bin/gettext.sh
|
||||||
|
usr/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/lib/lua/5.0/lmime.so
|
||||||
|
usr/local/share/locale/sl/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/share/dtrace/toolkit/execsnoop
|
||||||
|
usr/local/bin/pki
|
||||||
|
usr/local/share/gettext/intl/config.charset
|
||||||
|
usr/lib/dtrace/ip.d
|
||||||
|
usr/local/share/dfuibe_lua/install/main.lua
|
||||||
|
usr/local/share/gettext/po/Makevars.template
|
||||||
|
usr/local/share/gettext/projects/KDE/trigger
|
||||||
|
usr/local/share/lua/5.0/app.lua
|
||||||
|
usr/local/man/man1/envsubst.1.gz
|
||||||
|
usr/local/share/gettext/intl/ref-del.sin
|
||||||
|
usr/local/share/dfuibe_lua/configure/400_mount_target_system.lua
|
||||||
|
usr/local/share/lua/5.0/pty.lua
|
||||||
|
usr/local/lib/libaura.so.3
|
||||||
|
usr/local/share/aclocal/iconv.m4
|
||||||
|
usr/local/share/locale/eu/LC_MESSAGES/gettext-tools.mo
|
||||||
|
lib/libdtrace.so.2
|
||||||
|
usr/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/lib/libzfs.so
|
||||||
|
usr/local/man/man1/msgen.1.gz
|
||||||
|
usr/local/share/dfuibe_lua/upgrade/300_select_part.lua
|
||||||
|
usr/local/bin/msgmerge
|
||||||
|
usr/local/share/dfuibe_lua/configure/550_write_configuration.lua
|
||||||
|
usr/local/share/dfuibe_lua/upgrade/600_unmount_target_system.lua
|
||||||
|
usr/local/bin/autopoint
|
||||||
|
usr/local/man/man3/ngettext.3.gz
|
||||||
|
usr/local/share/gettext/intl/vasnwprintf.h
|
||||||
|
usr/local/share/locale/zh_TW/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/gettext/intl/COPYING.LIB
|
||||||
|
usr/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/gettext/intl/localename.c
|
||||||
|
usr/local/share/gettext/intl/loadmsgcat.c
|
||||||
|
usr/local/share/locale/ja/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/bin/zinject
|
||||||
|
usr/local/man/man1/msgfmt.1.gz
|
||||||
|
usr/local/share/gettext/intl/version.c
|
||||||
|
usr/local/share/gettext/po/insert-header.sin
|
||||||
|
usr/local/share/gettext/intl/ChangeLog
|
||||||
|
usr/local/share/gettext/config.rpath
|
||||||
|
usr/local/lib/libgettextsrc.so
|
||||||
|
lib/libzpool.so.2
|
||||||
|
usr/local/share/aclocal/wint_t.m4
|
||||||
|
usr/local/share/dfuibe_lua/install/100_welcome.lua
|
||||||
|
usr/local/share/aclocal/lib-ld.m4
|
||||||
|
usr/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/locale/gl/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/dfuibe_lua/upgrade/500_perform_upgrade.lua
|
||||||
|
usr/local/share/gettext/styles/po-emacs-xterm.css
|
||||||
|
usr/local/share/aclocal/intdiv0.m4
|
||||||
|
usr/local/share/gettext/intl/xsize.h
|
||||||
|
usr/local/share/gettext/intl/xsize.c
|
||||||
|
usr/local/lib/lua/5.0/lcurses.so
|
||||||
|
boot/kernel/sfxge.ko.symbols
|
||||||
|
usr/local/bin/msggrep
|
||||||
|
usr/local/share/dfuibe_lua/lib/storage.lua
|
||||||
|
usr/local/www/fred.png
|
||||||
|
usr/local/share/dfuibe_lua/configure/menu/100_set_root_password.lua
|
||||||
|
usr/local/share/dfuife_curses/fred.txt
|
||||||
|
usr/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/bin/msgconv
|
||||||
|
usr/local/share/gettext/styles/po-emacs-x.css
|
||||||
|
usr/local/share/dfuibe_lua/600_upgrade.lua
|
||||||
|
boot/gptzfsboot
|
||||||
|
usr/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/lib/libintl.a
|
||||||
|
usr/local/lib/libgettextpo.a
|
||||||
|
usr/local/man/man1/gettextize.1.gz
|
||||||
|
lib/libavl.so.2
|
||||||
|
usr/local/share/dfuibe_lua/configure/300_select_part.lua
|
||||||
|
usr/local/share/dfuibe_lua/configure/menu/400_change_console_settings.lua
|
||||||
|
usr/local/share/dfuibe_lua/configure/main.lua
|
||||||
|
usr/lib/libzpool.so
|
||||||
|
usr/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/share/dtrace/toolkit/hotkernel
|
||||||
|
usr/local/lib/lua/5.0/lposix.so
|
||||||
|
usr/local/man/man3/dcgettext.3.gz
|
||||||
|
usr/local/lib/libaura.a
|
||||||
|
usr/local/share/locale/cs/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/lib32/libutil.so.9
|
||||||
|
usr/local/share/locale/tr/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/gettext/intl/gmo.h
|
||||||
|
usr/local/share/aclocal/intldir.m4
|
||||||
|
usr/local/lib/libdfui.so
|
||||||
|
usr/local/share/locale/sk/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/locale/ko/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/gettext/archive.dir.tar.xz
|
||||||
|
usr/local/bin/msgexec
|
||||||
|
usr/local/share/gettext/intl/tsearch.c
|
||||||
|
usr/local/share/gettext/intl/tsearch.h
|
||||||
|
usr/local/share/gettext/intl/hash-string.c
|
||||||
|
usr/local/share/gettext/intl/hash-string.h
|
||||||
|
usr/local/share/dfuibe_lua/install/270_install_bootblocks.lua
|
||||||
|
usr/local/share/gettext/intl/printf-args.h
|
||||||
|
usr/local/share/gettext/intl/printf-args.c
|
||||||
|
usr/local/www/dfly-pg.gif
|
||||||
|
usr/local/man/man3/bind_textdomain_codeset.3.gz
|
||||||
|
usr/local/info/autosprintf.info
|
||||||
|
lib/libzfs.so.2
|
||||||
|
usr/local/include/dfui/lang.h
|
||||||
|
usr/local/share/lua/5.0/curses.lua
|
||||||
|
usr/lib/libzpool.a
|
||||||
|
usr/local/share/lua/5.0/ftp.lua
|
||||||
|
usr/local/share/locale/es/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/lib/libavl.so
|
||||||
|
usr/local/bin/gettextize
|
||||||
|
usr/local/man/man3/dngettext.3.gz
|
||||||
|
usr/local/share/dfuibe_lua/configure/600_unmount_target_system.lua
|
||||||
|
usr/local/share/gettext/intl/localealias.c
|
||||||
|
usr/lib/libctf.so
|
||||||
|
usr/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/gettext/intl/langprefs.c
|
||||||
|
usr/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/dfuibe_lua/configure/200_select_disk.lua
|
||||||
|
usr/local/share/aclocal/intmax.m4
|
||||||
|
usr/local/share/gettext/projects/TP/teams.url
|
||||||
|
usr/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/include/libintl.h
|
||||||
|
usr/local/sbin/dfuife_curses
|
||||||
|
usr/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/dfuibe_lua/install/200_select_disk.lua
|
||||||
|
usr/local/share/gettext/intl/relocatable.h
|
||||||
|
usr/local/share/gettext/intl/relocatable.c
|
||||||
|
usr/local/share/dfuibe_lua/pit/050_welcome.lua
|
||||||
|
usr/local/share/locale/be/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/locale/en@boldquot/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/lib/libnvpair.so
|
||||||
|
usr/local/bin/envsubst
|
||||||
|
usr/local/share/locale/pt/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/man/man1/autopoint.1.gz
|
||||||
|
usr/local/share/dfuibe_lua/install/250_partition_disk.lua
|
||||||
|
usr/local/share/gettext/intl/os2compat.h
|
||||||
|
usr/local/share/gettext/intl/os2compat.c
|
||||||
|
usr/local/man/man1/msgcomm.1.gz
|
||||||
|
usr/local/share/dfuibe_lua/lib/cmdchain.lua
|
||||||
|
usr/local/bin/msgfmt
|
||||||
|
usr/bin/ctfdump
|
||||||
|
usr/local/share/dfuibe_lua/upgrade/400_mount_target_system.lua
|
||||||
|
usr/local/share/gettext/projects/GNOME/team-address
|
||||||
|
usr/local/lib/libgettextpo.so.5
|
||||||
|
usr/local/share/dfuibe_lua/lib/network.lua
|
||||||
|
usr/local/share/aclocal/progtest.m4
|
||||||
|
usr/local/share/aclocal/size_max.m4
|
||||||
|
usr/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/aclocal/codeset.m4
|
||||||
|
usr/local/lib/libdfui.so.4
|
||||||
|
usr/local/share/gettext/intl/bindtextdom.c
|
||||||
|
usr/local/share/locale/fr/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/gettext/intl/ngettext.c
|
||||||
|
usr/local/bin/recode-sr-latin
|
||||||
|
usr/local/share/gettext/intl/dngettext.c
|
||||||
|
usr/local/share/gettext/msgunfmt.tcl
|
||||||
|
usr/local/share/lua/5.0/compat-5.1.lua
|
||||||
|
usr/local/share/gettext/styles/po-emacs-xterm256.css
|
||||||
|
usr/bin/zstreamdump
|
||||||
|
usr/local/share/aclocal/gettext.m4
|
||||||
|
usr/local/share/aclocal/lib-prefix.m4
|
||||||
|
usr/local/share/locale/uk/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/dfuibe_lua/configure/500_menu.lua
|
||||||
|
usr/local/share/dfuibe_lua/lib/package_ui.lua
|
||||||
|
usr/local/include/dfui/dfui.h
|
||||||
|
usr/local/share/gettext/po/boldquot.sed
|
||||||
|
usr/local/man/man1/ngettext.1.gz
|
||||||
|
usr/lib/libuutil.so
|
||||||
|
usr/share/dtrace/toolkit/procsystime
|
||||||
|
usr/local/lib/libgettextsrc-0.18.3.so
|
||||||
|
usr/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/bin/sgsmsg
|
||||||
|
usr/local/share/gettext/projects/team-address
|
||||||
|
usr/local/share/dfuibe_lua/lib/target_system_ui.lua
|
||||||
|
usr/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/lua/5.0/posix.lua
|
||||||
|
var/log/ppp.log
|
||||||
|
usr/local/share/gettext/projects/KDE/teams.url
|
||||||
|
usr/local/man/man3/textdomain.3.gz
|
||||||
|
usr/local/share/gettext/intl/intl-exports.c
|
||||||
|
usr/local/share/aclocal/visibility.m4
|
||||||
|
usr/local/share/aclocal/po.m4
|
||||||
|
usr/lib/libnvpair.a
|
||||||
|
usr/lib/libzfs_core.so
|
||||||
|
usr/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/locale/it/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/dfuibe_lua/configure/menu/500_install_packages.lua
|
||||||
|
usr/local/bin/msginit
|
||||||
|
usr/lib/dtrace/psinfo.d
|
||||||
|
usr/local/share/gettext/intl/libintl.rc
|
||||||
|
usr/local/share/locale/nn/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/include/aura/popen.h
|
||||||
|
usr/local/lib/libgettextlib.la
|
||||||
|
usr/local/lib/libintl.la
|
||||||
|
usr/local/share/locale/ro/LC_MESSAGES/gettext-tools.mo
|
||||||
|
sbin/zpool
|
||||||
|
boot/kernel/opensolaris.ko
|
||||||
|
usr/local/share/gettext/intl/localcharset.h
|
||||||
|
usr/local/share/gettext/intl/localcharset.c
|
||||||
|
usr/local/share/locale/vi/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/gettext/intl/plural.y
|
||||||
|
usr/local/share/gettext/intl/setlocale.c
|
||||||
|
usr/local/share/gettext/intl/plural.c
|
||||||
|
usr/local/share/gettext/projects/KDE/team-address
|
||||||
|
usr/lib/libumem.so
|
||||||
|
usr/local/share/locale/sr/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/gettext/projects/GNOME/teams.html
|
||||||
|
usr/lib/dtrace/tcp.d
|
||||||
|
usr/local/bin/ngettext
|
||||||
|
usr/local/share/dfuibe_lua/conf/BSDInstaller.lua
|
||||||
|
usr/local/share/dfuibe_lua/lib/target_system.lua
|
||||||
|
usr/bin/ctfmerge
|
||||||
|
usr/local/share/aclocal/glibc21.m4
|
||||||
|
usr/local/share/dfuibe_lua/configure/menu/300_set_timezone.lua
|
||||||
|
usr/local/share/locale/el/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/locale/pt_BR/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/dfuibe_lua/lib/menu.lua
|
||||||
|
usr/local/include/aura/dict.h
|
||||||
|
usr/local/share/dfuibe_lua/pit/150_configure_console.lua
|
||||||
|
usr/local/share/aclocal/printf-posix.m4
|
||||||
|
usr/local/share/gettext/intl/Makefile.in
|
||||||
|
usr/local/share/gettext/intl/lock.c
|
||||||
|
usr/local/share/gettext/intl/lock.h
|
||||||
|
usr/local/share/gettext/ABOUT-NLS
|
||||||
|
usr/local/lib/libasprintf.so
|
||||||
|
usr/local/share/locale/sv/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/share/dtrace/toolkit/opensnoop
|
||||||
|
usr/local/share/dfuibe_lua/800_netboot.lua
|
||||||
|
usr/local/share/dfuibe_lua/lib/flow.lua
|
||||||
|
usr/local/share/dfuibe_lua/upgrade/550_upgrade_configuration.lua
|
||||||
|
usr/local/lib/libasprintf.so.0
|
||||||
|
usr/local/share/aclocal/stdint_h.m4
|
||||||
|
usr/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/bin/msgfilter
|
||||||
|
usr/lib/libavl.a
|
||||||
|
usr/local/man/man1/msgfilter.1.gz
|
||||||
|
usr/local/share/lua/5.0/ltn12.lua
|
||||||
|
usr/local/share/dfuibe_lua/install/220_format_disk.lua
|
||||||
|
usr/local/share/gettext/intl/plural-exp.h
|
||||||
|
usr/local/share/gettext/intl/plural-exp.c
|
||||||
|
usr/local/share/dfuibe_lua/install/405_warn_omitted_subparts.lua
|
||||||
|
usr/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/dfuibe_lua/upgrade/main.lua
|
||||||
|
usr/local/share/dfuibe_lua/configure/menu/main.lua
|
||||||
|
usr/local/www/dfuife.cgi
|
||||||
|
usr/local/share/dfuibe_lua/configure/menu/350_set_datetime.lua
|
||||||
|
usr/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/dfuibe_lua/netboot/main.lua
|
||||||
|
usr/local/man/man1/msgcmp.1.gz
|
||||||
|
usr/local/lib/gettext/project-id
|
||||||
|
usr/local/bin/msgen
|
||||||
|
lib/libnvpair.so.2
|
||||||
|
usr/local/share/dfuibe_lua/lib/storage_ui.lua
|
||||||
|
usr/sbin/lockstat
|
||||||
|
lib/libctf.so.2
|
||||||
|
usr/local/share/gettext/styles/po-emacs-xterm16.css
|
||||||
|
usr/lib32/libc.so.7
|
||||||
|
usr/local/share/gettext/po/remove-potcdate.sin
|
||||||
|
usr/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/aclocal/fcntl-o.m4
|
||||||
|
usr/local/share/gettext/intl/locale.alias
|
||||||
|
usr/local/include/dfui/dump.h
|
||||||
|
usr/local/share/locale/ru/LC_MESSAGES/dfuife_curses.mo
|
||||||
|
etc/periodic/daily/404.status-zfs
|
||||||
|
usr/local/share/gettext/po/en@quot.header
|
||||||
|
usr/local/share/locale/ca/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/lua/5.0/mime.lua
|
||||||
|
lib/libzfs_core.so.2
|
||||||
|
usr/local/share/dfuibe_lua/main.lua
|
||||||
|
usr/local/www/dfuife.css
|
||||||
|
usr/local/share/gettext/intl/gettextP.h
|
||||||
|
usr/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/dfuibe_lua/netboot/500_setup_server.lua
|
||||||
|
usr/local/share/gettext/intl/log.c
|
||||||
|
usr/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/gettext/projects/TP/trigger
|
||||||
|
usr/local/share/lua/5.0/filename.lua
|
||||||
|
usr/local/share/locale/ru/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/locale/bg/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/lib/dtrace/udp.d
|
||||||
|
usr/local/share/dfuibe_lua/lib/network_ui.lua
|
||||||
|
usr/lib/dtrace/regs_x86.d
|
||||||
|
usr/local/share/aclocal/inttypes-pri.m4
|
||||||
|
usr/local/share/aclocal/glibc2.m4
|
||||||
|
usr/local/bin/msgattrib
|
||||||
|
usr/local/share/dfuibe_lua/install/800_finished.lua
|
||||||
|
usr/lib/libdtrace.a
|
||||||
|
usr/local/share/gettext/projects/TP/team-address
|
||||||
|
usr/local/lib/libintl.so
|
||||||
|
usr/local/www/index.html
|
||||||
|
usr/local/share/lua/5.0/tp.lua
|
||||||
|
lib/libumem.so.2
|
||||||
|
usr/local/man/man1/msggrep.1.gz
|
||||||
|
usr/local/share/aclocal/uintmax_t.m4
|
||||||
|
usr/local/share/locale/zh_CN/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/gettext/intl/verify.h
|
||||||
|
usr/lib/dtrace/signal.d
|
||||||
|
usr/local/share/gettext/intl/dcigettext.c
|
||||||
|
usr/local/bin/msgcat
|
||||||
|
usr/local/lib/gettext/hostname
|
||||||
|
usr/local/lib/libgettextpo.la
|
||||||
|
usr/local/lib/libgettextlib-0.18.3.so
|
||||||
|
usr/local/lib/libaura.so
|
||||||
|
usr/local/lib/libgettextsrc.la
|
||||||
|
usr/local/lib/libgettextpo.so
|
||||||
|
usr/local/share/dfuibe_lua/install/300_select_part.lua
|
||||||
|
usr/local/share/aclocal/lock.m4
|
||||||
|
usr/local/share/locale/locale.alias
|
||||||
|
usr/local/share/dfuibe_lua/lib/configvars.lua
|
||||||
|
usr/lib/libzfs_core.a
|
||||||
|
usr/local/share/dfuibe_lua/install/450_select_packages.lua
|
||||||
|
usr/local/man/man1/msginit.1.gz
|
||||||
|
usr/local/share/gettext/javaversion.class
|
||||||
|
usr/local/share/dfuibe_lua/install/407_create_subparts.lua
|
||||||
|
usr/local/share/locale/nl/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/dfuibe_lua/install/410_select_additional_filesystems.lua
|
||||||
|
usr/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/sbin/dtruss
|
||||||
|
usr/local/share/lua/5.0/smtp.lua
|
||||||
|
usr/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/lib/gettext/user-email
|
||||||
|
usr/local/share/dfuibe_lua/install/420_preselect_packages.lua
|
||||||
|
usr/local/share/aclocal/nls.m4
|
||||||
|
boot/kernel/zfs.ko
|
||||||
|
usr/local/share/lua/5.0/http.lua
|
||||||
|
usr/local/share/gettext/intl/export.h
|
||||||
|
usr/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/lib/gettext/urlget
|
||||||
|
usr/lib/dtrace/drti.o
|
||||||
|
usr/local/share/gettext/intl/explodename.c
|
||||||
|
usr/local/share/dfuibe_lua/install/500_install_os.lua
|
||||||
|
usr/local/bin/msgcomm
|
||||||
|
usr/local/share/locale/pa/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/gettext/po/Makefile.in.in
|
||||||
|
usr/local/lib/libdfui.a
|
||||||
|
usr/local/bin/msgcmp
|
||||||
|
usr/local/share/gettext/intl/l10nflist.c
|
||||||
|
usr/local/share/gettext/intl/eval-plural.h
|
||||||
|
usr/local/share/gettext/intl/textdomain.c
|
||||||
|
usr/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/man/man1/msgmerge.1.gz
|
||||||
|
usr/local/share/gettext/intl/printf-parse.h
|
||||||
|
usr/local/share/gettext/intl/printf-parse.c
|
||||||
|
usr/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/sbin/dtrace
|
||||||
|
usr/bin/ctfconvert
|
||||||
|
usr/local/share/gettext/styles/po-vim.css
|
||||||
|
usr/local/share/dfuibe_lua/pit/100_select_language.lua
|
||||||
|
usr/local/share/aclocal/intl.m4
|
||||||
|
usr/lib/libdtrace.so
|
||||||
|
usr/local/share/dfuibe_lua/lib/uinav.lua
|
||||||
|
usr/local/lib/liblualib50.so
|
||||||
|
usr/local/share/gettext/intl/threadlib.c
|
||||||
|
usr/local/info/gettext.info
|
||||||
|
usr/local/share/dfuibe_lua/configure/450_init_configuration.lua
|
||||||
|
usr/sbin/zdb
|
||||||
|
usr/local/share/locale/et/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/locale/hr/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/gettext/gettext.h
|
||||||
|
usr/local/share/gettext/projects/TP/teams.html
|
||||||
|
usr/local/share/gettext/intl/wprintf-parse.h
|
||||||
|
usr/local/share/lua/5.0/dfui.lua
|
||||||
|
usr/local/lib/libgettextlib.so
|
||||||
|
usr/local/include/autosprintf.h
|
||||||
|
usr/local/include/gettext-po.h
|
||||||
|
usr/local/bin/lua50c51
|
||||||
|
usr/local/lib/libasprintf.a
|
||||||
|
usr/local/share/aclocal/lib-link.m4
|
||||||
|
usr/local/share/dfuibe_lua/pit/400_load_kernel_modules.lua
|
||||||
|
usr/local/man/man3/dcngettext.3.gz
|
||||||
|
usr/local/man/man1/recode-sr-latin.1.gz
|
||||||
|
usr/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/gettext/po/Rules-quot
|
||||||
|
usr/local/share/locale/de/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/dfuibe_lua/conf/OpenBSD.lua
|
||||||
|
usr/local/share/dfuibe_lua/400_configure.lua
|
||||||
|
usr/local/share/dfuibe_lua/install/900_reboot.lua
|
||||||
|
usr/local/share/gettext/styles/po-default.css
|
||||||
|
usr/local/share/locale/id/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/include/aura/buffer.h
|
||||||
|
usr/local/share/gettext/intl/gettext.c
|
||||||
|
usr/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/gettext/intl/finddomain.c
|
||||||
|
usr/local/share/dfuibe_lua/lib/bitwise.lua
|
||||||
|
usr/local/share/gettext/projects/index
|
||||||
|
usr/local/share/aclocal/xsize.m4
|
||||||
|
usr/local/share/aclocal/intlmacosx.m4
|
||||||
|
usr/local/man/man3/gettext.3.gz
|
||||||
|
usr/lib/libzfs.a
|
||||||
|
usr/local/bin/msgunfmt
|
||||||
|
usr/local/share/lua/5.0/gettext.lua
|
||||||
|
usr/local/lib/libasprintf.la
|
||||||
|
usr/local/man/man1/xgettext.1.gz
|
||||||
|
usr/local/man/man3/bindtextdomain.3.gz
|
||||||
|
usr/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/dfuibe_lua/upgrade/100_begin_upgrade.lua
|
||||||
|
usr/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/aclocal/inttypes_h.m4
|
||||||
|
usr/local/share/dfuibe_lua/install/400_select_subparts.lua
|
||||||
|
usr/local/man/man1/msgcat.1.gz
|
||||||
|
usr/local/share/gettext/projects/GNOME/teams.url
|
||||||
|
usr/local/share/dfuibe_lua/configure/100_choose_where_from.lua
|
||||||
|
usr/local/include/dfui/system.h
|
||||||
|
usr/local/share/locale/fi/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/lib/liblua50.so
|
||||||
|
usr/local/share/gettext/intl/vasnprintf.c
|
||||||
|
usr/local/share/gettext/intl/vasnprintf.h
|
||||||
|
usr/local/lib/lua/5.0/lpty.so
|
||||||
|
usr/local/share/locale/nb/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/locale/ru/LC_MESSAGES/dfuibe_lua.mo
|
||||||
|
sbin/zfs
|
||||||
|
usr/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/include/aura/fspred.h
|
||||||
|
usr/local/share/gettext/intl/intl-compat.c
|
||||||
|
usr/local/share/gettext/projects/GNOME/trigger
|
||||||
|
usr/local/share/locale/en@quot/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/lib/lua/5.0/lgettext.so
|
||||||
|
usr/local/share/aclocal/wchar_t.m4
|
||||||
|
usr/local/share/gettext/intl/dcngettext.c
|
||||||
|
usr/local/share/dfuibe_lua/lib/package.lua
|
||||||
|
usr/local/include/aura/mem.h
|
||||||
|
usr/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/dfuibe_lua/install/490_confirm_install_os.lua
|
||||||
|
usr/local/share/lua/5.0/transceiver.lua
|
||||||
|
usr/lib/libctf.a
|
||||||
|
boot/zfsloader
|
||||||
|
usr/local/share/gettext/po/quot.sed
|
||||||
|
usr/local/man/man1/msgexec.1.gz
|
||||||
|
usr/local/share/gettext/intl/ref-add.sin
|
||||||
|
lib/libuutil.so.2
|
||||||
|
usr/local/share/dfuibe_lua/conf/NetBSD.lua
|
||||||
|
usr/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/lib/libuutil.a
|
||||||
|
usr/local/share/dfuibe_lua/pit/main.lua
|
||||||
|
usr/local/share/gettext/intl/dgettext.c
|
||||||
|
usr/lib/dtrace/errno.d
|
||||||
|
usr/local/share/dfuibe_lua/pit/800_configure_network.lua
|
||||||
|
usr/local/man/man1/msgunfmt.1.gz
|
||||||
|
usr/local/share/aclocal/longlong.m4
|
||||||
|
usr/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/share/dfuibe_lua/upgrade/200_select_disk.lua
|
||||||
|
usr/local/share/locale/pl/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/sbin/zhack
|
||||||
|
usr/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
usr/local/bin/gettext
|
||||||
|
usr/local/share/dfuibe_lua/conf/FreeBSD.lua
|
||||||
|
usr/local/man/man1/msgconv.1.gz
|
||||||
|
usr/local/man/man1/msgattrib.1.gz
|
||||||
|
usr/lib/libumem.a
|
||||||
|
usr/local/share/gettext/intl/printf.c
|
||||||
|
usr/local/share/gettext/intl/dcgettext.c
|
||||||
|
usr/local/share/dfuibe_lua/configure/menu/550_remove_packages.lua
|
||||||
|
usr/lib/dtrace/io.d
|
||||||
|
usr/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo
|
||||||
|
etc/periodic/daily/800.scrub-zfs
|
||||||
|
usr/local/share/dfuibe_lua/conf/DragonFly.lua
|
||||||
|
usr/local/man/man1/gettext.1.gz
|
||||||
|
usr/local/bin/msguniq
|
||||||
|
boot/zfsboot
|
||||||
|
usr/local/lib/lua/5.0/lsocket.so
|
||||||
|
usr/local/lib/lua/5.0/ldfui.so
|
||||||
|
usr/local/share/gettext/intl/VERSION
|
||||||
|
usr/local/share/gettext/po/en@boldquot.header
|
||||||
|
usr/share/dtrace/toolkit/hotuser
|
||||||
|
usr/local/share/gettext/intl/libgnuintl.in.h
|
||||||
|
usr/local/share/locale/da/LC_MESSAGES/gettext-tools.mo
|
||||||
|
usr/local/share/dfuibe_lua/configure/menu/200_add_user.lua
|
||||||
|
usr/local/www/dfuife.js
|
||||||
|
sbin/setkey
|
||||||
|
usr/local/share/lua/5.0/url.lua
|
||||||
|
usr/local/share/aclocal/lcmessage.m4
|
||||||
|
usr/local/share/gettext/intl/loadinfo.h
|
||||||
|
usr/local/share/lua/5.0/socket.lua
|
||||||
|
usr/local/share/aclocal/threadlib.m4
|
||||||
|
usr/local/man/man1/msguniq.1.gz
|
||||||
|
usr/lib/dtrace/unistd.d
|
||||||
|
usr/local/bin/xgettext
|
||||||
|
usr/local/man/man3/dgettext.3.gz
|
||||||
|
usr/bin/ztest
|
||||||
|
usr/local/www/fred-bg.gif
|
||||||
|
usr/local/share/gettext/projects/KDE/teams.html
|
||||||
|
usr/local/bin/ipmitool
|
||||||
|
usr/local/bin/python2.7-config
|
||||||
|
usr/local/bin/python2.7
|
||||||
|
usr/local/bin/python
|
||||||
|
usr/local/lib/python2.7
|
|
@ -0,0 +1,10 @@
|
||||||
|
/usr/local/sbin/portmaster /usr/ports/ports-mgmt/portmaster
|
||||||
|
/usr/local/bin/mkisofs /usr/ports/sysutils/cdrtools
|
||||||
|
/usr/local/lib/libpcre.so.3 /usr/ports/devel/pcre
|
||||||
|
/usr/local/bin/curl /usr/ports/ftp/curl
|
||||||
|
/usr/local/bin/rsync /usr/ports/net/rsync
|
||||||
|
/usr/local/bin/cpdup /usr/ports/sysutils/cpdup
|
||||||
|
/usr/local/bin/git /usr/ports/devel/git
|
||||||
|
/usr/local/bin/screen /usr/ports/sysutils/screen
|
||||||
|
/usr/local/bin/openssl /usr/ports/security/openssl
|
||||||
|
#/usr/local/bin/qemu-img /usr/ports/emulators/qemu
|
|
@ -0,0 +1,218 @@
|
||||||
|
|
||||||
|
include GENERIC
|
||||||
|
|
||||||
|
options KDB
|
||||||
|
nooptions KDB_TRACE
|
||||||
|
options DDB # Support DDB.
|
||||||
|
nooptions GDB # Support remote GDB.
|
||||||
|
nooptions DEADLKRES
|
||||||
|
nooptions INVARIANTS
|
||||||
|
nooptions INVARIANT_SUPPORT
|
||||||
|
nooptions WITNESS
|
||||||
|
nooptions WITNESS_SKIPSPIN
|
||||||
|
nooptions MALLOC_DEBUG_MAXZONES
|
||||||
|
|
||||||
|
nomakeoptions DEBUG
|
||||||
|
#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
|
||||||
|
|
||||||
|
ident pfSense8_SMP
|
||||||
|
|
||||||
|
nooptions MAC # TrustedBSD MAC Framework
|
||||||
|
nooptions COMPAT_43TTY # BSD 4.3 TTY compat (sgtty)
|
||||||
|
nooptions COMPAT_FREEBSD4 # Compatible with FreeBSD4
|
||||||
|
nooptions COMPAT_FREEBSD5 # Compatible with FreeBSD5
|
||||||
|
nooptions COMPAT_FREEBSD6 # Compatible with FreeBSD6
|
||||||
|
nooptions FLOWTABLE
|
||||||
|
nooptions SCHED_4BSD
|
||||||
|
options SCHED_ULE # add inULE scheduler
|
||||||
|
|
||||||
|
# IPSEC filtering interface
|
||||||
|
device enc
|
||||||
|
|
||||||
|
options GEOM_MIRROR
|
||||||
|
options GEOM_UZIP
|
||||||
|
options GEOM_LABEL
|
||||||
|
nooption GEOM_MBR
|
||||||
|
options GEOM_PART_MBR
|
||||||
|
options GEOM_PART_BSD
|
||||||
|
options GEOM_ELI
|
||||||
|
options GEOM_BDE
|
||||||
|
|
||||||
|
# Need for LiveCD's
|
||||||
|
options CD9660
|
||||||
|
|
||||||
|
# Wireless
|
||||||
|
device wlan
|
||||||
|
device wlan_wep
|
||||||
|
device wlan_ccmp
|
||||||
|
device wlan_tkip
|
||||||
|
device wlan_xauth
|
||||||
|
device wlan_acl
|
||||||
|
device wlan_amrr
|
||||||
|
device iwi # Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 driver
|
||||||
|
device ipw # Intel PRO/Wireless 2100 IEEE 802.11 driver
|
||||||
|
device ipwfw # Firmware for Intel PRO/Wireless 2100 IEEE 802.11 driver
|
||||||
|
device wpi # Intel 3945ABG Wireless LAN IEEE 802.11 driver
|
||||||
|
device wpifw # Firmware for Intel 3945ABG Wireless LAN IEEE 802.11 driver
|
||||||
|
device iwn # Intel Wireless WiFi Link 4965AGN IEEE 802.11n driver
|
||||||
|
device iwnfw # Firmware for Intel Wireless WiFi Link 4965AGN IEEE 802.11n driver
|
||||||
|
device alc # Atheros IEEE 802.11 wireless network driver
|
||||||
|
device ath # Atheros IEEE 802.11 wireless network driver
|
||||||
|
device ath_hal
|
||||||
|
options AH_SUPPORT_AR5416
|
||||||
|
device ath_rate_sample
|
||||||
|
device uath # Atheros USB IEEE 802.11a/b/g wireless network device
|
||||||
|
device an # Aironet 4500/4800 802.11 wireless NICs.
|
||||||
|
device ral # Ralink Technology RT2500 wireless NICs.
|
||||||
|
device ralfw # Firmware for Ralink Technology RT2500 wireless NICs.
|
||||||
|
device ural # Ralink Technology RT2500USB IEEE 802.11 driver
|
||||||
|
device urtw # Realtek RTL8187B/L USB IEEE 802.11b/g wireless network device
|
||||||
|
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
|
||||||
|
device rum # Ralink Technology USB IEEE 802.11a/b/g wireless network device
|
||||||
|
device mwl # Marvell 88W8363 IEEE 802.11n wireless network driver
|
||||||
|
device mwlfw # Firmware for Marvell 88W8363 IEEE 802.11n wireless network driver
|
||||||
|
device zyd # ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless network device
|
||||||
|
device malo # Marvell Libertas IEEE 802.11b/g wireless network driver
|
||||||
|
device upgt # Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/g wireless
|
||||||
|
device bwi # Broadcom BCM43xx IEEE 802.11b/g wireless network driver
|
||||||
|
# Only for 8.1+
|
||||||
|
device siba_bwn # Broadcom BCM43xx IEEE 802.11b/g wireless network driver
|
||||||
|
device bwn # Broadcom BCM43xx IEEE 802.11b/g wireless network driver
|
||||||
|
device run # Ralink RT2700U/RT2800U/RT3000U USB 802.11agn
|
||||||
|
|
||||||
|
options UNIONFS # Union filesystem
|
||||||
|
|
||||||
|
options IPFIREWALL_DEFAULT_TO_ACCEPT
|
||||||
|
options IPFIREWALL_VERBOSE
|
||||||
|
options IPFIREWALL_VERBOSE_LIMIT
|
||||||
|
|
||||||
|
device bpf
|
||||||
|
device carp
|
||||||
|
device pf
|
||||||
|
device pflog
|
||||||
|
device pfsync
|
||||||
|
device vlan
|
||||||
|
device gre
|
||||||
|
|
||||||
|
options IPSTEALTH
|
||||||
|
options INCLUDE_CONFIG_FILE
|
||||||
|
|
||||||
|
options NETGRAPH #netgraph(4) system
|
||||||
|
options NETGRAPH_VLAN
|
||||||
|
options NETGRAPH_L2TP
|
||||||
|
options NETGRAPH_ASYNC
|
||||||
|
options NETGRAPH_BPF
|
||||||
|
options NETGRAPH_BRIDGE
|
||||||
|
options NETGRAPH_CISCO
|
||||||
|
options NETGRAPH_ECHO
|
||||||
|
options NETGRAPH_ETHER
|
||||||
|
options NETGRAPH_FRAME_RELAY
|
||||||
|
options NETGRAPH_HOLE
|
||||||
|
options NETGRAPH_IFACE
|
||||||
|
options NETGRAPH_EIFACE
|
||||||
|
options NETGRAPH_KSOCKET
|
||||||
|
options NETGRAPH_LMI
|
||||||
|
options NETGRAPH_MPPC_ENCRYPTION
|
||||||
|
options NETGRAPH_ONE2MANY
|
||||||
|
options NETGRAPH_PPP
|
||||||
|
options NETGRAPH_PPPOE
|
||||||
|
options NETGRAPH_PPTPGRE
|
||||||
|
options NETGRAPH_RFC1490
|
||||||
|
options NETGRAPH_SOCKET
|
||||||
|
options NETGRAPH_TEE
|
||||||
|
options NETGRAPH_TTY
|
||||||
|
options NETGRAPH_UI
|
||||||
|
options NETGRAPH_VJC
|
||||||
|
options NETGRAPH_TCPMSS
|
||||||
|
options NETGRAPH_PIPE
|
||||||
|
options NETGRAPH_CAR
|
||||||
|
options NETGRAPH_DEFLATE
|
||||||
|
options NETGRAPH_PRED1
|
||||||
|
|
||||||
|
# 3G devices
|
||||||
|
device ubsa
|
||||||
|
device ufoma
|
||||||
|
#device umsm
|
||||||
|
device ucom
|
||||||
|
device uplcom
|
||||||
|
device ubsa
|
||||||
|
device umct
|
||||||
|
device uvisor
|
||||||
|
device uark
|
||||||
|
device uftdi
|
||||||
|
device uvscom
|
||||||
|
device umodem
|
||||||
|
device ufoma
|
||||||
|
device u3g
|
||||||
|
device ucom
|
||||||
|
|
||||||
|
options IPSEC
|
||||||
|
options IPSEC_NAT_T
|
||||||
|
|
||||||
|
options TCP_SIGNATURE #include support for RFC 2385
|
||||||
|
|
||||||
|
options ALTQ
|
||||||
|
options ALTQ_CBQ
|
||||||
|
options ALTQ_RED
|
||||||
|
options ALTQ_RIO
|
||||||
|
options ALTQ_HFSC
|
||||||
|
options ALTQ_PRIQ
|
||||||
|
|
||||||
|
# Bridging
|
||||||
|
device if_bridge
|
||||||
|
|
||||||
|
# Squid related settings
|
||||||
|
options MSGMNB=8192 # max # of bytes in a queue
|
||||||
|
options MSGMNI=40 # number of message queue identifiers
|
||||||
|
options MSGSEG=512 # number of message segments per queue
|
||||||
|
options MSGSSZ=32 # size of a message segment
|
||||||
|
options MSGTQL=2048 # max messages in system
|
||||||
|
|
||||||
|
device tap
|
||||||
|
device hme
|
||||||
|
|
||||||
|
# Needed for FreeSBIE 2
|
||||||
|
options NULLFS
|
||||||
|
|
||||||
|
device speaker
|
||||||
|
|
||||||
|
options DEVICE_POLLING
|
||||||
|
|
||||||
|
device lagg
|
||||||
|
|
||||||
|
options MROUTING
|
||||||
|
|
||||||
|
# Additional cards
|
||||||
|
device bktr # bktr -- Brooktree Bt848/849/878/879 and Pinnacle PCTV video capture
|
||||||
|
device ale # ale -- Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet driver
|
||||||
|
device safe # safe -- SafeNet crypto accelerator
|
||||||
|
device et # et(4) for AGERE ET1310 fastE and gigE
|
||||||
|
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
|
||||||
|
device mxge # mxge - Myricom Myri10GE 10 Gigabit Ethernet adapter driver
|
||||||
|
device cxgb # cxgb -- Chelsio T3 10 Gigabit Ethernet adapter driver
|
||||||
|
device igb # igb -- Intel(R) PRO/1000 PCI Express Gigabit Ethernet adapter driver
|
||||||
|
device ixgbe # http://www.nabble.com/kern-130476:-Error-in-compiling-kernel-with-device-ixgbe-td21424560.html
|
||||||
|
device ae # ae -- Attansic/Atheros L2 FastEthernet controller driver
|
||||||
|
device cas # Sun Cassini/Cassini+ and National Semiconductor DP83065 Saturn
|
||||||
|
device crypto # core crypto support
|
||||||
|
device cryptodev # /dev/crypto for access to h/w
|
||||||
|
device hifn # Hifn 7951, 7781, etc.
|
||||||
|
device ubsec # Broadcom 5501, 5601, 58xx
|
||||||
|
device udav # Davicom DM9601 USB Ethernet driver
|
||||||
|
#options HIFN_DEBUG # enable debugging support: hw.hifn.debug
|
||||||
|
#options HIFN_RNDTEST # enable rndtest support
|
||||||
|
#device rndtest # FIPS 140-2 entropy tester
|
||||||
|
|
||||||
|
options IPSEC_NAT_T
|
||||||
|
#options ALTQ_FAIRQ
|
||||||
|
|
||||||
|
options COMPAT_FREEBSD7
|
||||||
|
|
||||||
|
#options PRINTF_BUFR_SIZE # fights garble printf on shutdown
|
||||||
|
|
||||||
|
#options FLOWTABLE
|
||||||
|
|
||||||
|
device padlock
|
||||||
|
|
||||||
|
options PPS_SYNC
|
||||||
|
options TCP_SIGNATURE
|
|
@ -0,0 +1,67 @@
|
||||||
|
~~~/sys/contrib/pf/net/pf_ftp.c~
|
||||||
|
~~~/usr.sbin/syslogd/clog.h~
|
||||||
|
~~~/sbin/ifconfig/ifstf.c~
|
||||||
|
-p1~~altq_max_queues.diff~
|
||||||
|
-p1~~dscp.RELENG_10.diff~
|
||||||
|
-p1~~hfscconfig.RELENG_10.diff~
|
||||||
|
-p1~~get_tag_altq_ids.RELENG_10.diff~
|
||||||
|
-p1~~reply-to.RELENG_10.diff~
|
||||||
|
-p1~~binat.RELENG_10.diff~
|
||||||
|
-p1~~pfil.RELENG_10.diff~
|
||||||
|
-p1~~ipfw_dummynet_bandwidth.diff~
|
||||||
|
-p1~~ng_iface.RELENG_10.diff~
|
||||||
|
-p1~~ng_eiface.RELENG_10.diff~
|
||||||
|
-p1~~lib386boot.diff~
|
||||||
|
-p1~~syslogd.c.diff~
|
||||||
|
-p1~~if_ethersubr.c.diff~
|
||||||
|
-p1~~ip_carp.c.diff~
|
||||||
|
-p1~~wpa_correct_mac_address.RELENG_10.diff~
|
||||||
|
-p1~~ng_ether_attach_command.diff~
|
||||||
|
-p1~~carp_correct_mac.diff~
|
||||||
|
-p1~~pfvar_addr_compare.RELENG_10.diff~
|
||||||
|
-p1~~carp_replay_protection.diff~
|
||||||
|
-p1~~if_bridge_gif_mtu.diff~
|
||||||
|
-p1~~pfaltq_interface_bw.diff~
|
||||||
|
-p1~~scrub_FIN+SYN_drop.diff~
|
||||||
|
-p1~~ifqueue_maxlen.diff~
|
||||||
|
-p1~~netisr_default_values.diff~
|
||||||
|
-p1~~ip_dstchng_fix.diff~
|
||||||
|
-p1~~if_pfsync.diff~
|
||||||
|
-p1~~route.diff~
|
||||||
|
-p1~~tun_optimization.diff~
|
||||||
|
~~pam_remove_nullok.diff~
|
||||||
|
~~beastie.4th.diff~
|
||||||
|
~~menu-commands.4th.diff~
|
||||||
|
~~brand.4th.diff~
|
||||||
|
~~loader.conf.diff~
|
||||||
|
-p1~~pf_tags_alloc.diff~
|
||||||
|
-p1~~sfxge_compile_i386.diff~
|
||||||
|
-p1~~set_ifaddr_first.diff~
|
||||||
|
#-p1~~CP_multi_instance_ipfw.diff~
|
||||||
|
#~~menu.4th.diff~
|
||||||
|
#~~openssl_head.tgz~
|
||||||
|
#~~~/sbin/ipfw/context.c~
|
||||||
|
#-p1~~pf_route_to_daemon_friendly.RELENG_10.diff~
|
||||||
|
#-p1~~dummynet.RELENG_10.diff~
|
||||||
|
#-p1~~schedule_label.RELENG_10.diff~
|
||||||
|
#-p1~~fairq.RELENG_10.diff~
|
||||||
|
#-p1~~netstat_ifname_size.diff~
|
||||||
|
#-p1~~route-to_without_gw.diff~
|
||||||
|
#-p1~~carp_livelock_fixes.diff~
|
||||||
|
#-p1~~pf_match.diff~
|
||||||
|
#-p1~~pf_stickies_fix2.diff~
|
||||||
|
#-p1~~pf_802.1p.diff~
|
||||||
|
#-p1~~divert.RELENG_10.diff~
|
||||||
|
#-p1~~CP_speedup.diff~
|
||||||
|
#-p1~~stf_6rd.diff~
|
||||||
|
#-p1~~ipsec_improvement.diff~
|
||||||
|
#-p1~~IPSEC_sysctl.RELENG_10.diff~
|
||||||
|
#-p1~~altq_codel.diff~
|
||||||
|
#-p1~~killifstates.RELENG_10.diff~
|
||||||
|
#-p1~~pf_static_tracker.diff~
|
||||||
|
#-p1~~ipsec_altq.RELENG_10.diff~
|
||||||
|
#~~~/sys/contrib/altq/altq/altq_fairq.h~
|
||||||
|
#~~~/sys/contrib/altq/altq/altq_fairq.c~
|
||||||
|
#~~~/sys/contrib/altq/altq/altq_codel.h~
|
||||||
|
#~~~/sys/contrib/altq/altq/altq_codel.c~
|
||||||
|
#~~makefile.inc1.diff~
|
|
@ -0,0 +1,109 @@
|
||||||
|
docbook /usr/ports/textproc/docbook /usr/local/share/xml/docbook/xhtml/docbook.xsl
|
||||||
|
docbook-xsl /usr/ports/textproc/docbook-xsl /usr/local/share/xsl/docbook/xhtml/docbook.xsl
|
||||||
|
#COMPATpfflowd-0.8 /usr/ports/net/pfflowd-0.8 /usr/local/sbin/pfflowd
|
||||||
|
strongswan /usr/ports/security/strongswan /usr/local/sbin/ipsec
|
||||||
|
#COMPATopeniked /usr/ports/security/openiked /usr/local/sbin/iked
|
||||||
|
ipfw-classifyd /usr/ports/net/ipfw-classifyd /usr/local/sbin/ipfw-classifyd
|
||||||
|
dhcpleases /usr/ports/sysutils/dhcpleases /usr/local/sbin/dhcpleases
|
||||||
|
dhcpleases6 /usr/ports/sysutils/dhcpleases6 /usr/local/sbin/dhcpleases6
|
||||||
|
filterdns /usr/ports/net/filterdns /usr/local/sbin/filterdns
|
||||||
|
apinger /usr/ports/net/apinger /usr/local/sbin/apinger
|
||||||
|
rrdtool12 /usr/ports/databases/rrdtool12 /usr/local/bin/rrdtool
|
||||||
|
cpdup /usr/ports/sysutils/cpdup /usr/local/bin/cpdup
|
||||||
|
cpustats /usr/ports/sysutils/cpustats /usr/local/sbin/cpustats
|
||||||
|
beep /usr/ports/audio/beep /usr/local/bin/beep
|
||||||
|
choparp /usr/ports/net-mgmt/choparp /usr/local/sbin/choparp
|
||||||
|
dnsmasq /usr/ports/dns/dnsmasq /usr/local/sbin/dnsmasq
|
||||||
|
expiretable /usr/ports/security/expiretable /usr/local/sbin/expiretable
|
||||||
|
ifstated /usr/ports/net/ifstated /usr/local/sbin/ifstated
|
||||||
|
igmpproxy /usr/ports/net/igmpproxy /usr/local/sbin/igmpproxy
|
||||||
|
bind /usr/ports/dns/bind99 /usr/local/bin/nsupdate
|
||||||
|
isc-dhcp42-server /usr/ports/net/isc-dhcp42-server /usr/local/sbin/dhcpd
|
||||||
|
isc-dhcp42-client /usr/ports/net/isc-dhcp42-client /usr/local/sbin/dhclient
|
||||||
|
isc-dhcp42-relay /usr/ports/net/isc-dhcp42-relay /usr/local/sbin/dhcrelay
|
||||||
|
lighttpd /usr/ports/www/lighttpd /usr/local/sbin/lighttpd
|
||||||
|
miniupnpd /usr/ports/net/miniupnpd /usr/local/sbin/miniupnpd
|
||||||
|
mpd4 /usr/ports/net/mpd4 /usr/local/sbin/mpd4
|
||||||
|
mpd5 /usr/ports/net/mpd5 /usr/local/sbin/mpd5
|
||||||
|
pftop /usr/ports/sysutils/pftop /usr/local/sbin/pftop
|
||||||
|
libevent /usr/ports/devel/libevent /usr/local/lib/libevent.so
|
||||||
|
relayd /usr/ports/net/relayd /usr/local/sbin/relayd
|
||||||
|
fping /usr/ports/net/fping /usr/local/sbin/fping
|
||||||
|
minicron /usr/ports/sysutils/minicron /usr/local/bin/minicron
|
||||||
|
php55 /usr/ports/lang/php55 /usr/local/bin/php
|
||||||
|
##OLDpecl-APC /usr/ports/www/pecl-APC /usr/local/lib/php/20121212/apc.so
|
||||||
|
php55-bcmath /usr/ports/math/php55-bcmath /usr/local/lib/php/20121212/bcmath.so
|
||||||
|
php55-bz2 /usr/ports/archivers/php55-bz2 /usr/local/lib/php/20121212/bz2.so
|
||||||
|
php55-ctype /usr/ports/textproc/php55-ctype /usr/local/lib/php/20121212/ctype.so
|
||||||
|
php55-curl /usr/ports/ftp/php55-curl /usr/local/lib/php/20121212/curl.so
|
||||||
|
php55-gettext /usr/ports/devel/php55-gettext /usr/local/lib/php/20121212/gettext.so
|
||||||
|
php55-hash /usr/ports/security/php55-hash /usr/local/lib/php/20121212/hash.so
|
||||||
|
php55-ldap /usr/ports/net/php55-ldap /usr/local/lib/php/20121212/ldap.so
|
||||||
|
php55-mbstring /usr/ports/converters/php55-mbstring /usr/local/lib/php/20121212/mbstring.so
|
||||||
|
php55-mcrypt /usr/ports/security/php55-mcrypt /usr/local/lib/php/20121212/mcrypt.so
|
||||||
|
php55-mysql /usr/ports/databases/php55-mysql /usr/local/lib/php/20121212/mysql.so
|
||||||
|
php55-openssl /usr/ports/security/php55-openssl /usr/local/lib/php/20121212/openssl.so
|
||||||
|
php55-pcntl /usr/ports/devel/php55-pcntl /usr/local/lib/php/20121212/pcntl.so
|
||||||
|
php55-posix /usr/ports/sysutils/php55-posix /usr/local/lib/php/20121212/posix.so
|
||||||
|
php55-pdo /usr/ports/databases/php55-pdo /usr/local/lib/php/20121212/pdo.so
|
||||||
|
php55-pdo_sqlite /usr/ports/databases/php55-pdo_sqlite /usr/local/lib/php/20121212/pdo_sqlite.so
|
||||||
|
pecl-radius /usr/ports/net/pecl-radius /usr/local/lib/php/20121212/radius.so
|
||||||
|
php55-pfSense-module /usr/ports/devel/php55-pfSense-module /usr/local/lib/php/20121212/pfSense.so
|
||||||
|
php55-readline /usr/ports/devel/php55-readline /usr/local/lib/php/20121212/readline.so
|
||||||
|
php55-session /usr/ports/www/php55-session /usr/local/lib/php/20121212/session.so
|
||||||
|
php55-simplexml /usr/ports/textproc/php55-simplexml /usr/local/lib/php/20121212/simplexml.so
|
||||||
|
php55-sockets /usr/ports/net/php55-sockets /usr/local/lib/php/20121212/sockets.so
|
||||||
|
php55-shmop /usr/ports/devel/php55-shmop /usr/local/lib/php/20121212/shmop.so
|
||||||
|
php55-sysvmsg /usr/ports/devel/php55-sysvmsg /usr/local/lib/php/20121212/sysvmsg.so
|
||||||
|
php55-sysvsem /usr/ports/devel/php55-sysvsem /usr/local/lib/php/20121212/sysvsem.so
|
||||||
|
php55-sysvshm /usr/ports/devel/php55-sysvshm /usr/local/lib/php/20121212/sysvshm.so
|
||||||
|
php55-sqlite /usr/ports/databases/php55-sqlite /usr/local/lib/php/20121212/pdo_sqlite.so
|
||||||
|
php55-tokenizer /usr/ports/devel/php55-tokenizer /usr/local/lib/php/20121212/tokenizer.so
|
||||||
|
php55-xml /usr/ports/textproc/php55-xml /usr/local/lib/php/20121212/xml.so
|
||||||
|
php55-zlib /usr/ports/archivers/php55-zlib /usr/local/lib/php/20121212/zlib.so
|
||||||
|
php55-xmlreader /usr/ports/textproc/php55-xmlreader /usr/local/lib/php/20121212/xmlreader.so
|
||||||
|
php55-xmlwriter /usr/ports/textproc/php55-xmlwriter /usr/local/lib/php/20121212/xmlwriter.so
|
||||||
|
##OLDpecl-inclued /usr/ports/devel/pecl-inclued /usr/local/lib/php/20121212/inclued.so
|
||||||
|
zmq /usr/ports/net/libzmq2 /usr/local/lib/libzmq.so.1
|
||||||
|
php55-zmq /usr/ports/devel/php55-zmq /usr/local/lib/php/20121212/zmq.so
|
||||||
|
php-xdebug /usr/ports/devel/php-xdebug /usr/local/lib/php/20121212/xdebug.so
|
||||||
|
php-suhosin /usr/ports/security/php-suhosin /usr/local/lib/php/20121212/suhosin.so
|
||||||
|
openvpn /usr/ports/security/openvpn /usr/local/sbin/openvpn
|
||||||
|
syslog-ng /usr/ports/sysutils/syslog-ng /usr/local/sbin/syslog-ng
|
||||||
|
zip /usr/ports/archivers/zip /usr/local/bin/zip
|
||||||
|
links /usr/ports/www/links /usr/local/bin/links
|
||||||
|
elinks /usr/ports/www/elinks /usr/local/bin/elinks
|
||||||
|
ntp /usr/ports/net/ntp-devel /usr/local/sbin/ntpd
|
||||||
|
php55-json /usr/ports/devel/php55-json /usr/local/lib/php/20121212/json.so
|
||||||
|
rate /usr/ports/net-mgmt/rate /usr/local/bin/rate
|
||||||
|
wol /usr/ports/net/wol /usr/local/bin/wol
|
||||||
|
dhcp6 /usr/ports/net/dhcp6 /usr/local/sbin/dhcp6c
|
||||||
|
3gstat_um175 /usr/ports/comms/3gstat_um175 /usr/local/bin/3gstat
|
||||||
|
#OLDwrapalixresetbutton /usr/ports/sysutils/wrapalixresetbutton /usr/local/sbin/alixresetbtn
|
||||||
|
b43-fwcutter /usr/ports/sysutils/b43-fwcutter /usr/local/bin/b43-fwcutter
|
||||||
|
bwi-firmware-kmod /usr/ports/net/bwi-firmware-kmod /boot/modules/bwi_v3_ucode.ko
|
||||||
|
voucher /usr/ports/sysutils/voucher /usr/local/bin/voucher
|
||||||
|
gzsig /usr/ports/sysutils/gzsig /usr/local/sbin/gzsig
|
||||||
|
#COMPATssh_tunnel_shell /usr/ports/sysutils/ssh_tunnel_shell /usr/local/sbin/ssh_tunnel_shell
|
||||||
|
#COMPATsshlockout_pf /usr/ports/sysutils/sshlockout_pf /usr/local/sbin/sshlockout_pf
|
||||||
|
smartmontools /usr/ports/sysutils/smartmontools /usr/local/sbin/smartctl
|
||||||
|
ataidle /usr/ports/sysutils/ataidle /usr/local/sbin/ataidle
|
||||||
|
syslogd /usr/ports/sysutils/syslogd /usr/sbin/syslogd
|
||||||
|
clog /usr/ports/sysutils/clog /usr/local/sbin/clog
|
||||||
|
pecl-ssh2 /usr/ports/security/pecl-ssh2 /usr/local/lib/php/20121212/ssh2.so
|
||||||
|
autoconf-wrapper /usr/ports/devel/autoconf-wrapper /usr/local/bin/autoconf-wrapper
|
||||||
|
rsync /usr/ports/net/rsync /usr/local/bin/rsync
|
||||||
|
#DEFECTqstats /usr/ports/sysutils/qstats /usr/local/sbin/qstats
|
||||||
|
gogoc /usr/ports/net/gogoc /usr/local/bin/gogoc
|
||||||
|
radvd /usr/ports/net/radvd /usr/local/sbin/radvd
|
||||||
|
ca_root_nss /usr/ports/security/ca_root_nss /usr/local/share/certs/ca-root-nss.crt
|
||||||
|
bsnmp-ucd /usr/ports/net-mgmt/bsnmp-ucd /usr/local/lib/snmp_ucd.so
|
||||||
|
bsnmp-regex /usr/ports/net-mgmt/bsnmp-regex /usr/local/lib/snmp_regex.so
|
||||||
|
svnup /usr/ports/net/svnup /usr/local/bin/svnup
|
||||||
|
filterlog /usr/ports/sysutils/filterlog /usr/local/sbin/filterlog
|
||||||
|
ipmitool /usr/ports/sysutils/ipmitool /usr/local/bin/ipmitool
|
||||||
|
dmidecode /usr/ports/sysutils/dmidecode /usr/local/sbin/dmidecode
|
||||||
|
check_reload_status /usr/ports/sysutils/check_reload_status /usr/local/sbin/pfSctl
|
||||||
|
php55-sqlite3 /usr/ports/databases/php55-sqlite3 /usr/local/lib/php/20121212/sqlite3.so
|
||||||
|
php55-filter /usr/ports/security/php55-filter /usr/local/lib/php/20121212/filter.so
|
||||||
|
python2 /usr/ports/lang/python2 /usr/local/bin/python2
|
|
@ -0,0 +1,52 @@
|
||||||
|
# Generic options
|
||||||
|
OPTIONS_UNSET_FORCE= X11 DOCS EXAMPLES MAN INFO
|
||||||
|
|
||||||
|
# Individual ports options
|
||||||
|
apinger_SET_FORCE= IPV6
|
||||||
|
|
||||||
|
elinks_UNSET_FORCE= FASTMEM
|
||||||
|
|
||||||
|
lighttpd_SET_FORCE= NODELAY
|
||||||
|
|
||||||
|
miniupnpd_SET_FORCE= PF_ENABLE_FILTER_RULES
|
||||||
|
|
||||||
|
openssl_SET_FORCE= PADLOCK
|
||||||
|
|
||||||
|
openvpn_SET_FORCE= PW_SAVE
|
||||||
|
openvpn_UNSET_FORCE= EASYRSA
|
||||||
|
|
||||||
|
rrdtool_UNSET_FORCE= PERL
|
||||||
|
|
||||||
|
qemu_UNSET_FORCE= SDL
|
||||||
|
|
||||||
|
strongswan_SET_FORCE= CURL EAPAKA3GPP2 EAPDYNAMIC EAPRADIUS EAPSIMFILE IKEv1 UNBOUND XAUTH IPSECKEY
|
||||||
|
|
||||||
|
.if ${.CURDIR:N*net/rsync*}==""
|
||||||
|
CFLAGS+= -static
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if ${.CURDIR:N*security/openiked*}==""
|
||||||
|
CONFIGURE_ARGS= --without-openssl-header-check
|
||||||
|
.endif
|
||||||
|
|
||||||
|
# OS version specific options
|
||||||
|
OSRELDATE!= /sbin/sysctl -n kern.osreldate
|
||||||
|
.if ${OSRELDATE} >= 1000000
|
||||||
|
#WITH_OPENSSL_BASE= yes
|
||||||
|
WITH_OPENSSL_PORT= yes
|
||||||
|
#syslog-ng_SET_FORCE= SYS_SSL
|
||||||
|
syslog-ng_UNSET_FORCE= SYS_SSL
|
||||||
|
#syslog-ng_UNSET_FORCE= PORTS_SSL
|
||||||
|
syslog-ng_SET_FORCE= PORTS_SSL
|
||||||
|
php55_SET_FORCE= FPM
|
||||||
|
|
||||||
|
#. if ${.CURDIR:N*sysutils/check_reload_status*}==""
|
||||||
|
#WITH_DEBUG= yes
|
||||||
|
#. endif
|
||||||
|
|
||||||
|
.else
|
||||||
|
WITH_OPENSSL_PORT= yes
|
||||||
|
syslog-ng_UNSET_FORCE= SYS_SSL
|
||||||
|
syslog-ng_SET_FORCE= PORTS_SSL
|
||||||
|
.endif
|
||||||
|
|
|
@ -0,0 +1,852 @@
|
||||||
|
./bin/chio
|
||||||
|
./bin/ed
|
||||||
|
./bin/getfacl
|
||||||
|
./bin/rcp
|
||||||
|
./bin/red
|
||||||
|
./bin/setfacl
|
||||||
|
./boot/kernel/acpi_*.ko
|
||||||
|
./boot/device.hints_wrap
|
||||||
|
./boot/loader.conf_wrap
|
||||||
|
./etc/bluetooth
|
||||||
|
./etc/gnats
|
||||||
|
./etc/isdn
|
||||||
|
./etc/mail/mailer.conf
|
||||||
|
./etc/mail/aliases
|
||||||
|
./etc/mail
|
||||||
|
./etc/amd.map
|
||||||
|
./etc/pam.d/README
|
||||||
|
./etc/pam.d/ftpd
|
||||||
|
./etc/pam.d/gdm
|
||||||
|
./etc/pam.d/imap
|
||||||
|
./etc/pam.d/kde
|
||||||
|
./etc/pam.d/pop3
|
||||||
|
./etc/pam.d/rsh
|
||||||
|
./etc/pam.d/telnetd
|
||||||
|
./etc/pam.d/xdm
|
||||||
|
./etc/pamd.conf
|
||||||
|
./etc/periodic/daily/*
|
||||||
|
./etc/periodic/monthly/*
|
||||||
|
./etc/periodic/security/*
|
||||||
|
./etc/periodic/weekly/*
|
||||||
|
./lib/libcam.so.3
|
||||||
|
./root/.xcustom.sh
|
||||||
|
./sbin/badsect
|
||||||
|
./sbin/ccdconfig
|
||||||
|
./sbin/clri
|
||||||
|
./sbin/comcontrol
|
||||||
|
./sbin/ffsinfo
|
||||||
|
./sbin/fsdb
|
||||||
|
./sbin/fsirand
|
||||||
|
./sbin/gconcat
|
||||||
|
./sbin/ggatec
|
||||||
|
./sbin/ggated
|
||||||
|
./sbin/ggatel
|
||||||
|
./sbin/gnop
|
||||||
|
./sbin/graid3
|
||||||
|
./sbin/gshsec
|
||||||
|
./sbin/gstripe
|
||||||
|
./sbin/gvinum
|
||||||
|
./sbin/mksnap_ffs
|
||||||
|
./sbin/mount_ext2fs
|
||||||
|
./sbin/mount_linprocfs
|
||||||
|
./sbin/mount_ntfs
|
||||||
|
./sbin/mount_reiserfs
|
||||||
|
./sbin/mount_std
|
||||||
|
./sbin/mount_udf
|
||||||
|
./sbin/mount_umapfs
|
||||||
|
./sbin/natd
|
||||||
|
./sbin/nfsiod
|
||||||
|
./sbin/nos-tun
|
||||||
|
./sbin/quotacheck
|
||||||
|
./sbin/rdump
|
||||||
|
./sbin/restore
|
||||||
|
./sbin/rrestore
|
||||||
|
./sbin/sconfig
|
||||||
|
./sbin/setkey
|
||||||
|
./sbin/slattach
|
||||||
|
./sbin/spppcontrol
|
||||||
|
./sbin/startslip
|
||||||
|
./sbin/sunlabel
|
||||||
|
./usr/bin/Mail
|
||||||
|
./usr/bin/alias
|
||||||
|
./usr/bin/apply
|
||||||
|
./usr/bin/apropos
|
||||||
|
./usr/bin/asa
|
||||||
|
./usr/bin/atq
|
||||||
|
./usr/bin/atrm
|
||||||
|
./usr/bin/b64decode
|
||||||
|
./usr/bin/b64encode
|
||||||
|
./usr/bin/banner
|
||||||
|
./usr/bin/batch
|
||||||
|
./usr/bin/bdes
|
||||||
|
./usr/bin/bg
|
||||||
|
./usr/bin/biff
|
||||||
|
./usr/bin/brandelf
|
||||||
|
./usr/bin/bzegrep
|
||||||
|
./usr/bin/bzfgrep
|
||||||
|
./usr/bin/bzgrep
|
||||||
|
./usr/bin/bzip2recover
|
||||||
|
./usr/bin/bzless
|
||||||
|
./usr/bin/cal
|
||||||
|
./usr/bin/calendar
|
||||||
|
./usr/bin/checknr
|
||||||
|
./usr/bin/chkey
|
||||||
|
./usr/bin/ci
|
||||||
|
./usr/bin/co
|
||||||
|
./usr/bin/col
|
||||||
|
./usr/bin/colcrt
|
||||||
|
./usr/bin/colldef
|
||||||
|
./usr/bin/colrm
|
||||||
|
./usr/bin/column
|
||||||
|
./usr/bin/comm
|
||||||
|
./usr/bin/command
|
||||||
|
./usr/bin/compile_et
|
||||||
|
./usr/bin/compress
|
||||||
|
./usr/bin/crunchgen
|
||||||
|
./usr/bin/crunchide
|
||||||
|
./usr/bin/crypt
|
||||||
|
./usr/bin/csplit
|
||||||
|
./usr/bin/ctags
|
||||||
|
./usr/bin/dc
|
||||||
|
./usr/bin/edit
|
||||||
|
./usr/bin/elf2aout
|
||||||
|
./usr/bin/elfdump
|
||||||
|
./usr/bin/enigma
|
||||||
|
./usr/bin/ex
|
||||||
|
./usr/bin/expand
|
||||||
|
./usr/bin/fc
|
||||||
|
./usr/bin/fg
|
||||||
|
./usr/bin/file2c
|
||||||
|
./usr/bin/finger
|
||||||
|
./usr/bin/fmt
|
||||||
|
./usr/bin/fold
|
||||||
|
./usr/bin/from
|
||||||
|
./usr/bin/fsync
|
||||||
|
./usr/bin/gate-ftp
|
||||||
|
./usr/bin/gcore
|
||||||
|
./usr/bin/gencat
|
||||||
|
./usr/bin/getconf
|
||||||
|
./usr/bin/gzexe
|
||||||
|
./usr/bin/hd
|
||||||
|
./usr/bin/hesinfo
|
||||||
|
./usr/bin/ident
|
||||||
|
./usr/bin/indent
|
||||||
|
./usr/bin/info
|
||||||
|
./usr/bin/infokey
|
||||||
|
./usr/bin/ipcrm
|
||||||
|
./usr/bin/ipcs
|
||||||
|
./usr/bin/jobs
|
||||||
|
./usr/bin/join
|
||||||
|
./usr/bin/kdump
|
||||||
|
./usr/bin/keylogin
|
||||||
|
./usr/bin/keylogout
|
||||||
|
./usr/bin/ktrace
|
||||||
|
./usr/bin/ktrdump
|
||||||
|
./usr/bin/lam
|
||||||
|
./usr/bin/last
|
||||||
|
./usr/bin/lastcomm
|
||||||
|
./usr/bin/leave
|
||||||
|
./usr/bin/locale
|
||||||
|
./usr/bin/locate
|
||||||
|
./usr/bin/logins
|
||||||
|
./usr/bin/logname
|
||||||
|
./usr/bin/look
|
||||||
|
./usr/bin/lorder
|
||||||
|
./usr/bin/lsvfs
|
||||||
|
./usr/bin/m4
|
||||||
|
./usr/bin/mail
|
||||||
|
./usr/bin/mailx
|
||||||
|
./usr/bin/make
|
||||||
|
./usr/bin/makeinfo
|
||||||
|
./usr/bin/makewhatis
|
||||||
|
./usr/bin/merge
|
||||||
|
./usr/bin/mesg
|
||||||
|
./usr/bin/mkdep
|
||||||
|
./usr/bin/mklocale
|
||||||
|
./usr/bin/mkstr
|
||||||
|
./usr/bin/mkuzip
|
||||||
|
./usr/bin/msgs
|
||||||
|
./usr/bin/mt
|
||||||
|
./usr/bin/ncal
|
||||||
|
./usr/bin/ncplist
|
||||||
|
./usr/bin/ncplogin
|
||||||
|
./usr/bin/ncplogout
|
||||||
|
./usr/bin/newgrp
|
||||||
|
./usr/bin/newkey
|
||||||
|
./usr/bin/nex
|
||||||
|
./usr/bin/nfsstat
|
||||||
|
./usr/bin/nl
|
||||||
|
./usr/bin/nvi
|
||||||
|
./usr/bin/nview
|
||||||
|
./usr/bin/objformat
|
||||||
|
./usr/bin/opieinfo
|
||||||
|
./usr/bin/opiekey
|
||||||
|
./usr/bin/opiepasswd
|
||||||
|
./usr/bin/otp-md4
|
||||||
|
./usr/bin/otp-md5
|
||||||
|
./usr/bin/otp-sha
|
||||||
|
./usr/bin/pagesize
|
||||||
|
./usr/bin/paste
|
||||||
|
./usr/bin/pathchk
|
||||||
|
./usr/bin/pawd
|
||||||
|
./usr/bin/pftp
|
||||||
|
./usr/bin/pr
|
||||||
|
./usr/bin/printenv
|
||||||
|
./usr/bin/quota
|
||||||
|
./usr/bin/rcs
|
||||||
|
./usr/bin/rcsclean
|
||||||
|
./usr/bin/rcsdiff
|
||||||
|
./usr/bin/rcsfreeze
|
||||||
|
./usr/bin/rcsmerge
|
||||||
|
./usr/bin/read
|
||||||
|
./usr/bin/ree
|
||||||
|
./usr/bin/rlog
|
||||||
|
./usr/bin/rlogin
|
||||||
|
./usr/bin/rpcgen
|
||||||
|
./usr/bin/rpcinfo
|
||||||
|
./usr/bin/rs
|
||||||
|
./usr/bin/rsh
|
||||||
|
./usr/bin/rup
|
||||||
|
./usr/bin/ruptime
|
||||||
|
./usr/bin/rusers
|
||||||
|
./usr/bin/rwall
|
||||||
|
./usr/bin/rwho
|
||||||
|
./usr/bin/script
|
||||||
|
./usr/bin/sdiff
|
||||||
|
./usr/bin/send-pr
|
||||||
|
./usr/bin/sendbug
|
||||||
|
./usr/bin/shar
|
||||||
|
./usr/bin/showmount
|
||||||
|
./usr/bin/slogin
|
||||||
|
./usr/bin/smbutil
|
||||||
|
./usr/bin/split
|
||||||
|
./usr/bin/tabs
|
||||||
|
./usr/bin/talk
|
||||||
|
./usr/bin/tcopy
|
||||||
|
./usr/bin/tftp
|
||||||
|
./usr/bin/truncate
|
||||||
|
./usr/bin/tset
|
||||||
|
./usr/bin/tsort
|
||||||
|
./usr/bin/ul
|
||||||
|
./usr/bin/unalias
|
||||||
|
./usr/bin/uncompress
|
||||||
|
./usr/bin/unexpand
|
||||||
|
./usr/bin/unifdef
|
||||||
|
./usr/bin/unifdefall
|
||||||
|
./usr/bin/units
|
||||||
|
./usr/bin/unvis
|
||||||
|
./usr/bin/users
|
||||||
|
./usr/bin/uudecode
|
||||||
|
./usr/bin/uuencode
|
||||||
|
./usr/bin/uuidgen
|
||||||
|
./usr/bin/vgrind
|
||||||
|
./usr/bin/view
|
||||||
|
./usr/bin/vis
|
||||||
|
./usr/bin/wait
|
||||||
|
./usr/bin/what
|
||||||
|
./usr/bin/whatis
|
||||||
|
./usr/bin/whereis
|
||||||
|
./usr/bin/whois
|
||||||
|
./usr/bin/window
|
||||||
|
./usr/bin/write
|
||||||
|
./usr/bin/xstr
|
||||||
|
./usr/bin/zcmp
|
||||||
|
./usr/bin/zdiff
|
||||||
|
./usr/bin/zegrep
|
||||||
|
./usr/bin/zfgrep
|
||||||
|
./usr/bin/zforce
|
||||||
|
./usr/bin/zgrep
|
||||||
|
./usr/bin/zless
|
||||||
|
./usr/bin/zmore
|
||||||
|
./usr/bin/znew
|
||||||
|
./usr/games
|
||||||
|
./usr/lib/*.a
|
||||||
|
./usr/lib/*.o
|
||||||
|
./usr/lib/libcalendar.so*
|
||||||
|
./usr/lib/libcam.so*
|
||||||
|
./usr/lib/libcom_err.so*
|
||||||
|
./usr/lib/libdevstat.so*
|
||||||
|
./usr/lib/libform.so*
|
||||||
|
./usr/lib/libftpio.so*
|
||||||
|
./usr/lib/libhistory.so*
|
||||||
|
./usr/lib/libkiconv.so*
|
||||||
|
./usr/lib/libmenu.so*
|
||||||
|
./usr/lib/libmytinfo.so*
|
||||||
|
./usr/lib/libncp.so*
|
||||||
|
./usr/lib/libopie.so*
|
||||||
|
./usr/lib/libpanel.so*
|
||||||
|
./usr/lib/libpmc.so*
|
||||||
|
./usr/lib/librpcsvc.so*
|
||||||
|
./usr/lib/libsmb.so*
|
||||||
|
./usr/lib/libtacplus.so*
|
||||||
|
./usr/lib/libtermcap.so*
|
||||||
|
./usr/lib/libtermlib.so*
|
||||||
|
./usr/lib/libthr.so*
|
||||||
|
./usr/lib/libthread_db.so*
|
||||||
|
./usr/lib/libtinfo.so*
|
||||||
|
./usr/lib/libugidfw.so*
|
||||||
|
./usr/lib/libvgl.so*
|
||||||
|
./usr/lib/pam_*
|
||||||
|
./usr/libdata
|
||||||
|
./usr/libexec/bootpd
|
||||||
|
./usr/libexec/bootpgw
|
||||||
|
./usr/libexec/comsat
|
||||||
|
./usr/libexec/fingerd
|
||||||
|
./usr/libexec/ftp-proxy
|
||||||
|
./usr/libexec/ftpd
|
||||||
|
./usr/libexec/locate.bigram
|
||||||
|
./usr/libexec/locate.code
|
||||||
|
./usr/libexec/locate.concatdb
|
||||||
|
./usr/libexec/locate.mklocatedb
|
||||||
|
./usr/libexec/locate.updatedb
|
||||||
|
./usr/libexec/lpr
|
||||||
|
./usr/libexec/lpr/ru
|
||||||
|
./usr/libexec/lukemftpd
|
||||||
|
./usr/libexec/makekey
|
||||||
|
./usr/libexec/makewhatis.local
|
||||||
|
./usr/libexec/ntalkd
|
||||||
|
./usr/libexec/phttpget
|
||||||
|
./usr/libexec/pt_chown
|
||||||
|
./usr/libexec/rbootd
|
||||||
|
./usr/libexec/revnetgroup
|
||||||
|
./usr/libexec/rlogind
|
||||||
|
./usr/libexec/rpc.rquotad
|
||||||
|
./usr/libexec/rpc.rstatd
|
||||||
|
./usr/libexec/rpc.rusersd
|
||||||
|
./usr/libexec/rpc.rwalld
|
||||||
|
./usr/libexec/rpc.sprayd
|
||||||
|
./usr/libexec/rshd
|
||||||
|
./usr/libexec/sendmail
|
||||||
|
./usr/libexec/sm.bin
|
||||||
|
./usr/libexec/tcpd
|
||||||
|
./usr/libexec/telnetd
|
||||||
|
./usr/libexec/vfontedpr
|
||||||
|
./usr/include
|
||||||
|
./usr/sbin/IPXrouted
|
||||||
|
./usr/sbin/ac
|
||||||
|
./usr/sbin/accton
|
||||||
|
./usr/sbin/acpiconf
|
||||||
|
./usr/sbin/acpidb
|
||||||
|
./usr/sbin/acpidump
|
||||||
|
./usr/sbin/adduser
|
||||||
|
./usr/sbin/amd
|
||||||
|
./usr/sbin/amq
|
||||||
|
./usr/sbin/apm
|
||||||
|
./usr/sbin/asf
|
||||||
|
./usr/sbin/bootparamd
|
||||||
|
./usr/sbin/bootpef
|
||||||
|
./usr/sbin/bootptest
|
||||||
|
./usr/sbin/btxld
|
||||||
|
./usr/sbin/burncd
|
||||||
|
./usr/sbin/callbootd
|
||||||
|
./usr/sbin/chkgrp
|
||||||
|
./usr/sbin/ckdist
|
||||||
|
./usr/sbin/config
|
||||||
|
./usr/sbin/ctm
|
||||||
|
./usr/sbin/ctm_dequeue
|
||||||
|
./usr/sbin/ctm_rmail
|
||||||
|
./usr/sbin/ctm_smail
|
||||||
|
./usr/sbin/cursor
|
||||||
|
./usr/sbin/dconschat
|
||||||
|
./usr/sbin/edquota
|
||||||
|
./usr/sbin/extattrctl
|
||||||
|
./usr/sbin/fdcontrol
|
||||||
|
./usr/sbin/fdformat
|
||||||
|
./usr/sbin/fdread
|
||||||
|
./usr/sbin/fdwrite
|
||||||
|
./usr/sbin/fixmount
|
||||||
|
./usr/sbin/flowctl
|
||||||
|
./usr/sbin/fontedit
|
||||||
|
./usr/sbin/fsinfo
|
||||||
|
./usr/sbin/fwcontrol
|
||||||
|
./usr/sbin/getfmac
|
||||||
|
./usr/sbin/getpmac
|
||||||
|
./usr/sbin/gstat
|
||||||
|
./usr/sbin/hlfsd
|
||||||
|
./usr/sbin/iasl
|
||||||
|
./usr/sbin/idprio
|
||||||
|
./usr/sbin/kcon
|
||||||
|
./usr/sbin/keyserv
|
||||||
|
./usr/sbin/kgmon
|
||||||
|
./usr/sbin/kgzip
|
||||||
|
./usr/sbin/lastlogin
|
||||||
|
./usr/sbin/loadfont
|
||||||
|
./usr/sbin/lptcontrol
|
||||||
|
./usr/sbin/lsextattr
|
||||||
|
./usr/sbin/map-mbone
|
||||||
|
./usr/sbin/memcontrol
|
||||||
|
./usr/sbin/mergemaster
|
||||||
|
./usr/sbin/mixer
|
||||||
|
./usr/sbin/mk-amd-map
|
||||||
|
./usr/sbin/mld6query
|
||||||
|
./usr/sbin/mlxcontrol
|
||||||
|
./usr/sbin/mount_nwfs
|
||||||
|
./usr/sbin/mount_portalfs
|
||||||
|
./usr/sbin/mount_smbfs
|
||||||
|
./usr/sbin/moused
|
||||||
|
./usr/sbin/mptable
|
||||||
|
./usr/sbin/mrinfo
|
||||||
|
./usr/sbin/mrouted
|
||||||
|
./usr/sbin/mtest
|
||||||
|
./usr/sbin/mtrace
|
||||||
|
./usr/sbin/newsyslog
|
||||||
|
./usr/sbin/pccardc
|
||||||
|
./usr/sbin/periodic
|
||||||
|
./usr/sbin/pmccontrol
|
||||||
|
./usr/sbin/pmcstat
|
||||||
|
./usr/sbin/pnpinfo
|
||||||
|
./usr/sbin/portsnap
|
||||||
|
./usr/sbin/procctl
|
||||||
|
./usr/sbin/moused
|
||||||
|
./usr/sbin/quot
|
||||||
|
./usr/sbin/quotaoff
|
||||||
|
./usr/sbin/quotaon
|
||||||
|
./usr/sbin/rarpd
|
||||||
|
./usr/sbin/raycontrol
|
||||||
|
./usr/sbin/repquota
|
||||||
|
./usr/sbin/rip6query
|
||||||
|
./usr/sbin/rmextattr
|
||||||
|
./usr/sbin/rmt
|
||||||
|
./usr/sbin/rmuser
|
||||||
|
./usr/sbin/route6d
|
||||||
|
./usr/sbin/rpc.lockd
|
||||||
|
./usr/sbin/rpc.statd
|
||||||
|
./usr/sbin/rpc.umntall
|
||||||
|
./usr/sbin/rrenumd
|
||||||
|
./usr/sbin/rtprio
|
||||||
|
./usr/sbin/rwhod
|
||||||
|
./usr/sbin/sa
|
||||||
|
./usr/sbin/scon
|
||||||
|
./usr/sbin/setextattr
|
||||||
|
./usr/sbin/setfmac
|
||||||
|
./usr/sbin/setfsmac
|
||||||
|
./usr/sbin/setpmac
|
||||||
|
./usr/sbin/sicontrol
|
||||||
|
./usr/sbin/sliplogin
|
||||||
|
./usr/sbin/slstat
|
||||||
|
./usr/sbin/smbmsg
|
||||||
|
./usr/sbin/sntp
|
||||||
|
./usr/sbin/spkrtest
|
||||||
|
./usr/sbin/spray
|
||||||
|
./usr/sbin/sysinstall
|
||||||
|
./usr/sbin/tcpdchk
|
||||||
|
./usr/sbin/tcpdmatch
|
||||||
|
./usr/sbin/tcpdrop
|
||||||
|
./usr/sbin/tcpslice
|
||||||
|
./usr/sbin/timed
|
||||||
|
./usr/sbin/timedc
|
||||||
|
./usr/sbin/trpt
|
||||||
|
./usr/sbin/tzsetup
|
||||||
|
./usr/sbin/ugidfw
|
||||||
|
./usr/sbin/vnconfig
|
||||||
|
./usr/sbin/vt220keys
|
||||||
|
./usr/sbin/watch
|
||||||
|
./usr/sbin/wire-test
|
||||||
|
./usr/sbin/zdump
|
||||||
|
./usr/sbin/zic
|
||||||
|
./usr/sbin/zzz
|
||||||
|
./usr/share/calendar
|
||||||
|
./usr/share/dict
|
||||||
|
./usr/share/doc/IPv6
|
||||||
|
./usr/share/doc/atm
|
||||||
|
./usr/share/doc/bind9
|
||||||
|
./usr/share/doc/ncurses
|
||||||
|
./usr/share/doc/ntp
|
||||||
|
./usr/share/doc/papers
|
||||||
|
./usr/share/doc/psd
|
||||||
|
./usr/share/doc/smm
|
||||||
|
./usr/share/doc/usd
|
||||||
|
./usr/share/examples
|
||||||
|
./usr/share/games
|
||||||
|
./usr/share/groff_font
|
||||||
|
./usr/share/info
|
||||||
|
./usr/share/isdn
|
||||||
|
./usr/share/locale/af_ZA.ISO8859-1
|
||||||
|
./usr/share/locale/af_ZA.ISO8859-15
|
||||||
|
./usr/share/locale/af_ZA.UTF-8
|
||||||
|
./usr/share/locale/am_ET.UTF-8
|
||||||
|
./usr/share/locale/be_BY.CP1131
|
||||||
|
./usr/share/locale/be_BY.CP1251
|
||||||
|
./usr/share/locale/be_BY.ISO8859-5
|
||||||
|
./usr/share/locale/be_BY.UTF-8
|
||||||
|
./usr/share/locale/bg_BG.CP1251
|
||||||
|
./usr/share/locale/bg_BG.UTF-8
|
||||||
|
./usr/share/locale/ca_ES.ISO8859-1
|
||||||
|
./usr/share/locale/ca_ES.ISO8859-15
|
||||||
|
./usr/share/locale/ca_ES.UTF-8
|
||||||
|
./usr/share/locale/cs_CZ.ISO8859-2
|
||||||
|
./usr/share/locale/cs_CZ.UTF-8
|
||||||
|
./usr/share/locale/da_DK.ISO8859-1
|
||||||
|
./usr/share/locale/da_DK.ISO8859-15
|
||||||
|
./usr/share/locale/da_DK.UTF-8
|
||||||
|
./usr/share/locale/de_AT.ISO8859-1
|
||||||
|
./usr/share/locale/de_AT.ISO8859-15
|
||||||
|
./usr/share/locale/de_AT.UTF-8
|
||||||
|
./usr/share/locale/de_CH.ISO8859-1
|
||||||
|
./usr/share/locale/de_CH.ISO8859-15
|
||||||
|
./usr/share/locale/de_CH.UTF-8
|
||||||
|
./usr/share/locale/de_DE.ISO8859-1
|
||||||
|
./usr/share/locale/de_DE.ISO8859-15
|
||||||
|
./usr/share/locale/de_DE.UTF-8
|
||||||
|
./usr/share/locale/el_GR.ISO8859-7
|
||||||
|
./usr/share/locale/el_GR.UTF-8
|
||||||
|
./usr/share/locale/en_AU.ISO8859-1
|
||||||
|
./usr/share/locale/en_AU.ISO8859-15
|
||||||
|
./usr/share/locale/en_AU.US-ASCII
|
||||||
|
./usr/share/locale/en_AU.UTF-8
|
||||||
|
./usr/share/locale/en_CA.ISO8859-1
|
||||||
|
./usr/share/locale/en_CA.ISO8859-15
|
||||||
|
./usr/share/locale/en_CA.US-ASCII
|
||||||
|
./usr/share/locale/en_CA.UTF-8
|
||||||
|
./usr/share/locale/en_GB.ISO8859-1
|
||||||
|
./usr/share/locale/en_GB.ISO8859-15
|
||||||
|
./usr/share/locale/en_GB.US-ASCII
|
||||||
|
./usr/share/locale/en_GB.UTF-8
|
||||||
|
./usr/share/locale/en_IE.UTF-8
|
||||||
|
./usr/share/locale/en_NZ.ISO8859-1
|
||||||
|
./usr/share/locale/en_NZ.ISO8859-15
|
||||||
|
./usr/share/locale/en_NZ.US-ASCII
|
||||||
|
./usr/share/locale/en_NZ.UTF-8
|
||||||
|
./usr/share/locale/es_ES.ISO8859-1
|
||||||
|
./usr/share/locale/es_ES.ISO8859-15
|
||||||
|
./usr/share/locale/es_ES.UTF-8
|
||||||
|
./usr/share/locale/et_EE.ISO8859-15
|
||||||
|
./usr/share/locale/et_EE.UTF-8
|
||||||
|
./usr/share/locale/eu_ES.ISO8859-1
|
||||||
|
./usr/share/locale/eu_ES.ISO8859-15
|
||||||
|
./usr/share/locale/eu_ES.UTF-8
|
||||||
|
./usr/share/locale/fi_FI.ISO8859-1
|
||||||
|
./usr/share/locale/fi_FI.ISO8859-15
|
||||||
|
./usr/share/locale/fi_FI.UTF-8
|
||||||
|
./usr/share/locale/fr_BE.ISO8859-1
|
||||||
|
./usr/share/locale/fr_BE.ISO8859-15
|
||||||
|
./usr/share/locale/fr_BE.UTF-8
|
||||||
|
./usr/share/locale/fr_CA.ISO8859-1
|
||||||
|
./usr/share/locale/fr_CA.ISO8859-15
|
||||||
|
./usr/share/locale/fr_CA.UTF-8
|
||||||
|
./usr/share/locale/fr_CH.ISO8859-1
|
||||||
|
./usr/share/locale/fr_CH.ISO8859-15
|
||||||
|
./usr/share/locale/fr_CH.UTF-8
|
||||||
|
./usr/share/locale/fr_FR.ISO8859-1
|
||||||
|
./usr/share/locale/fr_FR.ISO8859-15
|
||||||
|
./usr/share/locale/fr_FR.UTF-8
|
||||||
|
./usr/share/locale/he_IL.UTF-8
|
||||||
|
./usr/share/locale/hi_IN.ISCII-DEV
|
||||||
|
./usr/share/locale/hr_HR.ISO8859-2
|
||||||
|
./usr/share/locale/hr_HR.UTF-8
|
||||||
|
./usr/share/locale/hu_HU.ISO8859-2
|
||||||
|
./usr/share/locale/hu_HU.UTF-8
|
||||||
|
./usr/share/locale/hy_AM.ARMSCII-8
|
||||||
|
./usr/share/locale/hy_AM.UTF-8
|
||||||
|
./usr/share/locale/is_IS.ISO8859-1
|
||||||
|
./usr/share/locale/is_IS.ISO8859-15
|
||||||
|
./usr/share/locale/is_IS.UTF-8
|
||||||
|
./usr/share/locale/it_CH.ISO8859-1
|
||||||
|
./usr/share/locale/it_CH.ISO8859-15
|
||||||
|
./usr/share/locale/it_CH.UTF-8
|
||||||
|
./usr/share/locale/it_IT.ISO8859-1
|
||||||
|
./usr/share/locale/it_IT.ISO8859-15
|
||||||
|
./usr/share/locale/it_IT.UTF-8
|
||||||
|
./usr/share/locale/ja_JP.SJIS
|
||||||
|
./usr/share/locale/ja_JP.UTF-8
|
||||||
|
./usr/share/locale/ja_JP.eucJP
|
||||||
|
./usr/share/locale/kk_KZ.PT154
|
||||||
|
./usr/share/locale/kk_KZ.UTF-8
|
||||||
|
./usr/share/locale/ko_KR.CP949
|
||||||
|
./usr/share/locale/ko_KR.UTF-8
|
||||||
|
./usr/share/locale/ko_KR.eucKR
|
||||||
|
./usr/share/locale/la_LN.ISO8859-15
|
||||||
|
./usr/share/locale/la_LN.ISO8859-4
|
||||||
|
./usr/share/locale/lt_LT.ISO8859-13
|
||||||
|
./usr/share/locale/lt_LT.ISO8859-4
|
||||||
|
./usr/share/locale/lt_LT.UTF-8
|
||||||
|
./usr/share/locale/nl_BE.ISO8859-1
|
||||||
|
./usr/share/locale/nl_BE.ISO8859-15
|
||||||
|
./usr/share/locale/nl_BE.UTF-8
|
||||||
|
./usr/share/locale/nl_NL.ISO8859-1
|
||||||
|
./usr/share/locale/nl_NL.ISO8859-15
|
||||||
|
./usr/share/locale/nl_NL.UTF-8
|
||||||
|
./usr/share/locale/no_NO.ISO8859-1
|
||||||
|
./usr/share/locale/no_NO.ISO8859-15
|
||||||
|
./usr/share/locale/no_NO.UTF-8
|
||||||
|
./usr/share/locale/pl_PL.ISO8859-2
|
||||||
|
./usr/share/locale/pl_PL.UTF-8
|
||||||
|
./usr/share/locale/pt_BR.ISO8859-1
|
||||||
|
./usr/share/locale/pt_BR.UTF-8
|
||||||
|
./usr/share/locale/pt_PT.ISO8859-1
|
||||||
|
./usr/share/locale/pt_PT.ISO8859-15
|
||||||
|
./usr/share/locale/pt_PT.UTF-8
|
||||||
|
./usr/share/locale/ro_RO.ISO8859-2
|
||||||
|
./usr/share/locale/ro_RO.UTF-8
|
||||||
|
./usr/share/locale/ru_RU.CP1251
|
||||||
|
./usr/share/locale/ru_RU.CP866
|
||||||
|
./usr/share/locale/ru_RU.ISO8859-5
|
||||||
|
./usr/share/locale/ru_RU.KOI8-R
|
||||||
|
./usr/share/locale/ru_RU.UTF-8
|
||||||
|
./usr/share/locale/sk_SK.ISO8859-2
|
||||||
|
./usr/share/locale/sk_SK.UTF-8
|
||||||
|
./usr/share/locale/sl_SI.ISO8859-2
|
||||||
|
./usr/share/locale/sl_SI.UTF-8
|
||||||
|
./usr/share/locale/sr_YU.ISO8859-2
|
||||||
|
./usr/share/locale/sr_YU.ISO8859-5
|
||||||
|
./usr/share/locale/sr_YU.UTF-8
|
||||||
|
./usr/share/locale/sv_SE.ISO8859-1
|
||||||
|
./usr/share/locale/sv_SE.ISO8859-15
|
||||||
|
./usr/share/locale/sv_SE.UTF-8
|
||||||
|
./usr/share/locale/tr_TR.ISO8859-9
|
||||||
|
./usr/share/locale/tr_TR.UTF-8
|
||||||
|
./usr/share/locale/uk_UA.CP1251
|
||||||
|
./usr/share/locale/uk_UA.ISO8859-5
|
||||||
|
./usr/share/locale/uk_UA.KOI8-U
|
||||||
|
./usr/share/locale/uk_UA.UTF-8
|
||||||
|
./usr/share/locale/zh_CN.GB18030
|
||||||
|
./usr/share/locale/zh_CN.GB2312
|
||||||
|
./usr/share/locale/zh_CN.GBK
|
||||||
|
./usr/share/locale/zh_CN.UTF-8
|
||||||
|
./usr/share/locale/zh_CN.eucCN
|
||||||
|
./usr/share/locale/zh_HK.UTF-8
|
||||||
|
./usr/share/locale/zh_HK.Big5HKSCS
|
||||||
|
./usr/share/locale/zh_TW.Big5
|
||||||
|
./usr/share/locale/zh_TW.UTF-8
|
||||||
|
./usr/share/me
|
||||||
|
./usr/share/misc/fonts
|
||||||
|
./usr/share/misc/pcvtfonts
|
||||||
|
./usr/share/misc/ascii
|
||||||
|
./usr/share/misc/birthtoken
|
||||||
|
./usr/share/misc/bsd-family-tree
|
||||||
|
./usr/share/misc/eqnchar
|
||||||
|
./usr/share/misc/flowers
|
||||||
|
./usr/share/misc/init.ee
|
||||||
|
./usr/share/misc/iso3166
|
||||||
|
./usr/share/misc/iso639
|
||||||
|
./usr/share/misc/latin1
|
||||||
|
./usr/share/misc/operator
|
||||||
|
./usr/share/misc/pci_vendors
|
||||||
|
./usr/share/misc/scsi_modes
|
||||||
|
./usr/share/misc/usb_hid_usages
|
||||||
|
./usr/share/misc/mail.help
|
||||||
|
./usr/share/misc/mail.tildehelp
|
||||||
|
./usr/share/misc/units.lib
|
||||||
|
./usr/share/misc/vgrindefs
|
||||||
|
./usr/share/misc/vgrindefs.db
|
||||||
|
./usr/share/misc/keycap.pcvt
|
||||||
|
./usr/share/mk
|
||||||
|
./usr/share/nls/af_ZA.ISO8859-1
|
||||||
|
./usr/share/nls/af_ZA.ISO8859-15
|
||||||
|
./usr/share/nls/af_ZA.UTF-8
|
||||||
|
./usr/share/nls/am_ET.UTF-8
|
||||||
|
./usr/share/nls/be_BY.CP1131
|
||||||
|
./usr/share/nls/be_BY.CP1251
|
||||||
|
./usr/share/nls/be_BY.ISO8859-5
|
||||||
|
./usr/share/nls/be_BY.UTF-8
|
||||||
|
./usr/share/nls/bg_BG.CP1251
|
||||||
|
./usr/share/nls/bg_BG.UTF-8
|
||||||
|
./usr/share/nls/ca_ES.ISO8859-1
|
||||||
|
./usr/share/nls/ca_ES.ISO8859-15
|
||||||
|
./usr/share/nls/ca_ES.UTF-8
|
||||||
|
./usr/share/nls/cs_CZ.ISO8859-2
|
||||||
|
./usr/share/nls/cs_CZ.UTF-8
|
||||||
|
./usr/share/nls/da_DK.ISO8859-1
|
||||||
|
./usr/share/nls/da_DK.ISO8859-15
|
||||||
|
./usr/share/nls/da_DK.UTF-8
|
||||||
|
./usr/share/nls/de_AT.ISO8859-1
|
||||||
|
./usr/share/nls/de_AT.ISO8859-15
|
||||||
|
./usr/share/nls/de_AT.UTF-8
|
||||||
|
./usr/share/nls/de_CH.ISO8859-1
|
||||||
|
./usr/share/nls/de_CH.ISO8859-15
|
||||||
|
./usr/share/nls/de_CH.UTF-8
|
||||||
|
./usr/share/nls/de_DE.ISO8859-1
|
||||||
|
./usr/share/nls/de_DE.ISO8859-15
|
||||||
|
./usr/share/nls/de_DE.UTF-8
|
||||||
|
./usr/share/nls/el_GR.ISO8859-7
|
||||||
|
./usr/share/nls/el_GR.UTF-8
|
||||||
|
./usr/share/nls/en_AU.ISO8859-1
|
||||||
|
./usr/share/nls/en_AU.ISO8859-15
|
||||||
|
./usr/share/nls/en_AU.US-ASCII
|
||||||
|
./usr/share/nls/en_AU.UTF-8
|
||||||
|
./usr/share/nls/en_CA.ISO8859-1
|
||||||
|
./usr/share/nls/en_CA.ISO8859-15
|
||||||
|
./usr/share/nls/en_CA.US-ASCII
|
||||||
|
./usr/share/nls/en_CA.UTF-8
|
||||||
|
./usr/share/nls/en_GB.ISO8859-1
|
||||||
|
./usr/share/nls/en_GB.ISO8859-15
|
||||||
|
./usr/share/nls/en_GB.US-ASCII
|
||||||
|
./usr/share/nls/en_GB.UTF-8
|
||||||
|
./usr/share/nls/en_IE.UTF-8
|
||||||
|
./usr/share/nls/en_NZ.ISO8859-1
|
||||||
|
./usr/share/nls/en_NZ.ISO8859-15
|
||||||
|
./usr/share/nls/en_NZ.US-ASCII
|
||||||
|
./usr/share/nls/en_NZ.UTF-8
|
||||||
|
./usr/share/nls/en_US.ISO8859-1
|
||||||
|
./usr/share/nls/en_US.ISO8859-15
|
||||||
|
./usr/share/nls/en_US.UTF-8
|
||||||
|
./usr/share/nls/es_ES.ISO8859-1
|
||||||
|
./usr/share/nls/es_ES.ISO8859-15
|
||||||
|
./usr/share/nls/es_ES.UTF-8
|
||||||
|
./usr/share/nls/et_EE.ISO8859-15
|
||||||
|
./usr/share/nls/et_EE.UTF-8
|
||||||
|
./usr/share/nls/fi_FI.ISO8859-1
|
||||||
|
./usr/share/nls/fi_FI.ISO8859-15
|
||||||
|
./usr/share/nls/fi_FI.UTF-8
|
||||||
|
./usr/share/nls/fr_BE.ISO8859-1
|
||||||
|
./usr/share/nls/fr_BE.ISO8859-15
|
||||||
|
./usr/share/nls/fr_BE.UTF-8
|
||||||
|
./usr/share/nls/fr_CA.ISO8859-1
|
||||||
|
./usr/share/nls/fr_CA.ISO8859-15
|
||||||
|
./usr/share/nls/fr_CA.UTF-8
|
||||||
|
./usr/share/nls/fr_CH.ISO8859-1
|
||||||
|
./usr/share/nls/fr_CH.ISO8859-15
|
||||||
|
./usr/share/nls/fr_CH.UTF-8
|
||||||
|
./usr/share/nls/fr_FR.ISO8859-1
|
||||||
|
./usr/share/nls/fr_FR.ISO8859-15
|
||||||
|
./usr/share/nls/fr_FR.UTF-8
|
||||||
|
./usr/share/nls/he_IL.UTF-8
|
||||||
|
./usr/share/nls/hi_IN.ISCII-DEV
|
||||||
|
./usr/share/nls/hr_HR.ISO8859-2
|
||||||
|
./usr/share/nls/hr_HR.UTF-8
|
||||||
|
./usr/share/nls/hu_HU.ISO8859-2
|
||||||
|
./usr/share/nls/hu_HU.UTF-8
|
||||||
|
./usr/share/nls/hy_AM.ARMSCII-8
|
||||||
|
./usr/share/nls/hy_AM.UTF-8
|
||||||
|
./usr/share/nls/is_IS.ISO8859-1
|
||||||
|
./usr/share/nls/is_IS.ISO8859-15
|
||||||
|
./usr/share/nls/is_IS.UTF-8
|
||||||
|
./usr/share/nls/it_CH.ISO8859-1
|
||||||
|
./usr/share/nls/it_CH.ISO8859-15
|
||||||
|
./usr/share/nls/it_CH.UTF-8
|
||||||
|
./usr/share/nls/it_IT.ISO8859-1
|
||||||
|
./usr/share/nls/it_IT.ISO8859-15
|
||||||
|
./usr/share/nls/it_IT.UTF-8
|
||||||
|
./usr/share/nls/ja_JP.SJIS
|
||||||
|
./usr/share/nls/ja_JP.UTF-8
|
||||||
|
./usr/share/nls/ja_JP.eucJP
|
||||||
|
./usr/share/nls/kk_KZ.PT154
|
||||||
|
./usr/share/nls/kk_KZ.UTF-8
|
||||||
|
./usr/share/nls/ko_KR.CP949
|
||||||
|
./usr/share/nls/ko_KR.UTF-8
|
||||||
|
./usr/share/nls/ko_KR.eucKR
|
||||||
|
./usr/share/nls/la_LN.ISO8859-1
|
||||||
|
./usr/share/nls/la_LN.ISO8859-15
|
||||||
|
./usr/share/nls/la_LN.ISO8859-2
|
||||||
|
./usr/share/nls/la_LN.ISO8859-4
|
||||||
|
./usr/share/nls/la_LN.US-ASCII
|
||||||
|
./usr/share/nls/lt_LT.ISO8859-13
|
||||||
|
./usr/share/nls/lt_LT.ISO8859-4
|
||||||
|
./usr/share/nls/lt_LT.UTF-8
|
||||||
|
./usr/share/nls/nl_BE.ISO8859-1
|
||||||
|
./usr/share/nls/nl_BE.ISO8859-15
|
||||||
|
./usr/share/nls/nl_BE.UTF-8
|
||||||
|
./usr/share/nls/nl_NL.ISO8859-1
|
||||||
|
./usr/share/nls/nl_NL.ISO8859-15
|
||||||
|
./usr/share/nls/nl_NL.UTF-8
|
||||||
|
./usr/share/nls/no_NO.ISO8859-1
|
||||||
|
./usr/share/nls/no_NO.ISO8859-15
|
||||||
|
./usr/share/nls/no_NO.UTF-8
|
||||||
|
./usr/share/nls/pl_PL.ISO8859-2
|
||||||
|
./usr/share/nls/pl_PL.UTF-8
|
||||||
|
./usr/share/nls/pt_BR.ISO8859-1
|
||||||
|
./usr/share/nls/pt_BR.UTF-8
|
||||||
|
./usr/share/nls/pt_PT.ISO8859-1
|
||||||
|
./usr/share/nls/pt_PT.ISO8859-15
|
||||||
|
./usr/share/nls/pt_PT.UTF-8
|
||||||
|
./usr/share/nls/ro_RO.ISO8859-2
|
||||||
|
./usr/share/nls/ro_RO.UTF-8
|
||||||
|
./usr/share/nls/ru_RU.CP1251
|
||||||
|
./usr/share/nls/ru_RU.CP866
|
||||||
|
./usr/share/nls/ru_RU.ISO8859-5
|
||||||
|
./usr/share/nls/ru_RU.KOI8-R
|
||||||
|
./usr/share/nls/ru_RU.UTF-8
|
||||||
|
./usr/share/nls/sk_SK.ISO8859-2
|
||||||
|
./usr/share/nls/sk_SK.UTF-8
|
||||||
|
./usr/share/nls/sl_SI.ISO8859-2
|
||||||
|
./usr/share/nls/sl_SI.UTF-8
|
||||||
|
./usr/share/nls/sr_YU.ISO8859-2
|
||||||
|
./usr/share/nls/sr_YU.ISO8859-5
|
||||||
|
./usr/share/nls/sr_YU.UTF-8
|
||||||
|
./usr/share/nls/sv_SE.ISO8859-1
|
||||||
|
./usr/share/nls/sv_SE.ISO8859-15
|
||||||
|
./usr/share/nls/sv_SE.UTF-8
|
||||||
|
./usr/share/nls/tr_TR.ISO8859-9
|
||||||
|
./usr/share/nls/tr_TR.UTF-8
|
||||||
|
./usr/share/nls/uk_UA.ISO8859-5
|
||||||
|
./usr/share/nls/uk_UA.KOI8-U
|
||||||
|
./usr/share/nls/uk_UA.UTF-8
|
||||||
|
./usr/share/nls/zh_CN.GB18030
|
||||||
|
./usr/share/nls/zh_CN.GB2312
|
||||||
|
./usr/share/nls/zh_CN.GBK
|
||||||
|
./usr/share/nls/zh_CN.UTF-8
|
||||||
|
./usr/share/nls/zh_CN.eucCN
|
||||||
|
./usr/share/nls/zh_HK.Big5HKSCS
|
||||||
|
./usr/share/nls/zh_HK.UTF-8
|
||||||
|
./usr/share/nls/zh_TW.Big5
|
||||||
|
./usr/share/nls/zh_TW.UTF-8
|
||||||
|
./usr/share/openssl
|
||||||
|
./usr/share/pcvt
|
||||||
|
./usr/share/security
|
||||||
|
./usr/share/sendmail
|
||||||
|
./usr/share/skel
|
||||||
|
./usr/share/tabset
|
||||||
|
./usr/share/tmac
|
||||||
|
./usr/share/vi/catalog/dutch
|
||||||
|
./usr/share/vi/catalog/english
|
||||||
|
./usr/share/vi/catalog/french
|
||||||
|
./usr/share/vi/catalog/german
|
||||||
|
./usr/share/vi/catalog/polish
|
||||||
|
./usr/share/vi/catalog/ru_RU.KOI8-R
|
||||||
|
./usr/share/vi/catalog/spanish
|
||||||
|
./usr/share/vi/catalog/swedish
|
||||||
|
./usr/share/vi/catalog/uk_UA.KOI8-U
|
||||||
|
./usr/share/vi/catalog/nl_NL.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/nl_NL.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/en_AU.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/en_AU.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/en_AU.US-ASCII
|
||||||
|
./usr/share/vi/catalog/en_CA.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/en_CA.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/en_CA.US-ASCII
|
||||||
|
./usr/share/vi/catalog/en_GB.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/en_GB.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/en_GB.US-ASCII
|
||||||
|
./usr/share/vi/catalog/en_NZ.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/en_NZ.US-ASCII
|
||||||
|
./usr/share/vi/catalog/en_NZ.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/fr_BE.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/fr_BE.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/fr_CA.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/fr_CA.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/fr_CH.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/fr_CH.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/fr_FR.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/fr_FR.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/de_AT.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/de_AT.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/de_CH.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/de_CH.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/de_DE.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/de_DE.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/es_ES.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/es_ES.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/sv_SE.ISO8859-1
|
||||||
|
./usr/share/vi/catalog/sv_SE.ISO8859-15
|
||||||
|
./usr/share/vi/catalog/pl_PL.ISO8859-2
|
||||||
|
./usr/share/zoneinfo/Africa
|
||||||
|
./usr/share/zoneinfo/America
|
||||||
|
./usr/share/zoneinfo/America/Argentina
|
||||||
|
./usr/share/zoneinfo/America/Indiana
|
||||||
|
./usr/share/zoneinfo/America/Kentucky
|
||||||
|
./usr/share/zoneinfo/America/North_Dakota
|
||||||
|
./usr/share/zoneinfo/Antarctica
|
||||||
|
./usr/share/zoneinfo/Arctic
|
||||||
|
./usr/share/zoneinfo/Asia
|
||||||
|
./usr/share/zoneinfo/Atlantic
|
||||||
|
./usr/share/zoneinfo/Australia
|
||||||
|
./usr/share/zoneinfo/Etc
|
||||||
|
./usr/share/zoneinfo/Europe
|
||||||
|
./usr/share/zoneinfo/Indian
|
||||||
|
./usr/share/zoneinfo/Pacific
|
||||||
|
./usr/share/zoneinfo/SystemV
|
||||||
|
./usr/src
|
||||||
|
./sys
|
||||||
|
./usr/local/www/index.html
|
||||||
|
./usr/local/www/dfuife.cgi
|
||||||
|
./usr/local/www/fred.png
|
|
@ -0,0 +1,90 @@
|
||||||
|
MALLOC_PRODUCTION=yes
|
||||||
|
WITHOUT_ATM=YES
|
||||||
|
WITHOUT_AUDIT=YES
|
||||||
|
WITHOUT_AUTHPF=YES
|
||||||
|
WITHOUT_BIND=YES
|
||||||
|
WITHOUT_BIND_DNSSEC=YES
|
||||||
|
WITHOUT_BIND_ETC=YES
|
||||||
|
WITHOUT_BIND_LIBS_LWRES=YES
|
||||||
|
WITHOUT_BIND_MTREE=YES
|
||||||
|
WITHOUT_BIND_NAMED=YES
|
||||||
|
WITHOUT_BIND_UTILS=YES
|
||||||
|
WITHOUT_BLUETOOTH=YES
|
||||||
|
WITHOUT_CALENDAR=YES
|
||||||
|
WITHOUT_CDDL=YES
|
||||||
|
WITH_CLANG=YES
|
||||||
|
WITH_CLANG_IS_CC=YES
|
||||||
|
WITHOUT_CLANG_FULL=YES
|
||||||
|
NO_CTF=YES
|
||||||
|
WITHOUT_CVS=YES
|
||||||
|
WITHOUT_DICT=YES
|
||||||
|
WITHOUT_FORTRAN=YES
|
||||||
|
WITHOUT_EXAMPLES=YES
|
||||||
|
WITHOUT_GAMES=YES
|
||||||
|
WITHOUT_GCOV=YES
|
||||||
|
WITHOUT_GDB=YES
|
||||||
|
WITHOUT_GPIB=YES
|
||||||
|
WITHOUT_HESIOD_LIBC=YES
|
||||||
|
WITHOUT_HTML=YES
|
||||||
|
WITHOUT_I4B=YES
|
||||||
|
#WITHOUT_CXX=YES
|
||||||
|
WITHOUT_INFO=YES
|
||||||
|
WITHOUT_IPFILTER=YES
|
||||||
|
WITHOUT_IPX=YES
|
||||||
|
WITHOUT_KERBEROS=YES
|
||||||
|
WITHOUT_LOCALES=YES
|
||||||
|
WITHOUT_LPR=YES
|
||||||
|
WITHOUT_MAILWRAPPER=YES
|
||||||
|
WITHOUT_MAIL=YES
|
||||||
|
WITHOUT_MAN=YES
|
||||||
|
WITHOUT_MODULES=YES
|
||||||
|
WITHOUT_NCP=YES
|
||||||
|
WITHOUT_NIS=YES
|
||||||
|
WITHOUT_NLS=YES
|
||||||
|
WITHOUT_NLS_CATALOGS=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
||||||
|
WITHOUT_OBJC=YES
|
||||||
|
WITHOUT_P1003_1B=YES
|
||||||
|
WITHOUT_PROFILE=YES
|
||||||
|
WITHOUT_RCMDS=YES
|
||||||
|
WITHOUT_RCS=YES
|
||||||
|
WITHOUT_VINUM=YES
|
||||||
|
WITHOUT_RCMDS=YES
|
||||||
|
WITHOUT_SENDMAIL=YES
|
||||||
|
WITHOUT_SETUID_LOGIN=YES
|
||||||
|
WITHOUT_SHAREDOCS=YES
|
||||||
|
WITHOUT_RESCUE=YES
|
||||||
|
WITHOUT_LIB32=YES
|
||||||
|
WITHOUT_DEBUG_FILES=yes
|
||||||
|
WITHOUT_OFED=yes
|
||||||
|
WITHOUT_RESCUE=yes
|
||||||
|
WITHOUT_ATF=yes
|
||||||
|
WITHOUT_PC_SYSINSTALL=yes
|
||||||
|
WITHOUT_SYSINSTALL=yes
|
||||||
|
WITHOUT_RCS=yes
|
||||||
|
WITHOUT_RCMDS=yes
|
||||||
|
WITHOUT_PORTSNAP=yes
|
||||||
|
IPFIREWALL_DEFAULT_TO_ACCEPT=yes
|
||||||
|
IP6FIREWALL_DEFAULT_TO_ACCEPT=yes
|
||||||
|
WITHOUT_ASSERT_DEBUG=YES
|
||||||
|
HOSTAPD_CFLAGS+=-DEAP_SERVER -DEAP_GTC -DEAP_AKA -DEAP_SIM -DEAP_GPSK
|
||||||
|
HOSTAPD_CFLAGS+=-DEAP_PAX -DEAP_SAKE -DCONFIG_RSN_PREAUTH
|
||||||
|
HOSTAPD_CONFIG_RSN_PREAUTH=YES
|
||||||
|
#WITH_OPENSSL=YES
|
||||||
|
WITH_OPENSSL_PORT=yes
|
||||||
|
MWL_DEBUG=YES
|
||||||
|
LOADER_ZFS_SUPPORT=YES
|
||||||
|
WITH_ZFS=YES
|
||||||
|
WITHOUT_NTP=YES
|
||||||
|
WITHOUT_INFO=YES
|
||||||
|
WITHOUT_SVN=YES
|
||||||
|
WITHOUT_SVNLITE=YES
|
||||||
|
WITHOUT_MAN_UTILS=YES
|
||||||
|
WITHOUT_LOCATE=YES
|
||||||
|
WITHOUT_QUOTAS=YES
|
||||||
|
WITHOUT_FREEBSD_UPDATE=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
||||||
|
WITHOUT_GROFF=YES
|
||||||
|
WITHOUT_SHAREDOCS=YES
|
||||||
|
WITHOUT_SYSCONS=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
|
@ -0,0 +1,85 @@
|
||||||
|
MALLOC_PRODUCTION=yes
|
||||||
|
WITHOUT_ATM=YES
|
||||||
|
WITHOUT_AUDIT=YES
|
||||||
|
WITHOUT_AUTHPF=YES
|
||||||
|
WITHOUT_BIND=YES
|
||||||
|
WITHOUT_BIND_DNSSEC=YES
|
||||||
|
WITHOUT_BIND_ETC=YES
|
||||||
|
WITHOUT_BIND_LIBS_LWRES=YES
|
||||||
|
WITHOUT_BIND_MTREE=YES
|
||||||
|
WITHOUT_BIND_NAMED=YES
|
||||||
|
WITHOUT_BIND_UTILS=YES
|
||||||
|
WITHOUT_BLUETOOTH=YES
|
||||||
|
WITHOUT_CALENDAR=YES
|
||||||
|
WITHOUT_CDDL=YES
|
||||||
|
WITH_CLANG=YES
|
||||||
|
WITH_CLANG_IS_CC=YES
|
||||||
|
WITHOUT_CLANG_FULL=YES
|
||||||
|
NO_CTF=YES
|
||||||
|
WITHOUT_CVS=YES
|
||||||
|
WITHOUT_DICT=YES
|
||||||
|
WITHOUT_FORTRAN=YES
|
||||||
|
WITHOUT_EXAMPLES=YES
|
||||||
|
WITHOUT_GAMES=YES
|
||||||
|
WITHOUT_GCOV=YES
|
||||||
|
WITHOUT_GDB=YES
|
||||||
|
WITHOUT_GPIB=YES
|
||||||
|
WITHOUT_HESIOD_LIBC=YES
|
||||||
|
WITHOUT_HTML=YES
|
||||||
|
WITHOUT_I4B=YES
|
||||||
|
#WITHOUT_CXX=YES
|
||||||
|
WITHOUT_INFO=YES
|
||||||
|
WITHOUT_IPFILTER=YES
|
||||||
|
WITHOUT_IPX=YES
|
||||||
|
WITHOUT_KERBEROS=YES
|
||||||
|
WITHOUT_LOCALES=YES
|
||||||
|
WITHOUT_LPR=YES
|
||||||
|
WITHOUT_MAILWRAPPER=YES
|
||||||
|
WITHOUT_MAIL=YES
|
||||||
|
WITHOUT_MAN=YES
|
||||||
|
WITHOUT_MODULES=YES
|
||||||
|
WITHOUT_NCP=YES
|
||||||
|
WITHOUT_NIS=YES
|
||||||
|
WITHOUT_NLS=YES
|
||||||
|
WITHOUT_NLS_CATALOGS=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
||||||
|
WITHOUT_OBJC=YES
|
||||||
|
WITHOUT_P1003_1B=YES
|
||||||
|
WITHOUT_PROFILE=YES
|
||||||
|
WITHOUT_RCMDS=YES
|
||||||
|
WITHOUT_RCS=YES
|
||||||
|
WITHOUT_VINUM=YES
|
||||||
|
WITHOUT_RCMDS=YES
|
||||||
|
WITHOUT_SENDMAIL=YES
|
||||||
|
WITHOUT_SETUID_LOGIN=YES
|
||||||
|
WITHOUT_SHAREDOCS=YES
|
||||||
|
WITHOUT_RESCUE=YES
|
||||||
|
WITHOUT_LIB32=YES
|
||||||
|
WITHOUT_DEBUG_FILES=yes
|
||||||
|
WITHOUT_OFED=yes
|
||||||
|
WITHOUT_RESCUE=yes
|
||||||
|
WITHOUT_ATF=yes
|
||||||
|
WITHOUT_PC_SYSINSTALL=yes
|
||||||
|
WITHOUT_RCS=yes
|
||||||
|
WITHOUT_RCMDS=yes
|
||||||
|
WITHOUT_PORTSNAP=yes
|
||||||
|
WITHOUT_SYSINSTALL=yes
|
||||||
|
IPFIREWALL_DEFAULT_TO_ACCEPT=yes
|
||||||
|
IP6FIREWALL_DEFAULT_TO_ACCEPT=yes
|
||||||
|
WITHOUT_ASSERT_DEBUG=YES
|
||||||
|
WITHOUT_TOOLCHAIN=YES
|
||||||
|
LOADER_ZFS_SUPPORT=YES
|
||||||
|
WITH_ZFS=YES
|
||||||
|
WITHOUT_NTP=YES
|
||||||
|
WITHOUT_INFO=YES
|
||||||
|
WITHOUT_SVN=YES
|
||||||
|
WITHOUT_SVNLITE=YES
|
||||||
|
WITHOUT_MAN_UTILS=YES
|
||||||
|
WITHOUT_LOCATE=YES
|
||||||
|
WITHOUT_QUOTAS=YES
|
||||||
|
WITHOUT_FREEBSD_UPDATE=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
||||||
|
WITHOUT_GROFF=YES
|
||||||
|
WITHOUT_SHAREDOCS=YES
|
||||||
|
WITHOUT_SYSCONS=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
|
@ -0,0 +1,87 @@
|
||||||
|
MALLOC_PRODUCTION=yes
|
||||||
|
WITHOUT_ATM=YES
|
||||||
|
WITHOUT_AUDIT=YES
|
||||||
|
WITHOUT_AUTHPF=YES
|
||||||
|
WITHOUT_BIND=YES
|
||||||
|
WITHOUT_BIND_DNSSEC=YES
|
||||||
|
WITHOUT_BIND_ETC=YES
|
||||||
|
WITHOUT_BIND_LIBS_LWRES=YES
|
||||||
|
WITHOUT_BIND_MTREE=YES
|
||||||
|
WITHOUT_BIND_NAMED=YES
|
||||||
|
WITHOUT_BIND_UTILS=YES
|
||||||
|
WITHOUT_BLUETOOTH=YES
|
||||||
|
WITHOUT_CALENDAR=YES
|
||||||
|
WITHOUT_CDDL=YES
|
||||||
|
WITH_CLANG=YES
|
||||||
|
WITH_CLANG_IS_CC=YES
|
||||||
|
WITHOUT_CLANG_FULL=YES
|
||||||
|
NO_CTF=YES
|
||||||
|
WITHOUT_CVS=YES
|
||||||
|
WITHOUT_DICT=YES
|
||||||
|
WITHOUT_FORTRAN=YES
|
||||||
|
WITHOUT_EXAMPLES=YES
|
||||||
|
WITHOUT_GAMES=YES
|
||||||
|
WITHOUT_GCOV=YES
|
||||||
|
WITHOUT_GDB=YES
|
||||||
|
WITHOUT_GPIB=YES
|
||||||
|
WITHOUT_HESIOD_LIBC=YES
|
||||||
|
WITHOUT_HTML=YES
|
||||||
|
WITHOUT_I4B=YES
|
||||||
|
#WITHOUT_CXX=YES
|
||||||
|
WITHOUT_INFO=YES
|
||||||
|
WITHOUT_IPFILTER=YES
|
||||||
|
WITHOUT_IPX=YES
|
||||||
|
WITHOUT_KERBEROS=YES
|
||||||
|
WITHOUT_LOCALES=YES
|
||||||
|
WITHOUT_LPR=YES
|
||||||
|
WITHOUT_MAILWRAPPER=YES
|
||||||
|
WITHOUT_MAIL=YES
|
||||||
|
WITHOUT_MAN=YES
|
||||||
|
WITHOUT_MODULES=YES
|
||||||
|
WITHOUT_NCP=YES
|
||||||
|
WITHOUT_NIS=YES
|
||||||
|
WITHOUT_NLS=YES
|
||||||
|
WITHOUT_NLS_CATALOGS=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
||||||
|
WITHOUT_OBJC=YES
|
||||||
|
WITHOUT_P1003_1B=YES
|
||||||
|
WITHOUT_PROFILE=YES
|
||||||
|
WITHOUT_RCMDS=YES
|
||||||
|
WITHOUT_RCS=YES
|
||||||
|
WITHOUT_VINUM=YES
|
||||||
|
WITHOUT_RCMDS=YES
|
||||||
|
WITHOUT_SENDMAIL=YES
|
||||||
|
WITHOUT_SETUID_LOGIN=YES
|
||||||
|
WITHOUT_SHAREDOCS=YES
|
||||||
|
WITHOUT_RESCUE=YES
|
||||||
|
WITHOUT_LIB32=YES
|
||||||
|
WITHOUT_DEBUG_FILES=yes
|
||||||
|
WITHOUT_OFED=yes
|
||||||
|
WITHOUT_RESCUE=yes
|
||||||
|
WITHOUT_ATF=yes
|
||||||
|
WITHOUT_PC_SYSINSTALL=yes
|
||||||
|
WITHOUT_SYSINSTALL=yes
|
||||||
|
WITHOUT_RCS=yes
|
||||||
|
WITHOUT_RCMDS=yes
|
||||||
|
WITHOUT_PORTSNAP=yes
|
||||||
|
IPFIREWALL_DEFAULT_TO_ACCEPT=yes
|
||||||
|
IP6FIREWALL_DEFAULT_TO_ACCEPT=yes
|
||||||
|
WITHOUT_ZFS=YES
|
||||||
|
WITHOUT_ASSERT_DEBUG=YES
|
||||||
|
HOSTAPD_CFLAGS+=-DEAP_SERVER -DEAP_GTC -DEAP_AKA -DEAP_SIM -DEAP_GPSK
|
||||||
|
HOSTAPD_CFLAGS+=-DEAP_PAX -DEAP_SAKE -DCONFIG_RSN_PREAUTH
|
||||||
|
HOSTAPD_CONFIG_RSN_PREAUTH=YES
|
||||||
|
#WITH_OPENSSL=YES
|
||||||
|
WITHOUT_NTP=YES
|
||||||
|
WITHOUT_INFO=YES
|
||||||
|
WITHOUT_SVN=YES
|
||||||
|
WITHOUT_SVNLITE=YES
|
||||||
|
WITHOUT_MAN_UTILS=YES
|
||||||
|
WITHOUT_LOCATE=YES
|
||||||
|
WITHOUT_QUOTAS=YES
|
||||||
|
WITHOUT_FREEBSD_UPDATE=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
||||||
|
WITHOUT_GROFF=YES
|
||||||
|
WITHOUT_SHAREDOCS=YES
|
||||||
|
WITHOUT_SYSCONS=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
|
@ -0,0 +1,85 @@
|
||||||
|
MALLOC_PRODUCTION=yes
|
||||||
|
WITHOUT_ATM=YES
|
||||||
|
WITHOUT_AUDIT=YES
|
||||||
|
WITHOUT_AUTHPF=YES
|
||||||
|
WITHOUT_BIND=YES
|
||||||
|
WITHOUT_BIND_DNSSEC=YES
|
||||||
|
WITHOUT_BIND_ETC=YES
|
||||||
|
WITHOUT_BIND_LIBS_LWRES=YES
|
||||||
|
WITHOUT_BIND_MTREE=YES
|
||||||
|
WITHOUT_BIND_NAMED=YES
|
||||||
|
WITHOUT_BIND_UTILS=YES
|
||||||
|
WITHOUT_BLUETOOTH=YES
|
||||||
|
WITHOUT_CALENDAR=YES
|
||||||
|
WITHOUT_CDDL=YES
|
||||||
|
WITH_CLANG=YES
|
||||||
|
WITH_CLANG_IS_CC=YES
|
||||||
|
WITHOUT_CLANG_FULL=YES
|
||||||
|
NO_CTF=YES
|
||||||
|
WITHOUT_CVS=YES
|
||||||
|
WITHOUT_DICT=YES
|
||||||
|
WITHOUT_FORTRAN=YES
|
||||||
|
WITHOUT_EXAMPLES=YES
|
||||||
|
WITHOUT_GAMES=YES
|
||||||
|
WITHOUT_GCOV=YES
|
||||||
|
WITHOUT_GDB=YES
|
||||||
|
WITHOUT_GPIB=YES
|
||||||
|
WITHOUT_HESIOD_LIBC=YES
|
||||||
|
WITHOUT_HTML=YES
|
||||||
|
WITHOUT_I4B=YES
|
||||||
|
#WITHOUT_CXX=YES
|
||||||
|
WITHOUT_INFO=YES
|
||||||
|
WITHOUT_IPFILTER=YES
|
||||||
|
WITHOUT_IPX=YES
|
||||||
|
WITHOUT_KERBEROS=YES
|
||||||
|
WITHOUT_LOCALES=YES
|
||||||
|
WITHOUT_LPR=YES
|
||||||
|
WITHOUT_MAILWRAPPER=YES
|
||||||
|
WITHOUT_MAIL=YES
|
||||||
|
WITHOUT_MAN=YES
|
||||||
|
WITHOUT_MODULES=YES
|
||||||
|
WITHOUT_NCP=YES
|
||||||
|
WITHOUT_NIS=YES
|
||||||
|
WITHOUT_NLS=YES
|
||||||
|
WITHOUT_NLS_CATALOGS=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
||||||
|
WITHOUT_OBJC=YES
|
||||||
|
WITHOUT_P1003_1B=YES
|
||||||
|
WITHOUT_PROFILE=YES
|
||||||
|
WITHOUT_RCMDS=YES
|
||||||
|
WITHOUT_RCS=YES
|
||||||
|
WITHOUT_VINUM=YES
|
||||||
|
WITHOUT_RCMDS=YES
|
||||||
|
WITHOUT_SENDMAIL=YES
|
||||||
|
WITHOUT_SETUID_LOGIN=YES
|
||||||
|
WITHOUT_SHAREDOCS=YES
|
||||||
|
WITHOUT_RESCUE=YES
|
||||||
|
WITHOUT_LIB32=YES
|
||||||
|
WITHOUT_DEBUG_FILES=yes
|
||||||
|
WITHOUT_OFED=yes
|
||||||
|
WITHOUT_RESCUE=yes
|
||||||
|
WITHOUT_ATF=yes
|
||||||
|
WITHOUT_PC_SYSINSTALL=yes
|
||||||
|
WITHOUT_SYSINSTALL=yes
|
||||||
|
WITHOUT_RCS=yes
|
||||||
|
WITHOUT_RCMDS=yes
|
||||||
|
WITHOUT_PORTSNAP=yes
|
||||||
|
IPFIREWALL_DEFAULT_TO_ACCEPT=yes
|
||||||
|
IP6FIREWALL_DEFAULT_TO_ACCEPT=yes
|
||||||
|
WITHOUT_ZFS=YES
|
||||||
|
WITHOUT_ASSERT_DEBUG=YES
|
||||||
|
#WITH_OPENSSL=YES
|
||||||
|
WITHOUT_NTP=YES
|
||||||
|
WITHOUT_INFO=YES
|
||||||
|
WITHOUT_SVN=YES
|
||||||
|
WITHOUT_SVNLITE=YES
|
||||||
|
WITHOUT_MAN_UTILS=YES
|
||||||
|
WITHOUT_LOCATE=YES
|
||||||
|
WITHOUT_QUOTAS=YES
|
||||||
|
WITHOUT_FREEBSD_UPDATE=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
||||||
|
WITHOUT_GROFF=YES
|
||||||
|
WITHOUT_TOOLCHAIN=YES
|
||||||
|
WITHOUT_SHAREDOCS=YES
|
||||||
|
WITHOUT_SYSCONS=YES
|
||||||
|
WITHOUT_NS_CACHING=YES
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*-
|
||||||
|
* Copyright (c) 2005-2008 FreeSBIE Project
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* $FreeBSD$
|
||||||
|
* $Id: COPYING,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
*/
|
|
@ -0,0 +1,161 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: Makefile,v 1.3 2008/05/05 20:51:04 sullrich Exp $
|
||||||
|
#
|
||||||
|
# FreeSBIE makefile. Main targets are:
|
||||||
|
#
|
||||||
|
# iso: build an iso image
|
||||||
|
# img: build a loopback image
|
||||||
|
# flash: copy the built system on a device (interactive)
|
||||||
|
# freesbie: same of `iso'
|
||||||
|
#
|
||||||
|
# pkgselect: choose packages to include in the built system (interactive)
|
||||||
|
|
||||||
|
.if defined(MAKEOBJDIRPREFIX)
|
||||||
|
CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR}
|
||||||
|
.elif defined(MAKEOBJDIR)
|
||||||
|
CANONICALOBJDIR:=${MAKEOBJDIR}
|
||||||
|
.else
|
||||||
|
CANONICALOBJDIR:=/usr/obj${.CURDIR}
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if defined(CUSTOM_MAKEOBJDIRPREFIX)
|
||||||
|
PRE_LAUNCH=env MAKEOBJDIRPREFIX=${CUSTOM_MAKEOBJDIRPREFIX}
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if ${FREEBSD_VERSION} < 9
|
||||||
|
pkgtarget=pkginstall
|
||||||
|
.else
|
||||||
|
pkgtarget=pkgnginstall
|
||||||
|
.endif
|
||||||
|
|
||||||
|
all: freesbie
|
||||||
|
|
||||||
|
freesbie: iso
|
||||||
|
|
||||||
|
pkgselect: obj
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} pkgselect
|
||||||
|
|
||||||
|
obj: .done_objdir
|
||||||
|
.done_objdir:
|
||||||
|
@if ! test -d ${CANONICALOBJDIR}/; then \
|
||||||
|
mkdir -p ${CANONICALOBJDIR}; \
|
||||||
|
if ! test -d ${CANONICALOBJDIR}/; then \
|
||||||
|
${ECHO} ">>> Unable to create ${CANONICALOBJDIR}."; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
@${ECHO} ">>> Setting CANONICALOBJDIR to ${CANONICALOBJDIR}."
|
||||||
|
@if ! test -f ${CANONICALOBJDIR}/.done_objdir; then \
|
||||||
|
touch ${CANONICALOBJDIR}/.done_objdir; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
buildworld: .done_buildworld
|
||||||
|
.done_buildworld: .done_objdir
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_buildworld
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_buildworld
|
||||||
|
@${ECHO} ">>> Starting buildworld `LC_ALL=C date`."
|
||||||
|
@${PRE_LAUNCH} sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} buildworld ${CANONICALOBJDIR}/.tmp_buildworld
|
||||||
|
@${ECHO} ">>> Finished buildworld `LC_ALL=C date`."
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_buildworld ${CANONICALOBJDIR}/.done_buildworld
|
||||||
|
|
||||||
|
installworld: .done_installworld
|
||||||
|
.done_installworld: .done_buildworld
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_installworld
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_installworld
|
||||||
|
@${ECHO} ">>> Starting installworld `LC_ALL=C date`."
|
||||||
|
@${PRE_LAUNCH} sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} installworld ${CANONICALOBJDIR}/.tmp_installworld
|
||||||
|
@${ECHO} ">>> Finished installworld `LC_ALL=C date`."
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_installworld ${CANONICALOBJDIR}/.done_installworld
|
||||||
|
|
||||||
|
buildkernel: .done_buildkernel
|
||||||
|
.done_buildkernel: .done_buildworld
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_buildkernel
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_buildkernel
|
||||||
|
@${PRE_LAUNCH} sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} buildkernel ${CANONICALOBJDIR}/.tmp_buildkernel
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_buildkernel ${CANONICALOBJDIR}/.done_buildkernel
|
||||||
|
|
||||||
|
installkernel: .done_installkernel
|
||||||
|
.done_installkernel: .done_buildkernel .done_installworld
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_installkernel
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_installkernel
|
||||||
|
@${PRE_LAUNCH} sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} installkernel ${CANONICALOBJDIR}/.tmp_installkernel
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_installkernel ${CANONICALOBJDIR}/.done_installkernel
|
||||||
|
|
||||||
|
pkginstall: .done_pkginstall
|
||||||
|
.done_pkginstall: .done_installworld
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_pkginstall
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_pkginstall
|
||||||
|
@${ECHO} ">>> Started pkginstall `LC_ALL=C date`."
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} pkginstall ${CANONICALOBJDIR}/.tmp_pkginstall
|
||||||
|
@${ECHO} ">>> Finished pkginstall `LC_ALL=C date`."
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_pkginstall ${CANONICALOBJDIR}/.done_pkginstall
|
||||||
|
|
||||||
|
pkgnginstall: .done_pkgnginstall
|
||||||
|
.done_pkgnginstall: .done_installworld
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_pkgnginstall
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_pkgnginstall
|
||||||
|
@${ECHO} ">>> Started pkgnginstall `LC_ALL=C date`."
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} pkgnginstall ${CANONICALOBJDIR}/.tmp_pkgnginstall
|
||||||
|
@${ECHO} ">>> Finished pkgnginstall `LC_ALL=C date`."
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_pkgnginstall ${CANONICALOBJDIR}/.done_pkgnginstall
|
||||||
|
|
||||||
|
extra: .done_extra
|
||||||
|
.done_extra: .done_installworld
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_extra
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_extra
|
||||||
|
@${ECHO} ">>> Started extra `LC_ALL=C date`."
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} extra ${CANONICALOBJDIR}/.tmp_extra
|
||||||
|
@${ECHO} ">>> Finished extra `LC_ALL=C date`."
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_extra ${CANONICALOBJDIR}/.done_extra
|
||||||
|
|
||||||
|
clonefs: .done_clonefs
|
||||||
|
.done_clonefs: ${pkgtarget} .done_extra
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_clonefs
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_clonefs
|
||||||
|
@${ECHO} ">>> Started clonefs `LC_ALL=C date`."
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} clonefs ${CANONICALOBJDIR}/.tmp_clonefs
|
||||||
|
@${ECHO} ">>> Finished clonefs `LC_ALL=C date`."
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_clonefs ${CANONICALOBJDIR}/.done_clonefs
|
||||||
|
|
||||||
|
compressfs:
|
||||||
|
@${ECHO} ">>> Started compressfs `LC_ALL=C date`."
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} compressfs ${CANONICALOBJDIR}/.tmp_extra
|
||||||
|
@${ECHO} ">>> Finished compressfs `LC_ALL=C date`."
|
||||||
|
|
||||||
|
iso: .done_iso
|
||||||
|
.done_iso: .done_clonefs
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_iso
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_iso
|
||||||
|
@${ECHO} ">>> Started iso `LC_ALL=C date`."
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} iso ${CANONICALOBJDIR}/.tmp_iso
|
||||||
|
@${ECHO} ">>> Finished iso `LC_ALL=C date`."
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_iso ${CANONICALOBJDIR}/.done_iso
|
||||||
|
|
||||||
|
img: .done_img
|
||||||
|
.done_img: .done_clonefs
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_img
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_img
|
||||||
|
@${ECHO} ">>> Started img `LC_ALL=C date`."
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} img ${CANONICALOBJDIR}/.tmp_img
|
||||||
|
@${ECHO} ">>> Finished img `LC_ALL=C date`."
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_img ${CANONICALOBJDIR}/.done_img
|
||||||
|
|
||||||
|
flash: .done_flash
|
||||||
|
.done_flash: .done_clonefs
|
||||||
|
@-rm -f ${CANONICALOBJDIR}/.tmp_flash
|
||||||
|
@${ECHO} ">>> Started flash `LC_ALL=C date`."
|
||||||
|
@touch ${CANONICALOBJDIR}/.tmp_flash
|
||||||
|
@${ECHO} ">>> Finished flash `LC_ALL=C date`."
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} flash ${CANONICALOBJDIR}/.tmp_flash
|
||||||
|
@mv ${CANONICALOBJDIR}/.tmp_flash ${CANONICALOBJDIR}/.done_flash
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@-rm -f .tmp* .done* > /dev/null 2>&1
|
||||||
|
|
||||||
|
cleandir: clean
|
||||||
|
@sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} cleandir
|
|
@ -0,0 +1,3 @@
|
||||||
|
This is a customized version of FreeSBIE originally
|
||||||
|
customized to pfSense by Dario Freni now maintained
|
||||||
|
as part of pfSense.
|
|
@ -0,0 +1,307 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: FREESBIE,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
machine amd64
|
||||||
|
cpu HAMMER
|
||||||
|
ident FREESBIE
|
||||||
|
|
||||||
|
# To statically compile in device wiring instead of /boot/device.hints
|
||||||
|
#hints "GENERIC.hints" # Default places to look for devices.
|
||||||
|
|
||||||
|
options SCHED_ULE # ULE scheduler
|
||||||
|
#options SCHED_4BSD # 4BSD scheduler
|
||||||
|
options PREEMPTION # Enable kernel thread preemption
|
||||||
|
options INET # InterNETworking
|
||||||
|
options INET6 # IPv6 communications protocols
|
||||||
|
options SCTP # Stream Control Transmission Protocol
|
||||||
|
options FFS # Berkeley Fast Filesystem
|
||||||
|
options SOFTUPDATES # Enable FFS soft updates support
|
||||||
|
options UFS_ACL # Support for access control lists
|
||||||
|
options UFS_DIRHASH # Improve performance on big directories
|
||||||
|
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
|
||||||
|
options MD_ROOT # MD is a potential root device
|
||||||
|
options NFSCLIENT # Network Filesystem Client
|
||||||
|
options NFSSERVER # Network Filesystem Server
|
||||||
|
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
|
||||||
|
options NTFS # NT Filesystem
|
||||||
|
options MSDOSFS # MSDOS Filesystem
|
||||||
|
options CD9660 # ISO 9660 Filesystem
|
||||||
|
options PROCFS # Process filesystem (requires PSEUDOFS)
|
||||||
|
options PSEUDOFS # Pseudo-filesystem framework
|
||||||
|
options GEOM_PART_GPT # GUID Partition Tables.
|
||||||
|
options GEOM_LABEL # Provides labelization
|
||||||
|
options COMPAT_43TTY # Needed by COMPAT_LINUX32
|
||||||
|
options COMPAT_IA32 # Compatible with i386 binaries
|
||||||
|
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
|
||||||
|
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
|
||||||
|
options KTRACE # ktrace(1) support
|
||||||
|
options STACK # stack(9) support
|
||||||
|
options SYSVSHM # SYSV-style shared memory
|
||||||
|
options SYSVMSG # SYSV-style message queues
|
||||||
|
options SYSVSEM # SYSV-style semaphores
|
||||||
|
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
|
||||||
|
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
|
||||||
|
options STOP_NMI # Stop CPUS using NMI instead of IPI
|
||||||
|
options UNIONFS # Union filesystem
|
||||||
|
options TMPFS # efficient memory filesystem
|
||||||
|
|
||||||
|
# Workarounds for some known-to-be-broken chipsets (nVidia nForce3-Pro150)
|
||||||
|
device atpic # 8259A compatability
|
||||||
|
|
||||||
|
# Enabling NO_MIXED_MODE gives a performance improvement on some motherboards
|
||||||
|
# but does not work with some boards (mostly nVidia chipset based).
|
||||||
|
#options NO_MIXED_MODE # Don't penalize working chipsets
|
||||||
|
|
||||||
|
# SMP kernel
|
||||||
|
options SMP # Symmetric MultiProcessor Kernel
|
||||||
|
|
||||||
|
# CPU frequency control
|
||||||
|
device cpufreq
|
||||||
|
|
||||||
|
# Bus supports
|
||||||
|
device acpi
|
||||||
|
device pci
|
||||||
|
|
||||||
|
# Floppy drives
|
||||||
|
device fdc
|
||||||
|
|
||||||
|
# ATA and ATAPI devices
|
||||||
|
device ata
|
||||||
|
device atadisk # ATA disk drives
|
||||||
|
device ataraid # ATA RAID drives
|
||||||
|
device atapicd # ATAPI CDROM drives
|
||||||
|
device atapifd # ATAPI floppy drives
|
||||||
|
device atapist # ATAPI tape drives
|
||||||
|
options ATA_STATIC_ID # Static device numbering
|
||||||
|
|
||||||
|
# SCSI Controllers
|
||||||
|
device ahc # AHA2940 and onboard AIC7xxx devices
|
||||||
|
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
|
||||||
|
# output. Adds ~128k to driver.
|
||||||
|
device ahd # AHA39320/29320 and onboard AIC79xx devices
|
||||||
|
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
|
||||||
|
# output. Adds ~215k to driver.
|
||||||
|
device amd # AMD 53C974 (Tekram DC-390(T))
|
||||||
|
device hptiop # Highpoint RocketRaid 3xxx series
|
||||||
|
device isp # Qlogic family
|
||||||
|
#device ispfw # Firmware for QLogic HBAs- normally a module
|
||||||
|
device mpt # LSI-Logic MPT-Fusion
|
||||||
|
#device ncr # NCR/Symbios Logic
|
||||||
|
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
|
||||||
|
device trm # Tekram DC395U/UW/F DC315U adapters
|
||||||
|
|
||||||
|
device adv # Advansys SCSI adapters
|
||||||
|
device adw # Advansys wide SCSI adapters
|
||||||
|
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
|
||||||
|
device bt # Buslogic/Mylex MultiMaster SCSI adapters
|
||||||
|
|
||||||
|
|
||||||
|
# SCSI peripherals
|
||||||
|
device scbus # SCSI bus (required for SCSI)
|
||||||
|
device ch # SCSI media changers
|
||||||
|
device da # Direct Access (disks)
|
||||||
|
device sa # Sequential Access (tape etc)
|
||||||
|
device cd # CD
|
||||||
|
device pass # Passthrough device (direct SCSI access)
|
||||||
|
device ses # SCSI Environmental Services (and SAF-TE)
|
||||||
|
|
||||||
|
# RAID controllers interfaced to the SCSI subsystem
|
||||||
|
device amr # AMI MegaRAID
|
||||||
|
device arcmsr # Areca SATA II RAID
|
||||||
|
device ciss # Compaq Smart RAID 5*
|
||||||
|
device dpt # DPT Smartcache III, IV - See NOTES for options
|
||||||
|
device hptmv # Highpoint RocketRAID 182x
|
||||||
|
device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
|
||||||
|
device rr232x # Highpoint RocketRAID 232x
|
||||||
|
device iir # Intel Integrated RAID
|
||||||
|
device ips # IBM (Adaptec) ServeRAID
|
||||||
|
device mly # Mylex AcceleRAID/eXtremeRAID
|
||||||
|
device twa # 3ware 9000 series PATA/SATA RAID
|
||||||
|
|
||||||
|
# RAID controllers
|
||||||
|
device aac # Adaptec FSA RAID
|
||||||
|
device aacp # SCSI passthrough for aac (requires CAM)
|
||||||
|
device ida # Compaq Smart RAID
|
||||||
|
device mfi # LSI MegaRAID SAS
|
||||||
|
device mlx # Mylex DAC960 family
|
||||||
|
#XXX pointer/int warnings
|
||||||
|
#device pst # Promise Supertrak SX6000
|
||||||
|
device twe # 3ware ATA RAID
|
||||||
|
|
||||||
|
# atkbdc0 controls both the keyboard and the PS/2 mouse
|
||||||
|
device atkbdc # AT keyboard controller
|
||||||
|
device atkbd # AT keyboard
|
||||||
|
device psm # PS/2 mouse
|
||||||
|
|
||||||
|
device kbdmux # keyboard multiplexer
|
||||||
|
|
||||||
|
device vga # VGA video card driver
|
||||||
|
|
||||||
|
device splash # Splash screen and screen saver support
|
||||||
|
|
||||||
|
# syscons is the default console driver, resembling an SCO console
|
||||||
|
device sc
|
||||||
|
|
||||||
|
device agp # support several AGP chipsets
|
||||||
|
|
||||||
|
# PCCARD (PCMCIA) support
|
||||||
|
# PCMCIA and cardbus bridge support
|
||||||
|
device cbb # cardbus (yenta) bridge
|
||||||
|
device pccard # PC Card (16-bit) bus
|
||||||
|
device cardbus # CardBus (32-bit) bus
|
||||||
|
|
||||||
|
# Serial (COM) ports
|
||||||
|
device sio # 8250, 16[45]50 based serial ports
|
||||||
|
device uart # Generic UART driver
|
||||||
|
|
||||||
|
# Parallel port
|
||||||
|
device ppc
|
||||||
|
device ppbus # Parallel port bus (required)
|
||||||
|
device lpt # Printer
|
||||||
|
device plip # TCP/IP over parallel
|
||||||
|
device ppi # Parallel port interface device
|
||||||
|
#device vpo # Requires scbus and da
|
||||||
|
|
||||||
|
# If you've got a "dumb" serial or parallel PCI card that is
|
||||||
|
# supported by the puc(4) glue driver, uncomment the following
|
||||||
|
# line to enable it (connects to the sio and/or ppc drivers):
|
||||||
|
#device puc
|
||||||
|
|
||||||
|
# PCI Ethernet NICs.
|
||||||
|
device de # DEC/Intel DC21x4x (``Tulip'')
|
||||||
|
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
|
||||||
|
device ixgb # Intel PRO/10GbE Ethernet Card
|
||||||
|
device txp # 3Com 3cR990 (``Typhoon'')
|
||||||
|
device vx # 3Com 3c590, 3c595 (``Vortex'')
|
||||||
|
|
||||||
|
# PCI Ethernet NICs that use the common MII bus controller code.
|
||||||
|
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
|
||||||
|
device miibus # MII bus support
|
||||||
|
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
|
||||||
|
device bfe # Broadcom BCM440x 10/100 Ethernet
|
||||||
|
device bge # Broadcom BCM570xx Gigabit Ethernet
|
||||||
|
device dc # DEC/Intel 21143 and various workalikes
|
||||||
|
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
|
||||||
|
device lge # Level 1 LXT1001 gigabit Ethernet
|
||||||
|
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
|
||||||
|
device nfe # nVidia nForce MCP on-board Ethernet
|
||||||
|
device nge # NatSemi DP83820 gigabit Ethernet
|
||||||
|
#device nve # nVidia nForce MCP on-board Ethernet Networking
|
||||||
|
device pcn # AMD Am79C97x PCI 10/100(precedence over 'lnc')
|
||||||
|
device re # RealTek 8139C+/8169/8169S/8110S
|
||||||
|
device rl # RealTek 8129/8139
|
||||||
|
device sf # Adaptec AIC-6915 (``Starfire'')
|
||||||
|
device sis # Silicon Integrated Systems SiS 900/SiS 7016
|
||||||
|
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
|
||||||
|
device ste # Sundance ST201 (D-Link DFE-550TX)
|
||||||
|
device ti # Alteon Networks Tigon I/II gigabit Ethernet
|
||||||
|
device tl # Texas Instruments ThunderLAN
|
||||||
|
device tx # SMC EtherPower II (83c170 ``EPIC'')
|
||||||
|
device vge # VIA VT612x gigabit Ethernet
|
||||||
|
device vr # VIA Rhine, Rhine II
|
||||||
|
device wb # Winbond W89C840F
|
||||||
|
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
|
||||||
|
|
||||||
|
# ISA Ethernet NICs. pccard NICs included.
|
||||||
|
device cs # Crystal Semiconductor CS89x0 NIC
|
||||||
|
# 'device ed' requires 'device miibus'
|
||||||
|
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
|
||||||
|
device ex # Intel EtherExpress Pro/10 and Pro/10+
|
||||||
|
device ep # Etherlink III based cards
|
||||||
|
device fe # Fujitsu MB8696x based cards
|
||||||
|
device sn # SMC's 9000 series of Ethernet chips
|
||||||
|
device xe # Xircom pccard Ethernet
|
||||||
|
|
||||||
|
# Wireless NIC cards
|
||||||
|
device wlan # 802.11 support
|
||||||
|
device wlan_wep # 802.11 WEP support
|
||||||
|
device wlan_ccmp # 802.11 CCMP support
|
||||||
|
device wlan_tkip # 802.11 TKIP support
|
||||||
|
device wlan_amrr # 802.11 AMRR support
|
||||||
|
device wlan_amrr # AMRR transmit rate control algorithm
|
||||||
|
device wlan_scan_ap # 802.11 AP mode scanning
|
||||||
|
device an # Aironet 4500/4800 802.11 wireless NICs.
|
||||||
|
device ath # Atheros pci/cardbus NIC's
|
||||||
|
device ath_hal # Atheros HAL (Hardware Access Layer)
|
||||||
|
device ath_rate_sample # SampleRate tx rate control for ath
|
||||||
|
device awi # BayStack 660 and others
|
||||||
|
device ral # Ralink Technology RT2500 wireless NICs.
|
||||||
|
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
|
||||||
|
|
||||||
|
# Pseudo devices.
|
||||||
|
device loop # Network loopback
|
||||||
|
device random # Entropy device
|
||||||
|
device ether # Ethernet support
|
||||||
|
device sl # Kernel SLIP
|
||||||
|
device ppp # Kernel PPP
|
||||||
|
device tun # Packet tunnel.
|
||||||
|
device pty # Pseudo-ttys (telnet etc)
|
||||||
|
device md # Memory "disks"
|
||||||
|
device gif # IPv6 and IPv4 tunneling
|
||||||
|
device faith # IPv6-to-IPv4 relaying (translation)
|
||||||
|
device firmware # firmware assist module
|
||||||
|
|
||||||
|
# The `bpf' device enables the Berkeley Packet Filter.
|
||||||
|
# Be aware of the administrative consequences of enabling this!
|
||||||
|
# Note that 'bpf' is required for DHCP.
|
||||||
|
device bpf # Berkeley packet filter
|
||||||
|
|
||||||
|
# USB support
|
||||||
|
device uhci # UHCI PCI->USB interface
|
||||||
|
device ohci # OHCI PCI->USB interface
|
||||||
|
device ehci # EHCI PCI->USB interface (USB 2.0)
|
||||||
|
device usb # USB Bus (required)
|
||||||
|
#device udbp # USB Double Bulk Pipe devices
|
||||||
|
device ugen # Generic
|
||||||
|
device uhid # "Human Interface Devices"
|
||||||
|
device ukbd # Keyboard
|
||||||
|
device ulpt # Printer
|
||||||
|
device umass # Disks/Mass storage - Requires scbus and da
|
||||||
|
device ums # Mouse
|
||||||
|
device ural # Ralink Technology RT2500USB wireless NICs
|
||||||
|
device rum # Ralink Technology RT2501USB wireless NICs
|
||||||
|
device urio # Diamond Rio 500 MP3 player
|
||||||
|
device uscanner # Scanners
|
||||||
|
# USB Serial devices
|
||||||
|
device ucom # Generic com ttys
|
||||||
|
device uark # Technologies ARK3116 based serial adapters
|
||||||
|
device ubsa # Belkin F5U103 and compatible serial adapters
|
||||||
|
device ubser # BWCT console serial adapters
|
||||||
|
device uftdi # For FTDI usb serial adapters
|
||||||
|
device uipaq # Some WinCE based devices
|
||||||
|
device uplcom # Prolific PL-2303 serial adapters
|
||||||
|
device uvisor # Visor and Palm devices
|
||||||
|
device uvscom # USB serial support for DDI pocket's PHS
|
||||||
|
# USB Ethernet, requires miibus
|
||||||
|
device aue # ADMtek USB Ethernet
|
||||||
|
device axe # ASIX Electronics USB Ethernet
|
||||||
|
device cdce # Generic USB over Ethernet
|
||||||
|
device cue # CATC USB Ethernet
|
||||||
|
device kue # Kawasaki LSI USB Ethernet
|
||||||
|
device rue # RealTek RTL8150 USB Ethernet
|
||||||
|
device udav # Davicom DM9601E USB
|
||||||
|
|
||||||
|
# FireWire support
|
||||||
|
device firewire # FireWire bus code
|
||||||
|
device sbp # SCSI over FireWire (Requires scbus and da)
|
||||||
|
device fwe # Ethernet over FireWire (non-standard!)
|
||||||
|
device fwip # IP over FireWire (rfc2734 and rfc3146)
|
||||||
|
device dcons # Dumb console driver
|
||||||
|
device dcons_crom # Configuration ROM for dcons
|
||||||
|
|
||||||
|
device bktr
|
||||||
|
|
||||||
|
options IPFIREWALL #firewall
|
||||||
|
options IPFIREWALL_VERBOSE #print information about
|
||||||
|
options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
|
||||||
|
|
||||||
|
device pf #PF OpenBSD packet-filter firewall
|
||||||
|
device pflog #logging support interface for PF
|
||||||
|
device pfsync #synchronization interface for PF
|
||||||
|
|
||||||
|
options IPSTEALTH
|
||||||
|
options IPDIVERT
|
||||||
|
|
||||||
|
options GEOM_UZIP # Read-only compressed disks
|
||||||
|
|
||||||
|
options SC_PIXEL_MODE # add support for the raster text mode
|
|
@ -0,0 +1,132 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Default configuration file.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for license terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: freesbie.defaults.conf,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Don't modify this file, create your own conf/freesbie.conf instead,
|
||||||
|
# or set an environment variable called FREESBIE_CONF to the absolute
|
||||||
|
# path of your configuration file. Alternatively, you can set the
|
||||||
|
# variables you want to override as environment variables.
|
||||||
|
#
|
||||||
|
# Hint: when creating your own file, do not copy freesbie.defaults.conf,
|
||||||
|
# create it anew and override only the variables you need. Pay attention
|
||||||
|
# not to use the syntax
|
||||||
|
# BASEDIR=${BASEDIR:-"/foo/bla"}
|
||||||
|
# otherwise you'll end up using the default value of BASEDIR instead of
|
||||||
|
# "foo/bla" !
|
||||||
|
# Simply write:
|
||||||
|
# BASEDIR="/foo/bla"
|
||||||
|
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
|
||||||
|
# Path where files are installed.
|
||||||
|
BASEDIR=${BASEDIR:-"/usr/local/freesbie-fs"}
|
||||||
|
|
||||||
|
# Temporary directory used when building images
|
||||||
|
CLONEDIR=${CLONEDIR:-"/usr/local/freesbie-clone"}
|
||||||
|
|
||||||
|
# Directory with system sources
|
||||||
|
SRCDIR=${SRCDIR:-"/usr/src"}
|
||||||
|
|
||||||
|
# Path of the built iso, use absolute path
|
||||||
|
ISOPATH=${ISOPATH:-"/usr/obj/FreeSBIE.iso"}
|
||||||
|
|
||||||
|
# Path of the built image, use absolute path
|
||||||
|
IMGPATH=${IMGPATH:-"/usr/obj/FreeSBIE.img"}
|
||||||
|
|
||||||
|
# Default parameters for the image, use diskinfo(1) to obtain yours
|
||||||
|
SECTS=${SECTS:-501760} # Total number of sectors
|
||||||
|
SECTT=${SECTT:-32} # Sectors/track
|
||||||
|
HEADS=${HEADS:-16} # Heads
|
||||||
|
|
||||||
|
#
|
||||||
|
# Optional variables
|
||||||
|
|
||||||
|
# Arguments passed to make(1) when building world and kernel.
|
||||||
|
# Cannot be an environment variable.
|
||||||
|
#
|
||||||
|
#MAKEJ_WORLD=${MAKEJ_WORLD:-"-j3"}
|
||||||
|
#MAKEJ_KERNEL=${MAKEJ_KERNEL:-"-j1"}
|
||||||
|
|
||||||
|
# Arguments passed to make(1) when building world and kernel.
|
||||||
|
# Can also be an environment variable.
|
||||||
|
#
|
||||||
|
#MAKEOPT="-DNO_CLEAN"
|
||||||
|
|
||||||
|
# Kernel configuration file, with complete path
|
||||||
|
#
|
||||||
|
#KERNELCONF=/complete/path/to/MYCUSTOMKERNEL
|
||||||
|
|
||||||
|
# If you want to use a custom make.conf, define it here. Otherwise,
|
||||||
|
# make.conf or make.conf.minimal under conf/ are used.
|
||||||
|
#
|
||||||
|
#SRCCONF=/etc/make.conf
|
||||||
|
|
||||||
|
# The src.conf file contains settings that will apply to every build
|
||||||
|
# involving the FreeBSD source tree; see build(7) and src.conf(5)
|
||||||
|
# only for 7.0-CURRENT
|
||||||
|
SRC_CONF=${SRC_CONF:-"/dev/null"}
|
||||||
|
|
||||||
|
# You can specify which files to add to your system one by one. Just
|
||||||
|
# put the list in a text file and set the absolute path in FILE_LIST
|
||||||
|
# variable
|
||||||
|
#
|
||||||
|
#FILE_LIST=/my/own/file_list.txt
|
||||||
|
|
||||||
|
# You can specify which files to remove from your built system. Just
|
||||||
|
# put the list in a text file and set the absolute path in PRUNE_LIST
|
||||||
|
# variable. Wildcards are also accepted
|
||||||
|
#
|
||||||
|
#PRUNE_LIST=/my/own/prune_em_all.txt
|
||||||
|
|
||||||
|
# Set PFSPKGFILE variable to a text file containing a list of packages to
|
||||||
|
# install in the built system. This file can be either a pkg_info(1)
|
||||||
|
# like output either a list of packages without version number. Please
|
||||||
|
# note that this file will be rewritten if you run `make pkgselect'
|
||||||
|
#
|
||||||
|
#PFSPKGFILE=/my/own/pkg_info_output.txt
|
||||||
|
|
||||||
|
# Set EXTRA variable to the additional plugins you want to run in your
|
||||||
|
# system. Please note that plugins are executed in the same order as
|
||||||
|
# listed in this variable
|
||||||
|
#
|
||||||
|
#EXTRA="customroot rootmfs etcmfs"
|
||||||
|
|
||||||
|
# Knobs
|
||||||
|
|
||||||
|
# Define MINIMAL to build a minimal world (i.e.: use
|
||||||
|
# make.conf.minimal, full of NO_* knobs.
|
||||||
|
#
|
||||||
|
#MINIMAL=YES
|
||||||
|
|
||||||
|
# Define NO_BUILDWORLD to avoid rebuilding world. Be sure you know
|
||||||
|
# what you're doing, you should have an already compiled world
|
||||||
|
#
|
||||||
|
#NO_BUILDWORLD=YES
|
||||||
|
|
||||||
|
# Define NO_BUILDKERNEL to avoid rebuilding kernel. Be sure you know
|
||||||
|
# what you're doing, you should have an already compiled kernel
|
||||||
|
#
|
||||||
|
#NO_BUILDKERNEL=YES
|
||||||
|
|
||||||
|
# Define MAKEOBJDIRPREFIX to use an object directory different than /usr/obj.
|
||||||
|
# Be sure you know what you're doing, it is easy to introduce suble bugs.
|
||||||
|
#
|
||||||
|
#MAKEOBJDIRPREFIX=/path/to/obj
|
||||||
|
|
||||||
|
# Define NO_COMPRESSEDFS if you don't want to have compressed fs
|
||||||
|
# inside the resulting image.
|
||||||
|
#
|
||||||
|
#NO_COMPRESSEDFS=YES
|
||||||
|
|
||||||
|
# Define NO_UNIONFS if you want to avoid using unionfs in the built
|
||||||
|
# system
|
||||||
|
#
|
||||||
|
NO_UNIONFS=YES # Unionfs is broken in > 6.0, so disable it by default
|
|
@ -0,0 +1,321 @@
|
||||||
|
$FreeBSD$
|
||||||
|
# $Id: FREESBIE,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
machine i386
|
||||||
|
cpu I486_CPU
|
||||||
|
cpu I586_CPU
|
||||||
|
cpu I686_CPU
|
||||||
|
ident FREESBIE
|
||||||
|
|
||||||
|
# To statically compile in device wiring instead of /boot/device.hints
|
||||||
|
#hints "GENERIC.hints" # Default places to look for devices.
|
||||||
|
|
||||||
|
options SCHED_ULE # ULE scheduler
|
||||||
|
#options SCHED_4BSD # 4BSD scheduler
|
||||||
|
options PREEMPTION # Enable kernel thread preemption
|
||||||
|
options INET # InterNETworking
|
||||||
|
options INET6 # IPv6 communications protocols
|
||||||
|
options SCTP # Stream Control Transmission Protocol
|
||||||
|
options FFS # Berkeley Fast Filesystem
|
||||||
|
options SOFTUPDATES # Enable FFS soft updates support
|
||||||
|
options UFS_ACL # Support for access control lists
|
||||||
|
options UFS_DIRHASH # Improve performance on big directories
|
||||||
|
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
|
||||||
|
options MD_ROOT # MD is a potential root device
|
||||||
|
options NFSCLIENT # Network Filesystem Client
|
||||||
|
options NFSSERVER # Network Filesystem Server
|
||||||
|
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
|
||||||
|
options MSDOSFS # MSDOS Filesystem
|
||||||
|
options CD9660 # ISO 9660 Filesystem
|
||||||
|
options PROCFS # Process filesystem (requires PSEUDOFS)
|
||||||
|
options PSEUDOFS # Pseudo-filesystem framework
|
||||||
|
options GEOM_PART_GPT # GUID Partition Tables.
|
||||||
|
options GEOM_LABEL # Provides labelization
|
||||||
|
options COMPAT_43TTY # Compatible with BSD 4.3 [KEEP THIS!]
|
||||||
|
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
|
||||||
|
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
|
||||||
|
options KTRACE # ktrace(1) support
|
||||||
|
options SYSVSHM # SYSV-style shared memory
|
||||||
|
options SYSVMSG # SYSV-style message queues
|
||||||
|
options SYSVSEM # SYSV-style semaphores
|
||||||
|
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
|
||||||
|
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
|
||||||
|
options STOP_NMI # Stop CPUS using NMI instead of IPI
|
||||||
|
options UNIONFS # Union filesystem
|
||||||
|
options TMPFS # efficient memory filesystem
|
||||||
|
|
||||||
|
# To make an SMP kernel, the next two lines are needed
|
||||||
|
options SMP # Symmetric MultiProcessor Kernel
|
||||||
|
device apic # I/O APIC
|
||||||
|
|
||||||
|
# CPU frequency control
|
||||||
|
device cpufreq
|
||||||
|
|
||||||
|
# Bus support. Do not remove isa, even if you have no isa slots
|
||||||
|
device eisa
|
||||||
|
device pci
|
||||||
|
|
||||||
|
device firmware
|
||||||
|
# Floppy drives
|
||||||
|
device fdc
|
||||||
|
|
||||||
|
# ATA and ATAPI devices
|
||||||
|
device ata
|
||||||
|
device atadisk # ATA disk drives
|
||||||
|
device ataraid # ATA RAID drives
|
||||||
|
device atapicd # ATAPI CDROM drives
|
||||||
|
device atapifd # ATAPI floppy drives
|
||||||
|
device atapist # ATAPI tape drives
|
||||||
|
options ATA_STATIC_ID # Static device numbering
|
||||||
|
|
||||||
|
# SCSI Controllers
|
||||||
|
device ahb # EISA AHA1742 family
|
||||||
|
device ahc # AHA2940 and onboard AIC7xxx devices
|
||||||
|
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
|
||||||
|
# output. Adds ~128k to driver.
|
||||||
|
device ahd # AHA39320/29320 and onboard AIC79xx devices
|
||||||
|
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
|
||||||
|
# output. Adds ~215k to driver.
|
||||||
|
device amd # AMD 53C974 (Tekram DC-390(T))
|
||||||
|
device hptiop # Highpoint RocketRaid 3xxx series
|
||||||
|
device isp # Qlogic family
|
||||||
|
#device ispfw # Firmware for QLogic HBAs- normally a module
|
||||||
|
device mpt # LSI-Logic MPT-Fusion
|
||||||
|
#device ncr # NCR/Symbios Logic
|
||||||
|
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
|
||||||
|
device trm # Tekram DC395U/UW/F DC315U adapters
|
||||||
|
|
||||||
|
device adv # Advansys SCSI adapters
|
||||||
|
device adw # Advansys wide SCSI adapters
|
||||||
|
device aha # Adaptec 154x SCSI adapters
|
||||||
|
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
|
||||||
|
device bt # Buslogic/Mylex MultiMaster SCSI adapters
|
||||||
|
|
||||||
|
device ncv # NCR 53C500
|
||||||
|
device nsp # Workbit Ninja SCSI-3
|
||||||
|
device stg # TMC 18C30/18C50
|
||||||
|
|
||||||
|
# SCSI peripherals
|
||||||
|
device scbus # SCSI bus (required for SCSI)
|
||||||
|
device ch # SCSI media changers
|
||||||
|
device da # Direct Access (disks)
|
||||||
|
device sa # Sequential Access (tape etc)
|
||||||
|
device cd # CD
|
||||||
|
device pass # Passthrough device (direct SCSI access)
|
||||||
|
device ses # SCSI Environmental Services (and SAF-TE)
|
||||||
|
|
||||||
|
# RAID controllers interfaced to the SCSI subsystem
|
||||||
|
device amr # AMI MegaRAID
|
||||||
|
device arcmsr # Areca SATA II RAID
|
||||||
|
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
|
||||||
|
device ciss # Compaq Smart RAID 5*
|
||||||
|
device dpt # DPT Smartcache III, IV - See NOTES for options
|
||||||
|
device hptmv # Highpoint RocketRAID 182x
|
||||||
|
device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
|
||||||
|
device rr232x # Highpoint RocketRAID 232x
|
||||||
|
device iir # Intel Integrated RAID
|
||||||
|
device ips # IBM (Adaptec) ServeRAID
|
||||||
|
device mly # Mylex AcceleRAID/eXtremeRAID
|
||||||
|
device twa # 3ware 9000 series PATA/SATA RAID
|
||||||
|
|
||||||
|
# RAID controllers
|
||||||
|
device aac # Adaptec FSA RAID
|
||||||
|
device aacp # SCSI passthrough for aac (requires CAM)
|
||||||
|
device ida # Compaq Smart RAID
|
||||||
|
device mfi # LSI MegaRAID SAS
|
||||||
|
device mlx # Mylex DAC960 family
|
||||||
|
device pst # Promise Supertrak SX6000
|
||||||
|
device twe # 3ware ATA RAID
|
||||||
|
|
||||||
|
# atkbdc0 controls both the keyboard and the PS/2 mouse
|
||||||
|
device atkbdc # AT keyboard controller
|
||||||
|
device atkbd # AT keyboard
|
||||||
|
device psm # PS/2 mouse
|
||||||
|
|
||||||
|
device vga # VGA video card driver
|
||||||
|
|
||||||
|
device splash # Splash screen and screen saver support
|
||||||
|
|
||||||
|
# syscons is the default console driver, resembling an SCO console
|
||||||
|
device sc
|
||||||
|
|
||||||
|
device agp # support several AGP chipsets
|
||||||
|
|
||||||
|
# Power management support (see NOTES for more options)
|
||||||
|
#device apm
|
||||||
|
# Add suspend/resume support for the i8254.
|
||||||
|
device pmtimer
|
||||||
|
|
||||||
|
# PCCARD (PCMCIA) support
|
||||||
|
# PCMCIA and cardbus bridge support
|
||||||
|
device cbb # cardbus (yenta) bridge
|
||||||
|
device pccard # PC Card (16-bit) bus
|
||||||
|
device cardbus # CardBus (32-bit) bus
|
||||||
|
|
||||||
|
# Serial (COM) ports
|
||||||
|
device sio # 8250, 16[45]50 based serial ports
|
||||||
|
device uart # Generic UART driver
|
||||||
|
|
||||||
|
# Parallel port
|
||||||
|
device ppc
|
||||||
|
device ppbus # Parallel port bus (required)
|
||||||
|
device lpt # Printer
|
||||||
|
device plip # TCP/IP over parallel
|
||||||
|
device ppi # Parallel port interface device
|
||||||
|
#device vpo # Requires scbus and da
|
||||||
|
|
||||||
|
# If you've got a "dumb" serial or parallel PCI card that is
|
||||||
|
# supported by the puc(4) glue driver, uncomment the following
|
||||||
|
# line to enable it (connects to the sio and/or ppc drivers):
|
||||||
|
#device puc
|
||||||
|
|
||||||
|
# PCI Ethernet NICs.
|
||||||
|
device de # DEC/Intel DC21x4x (``Tulip'')
|
||||||
|
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
|
||||||
|
device ixgb # Intel PRO/10GbE Ethernet Card
|
||||||
|
device le # AMD Am7900 LANCE and Am79C9xx PCnet
|
||||||
|
device txp # 3Com 3cR990 (``Typhoon'')
|
||||||
|
device vx # 3Com 3c590, 3c595 (``Vortex'')
|
||||||
|
|
||||||
|
# PCI Ethernet NICs that use the common MII bus controller code.
|
||||||
|
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
|
||||||
|
device miibus # MII bus support
|
||||||
|
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
|
||||||
|
device bfe # Broadcom BCM440x 10/100 Ethernet
|
||||||
|
device bge # Broadcom BCM570xx Gigabit Ethernet
|
||||||
|
device dc # DEC/Intel 21143 and various workalikes
|
||||||
|
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
|
||||||
|
device lge # Level 1 LXT1001 gigabit Ethernet
|
||||||
|
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
|
||||||
|
device nfe # nVidia nForce MCP on-board Ethernet
|
||||||
|
device nge # NatSemi DP83820 gigabit Ethernet
|
||||||
|
#device nve # nVidia nForce MCP on-board Ethernet Networking
|
||||||
|
device pcn # AMD Am79C97x PCI 10/100(precedence over 'lnc')
|
||||||
|
device re # RealTek 8139C+/8169/8169S/8110S
|
||||||
|
device rl # RealTek 8129/8139
|
||||||
|
device sf # Adaptec AIC-6915 (``Starfire'')
|
||||||
|
device sis # Silicon Integrated Systems SiS 900/SiS 7016
|
||||||
|
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
|
||||||
|
device ste # Sundance ST201 (D-Link DFE-550TX)
|
||||||
|
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
|
||||||
|
device ti # Alteon Networks Tigon I/II gigabit Ethernet
|
||||||
|
device tl # Texas Instruments ThunderLAN
|
||||||
|
device tx # SMC EtherPower II (83c170 ``EPIC'')
|
||||||
|
device vge # VIA VT612x gigabit Ethernet
|
||||||
|
device vr # VIA Rhine, Rhine II
|
||||||
|
device wb # Winbond W89C840F
|
||||||
|
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
|
||||||
|
|
||||||
|
# ISA Ethernet NICs. pccard NICs included.
|
||||||
|
device cs # Crystal Semiconductor CS89x0 NIC
|
||||||
|
# 'device ed' requires 'device miibus'
|
||||||
|
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
|
||||||
|
device ex # Intel EtherExpress Pro/10 and Pro/10+
|
||||||
|
device ep # Etherlink III based cards
|
||||||
|
device fe # Fujitsu MB8696x based cards
|
||||||
|
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
|
||||||
|
device sn # SMC's 9000 series of Ethernet chips
|
||||||
|
device xe # Xircom pccard Ethernet
|
||||||
|
|
||||||
|
# ISA devices that use the old ISA shims
|
||||||
|
#device le
|
||||||
|
|
||||||
|
# Wireless NIC cards
|
||||||
|
device wlan # 802.11 support
|
||||||
|
device wlan_wep # 802.11 WEP support
|
||||||
|
device wlan_ccmp # 802.11 CCMP support
|
||||||
|
device wlan_tkip # 802.11 TKIP support
|
||||||
|
device wlan_amrr # 802.11 support
|
||||||
|
device wlan_scan_ap # 802.11 AP mode scanning
|
||||||
|
device wlan_scan_sta # 802.11 STA mode scanning
|
||||||
|
device an # Aironet 4500/4800 802.11 wireless NICs.
|
||||||
|
device ath # Atheros pci/cardbus NIC's
|
||||||
|
device ath_hal # Atheros HAL (Hardware Access Layer)
|
||||||
|
device ath_rate_sample # SampleRate tx rate control for ath
|
||||||
|
device awi # BayStack 660 and others
|
||||||
|
device ral # Ralink Technology RT2500 wireless NICs.
|
||||||
|
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
|
||||||
|
#device wl # Older non 802.11 Wavelan wireless NIC.
|
||||||
|
|
||||||
|
# Pseudo devices.
|
||||||
|
device loop # Network loopback
|
||||||
|
device random # Entropy device
|
||||||
|
device ether # Ethernet support
|
||||||
|
device sl # Kernel SLIP
|
||||||
|
device ppp # Kernel PPP
|
||||||
|
device tun # Packet tunnel.
|
||||||
|
device pty # Pseudo-ttys (telnet etc)
|
||||||
|
device md # Memory "disks"
|
||||||
|
device gif # IPv6 and IPv4 tunneling
|
||||||
|
device faith # IPv6-to-IPv4 relaying (translation)
|
||||||
|
device firmware # firmware assist module
|
||||||
|
|
||||||
|
# The `bpf' device enables the Berkeley Packet Filter.
|
||||||
|
# Be aware of the administrative consequences of enabling this!
|
||||||
|
# Note that 'bpf' is required for DHCP.
|
||||||
|
device bpf # Berkeley packet filter
|
||||||
|
|
||||||
|
# USB support
|
||||||
|
device uhci # UHCI PCI->USB interface
|
||||||
|
device ohci # OHCI PCI->USB interface
|
||||||
|
device ehci # EHCI PCI->USB interface (USB 2.0)
|
||||||
|
device usb # USB Bus (required)
|
||||||
|
#device udbp # USB Double Bulk Pipe devices
|
||||||
|
device ugen # Generic
|
||||||
|
device uhid # "Human Interface Devices"
|
||||||
|
device ukbd # Keyboard
|
||||||
|
device ulpt # Printer
|
||||||
|
device umass # Disks/Mass storage - Requires scbus and da
|
||||||
|
device ums # Mouse
|
||||||
|
device ural # Ralink Technology RT2500USB wireless NICs
|
||||||
|
device rum # Ralink Technology RT2501USB wireless NICs
|
||||||
|
device zyd # ZyDAS zb1211/zb1211b wireless NICs
|
||||||
|
device urio # Diamond Rio 500 MP3 player
|
||||||
|
device uscanner # Scanners
|
||||||
|
# USB Serial devices
|
||||||
|
device ucom # Generic com ttys
|
||||||
|
device uark # Technologies ARK3116 based serial adapters
|
||||||
|
device ubsa # Belkin F5U103 and compatible serial adapters
|
||||||
|
device ubser # BWCT console serial adapters
|
||||||
|
device uftdi # For FTDI usb serial adapters
|
||||||
|
device uipaq # Some WinCE based devices
|
||||||
|
device uplcom # Prolific PL-2303 serial adapters
|
||||||
|
device uvisor # Visor and Palm devices
|
||||||
|
device uvscom # USB serial support for DDI pocket's PHS
|
||||||
|
# USB Ethernet, requires miibus
|
||||||
|
device aue # ADMtek USB Ethernet
|
||||||
|
device axe # ASIX Electronics USB Ethernet
|
||||||
|
device cdce # Generic USB over Ethernet
|
||||||
|
device cue # CATC USB Ethernet
|
||||||
|
device kue # Kawasaki LSI USB Ethernet
|
||||||
|
device rue # RealTek RTL8150 USB Ethernet
|
||||||
|
|
||||||
|
# FireWire support
|
||||||
|
device firewire # FireWire bus code
|
||||||
|
device sbp # SCSI over FireWire (Requires scbus and da)
|
||||||
|
device fwe # Ethernet over FireWire (non-standard!)
|
||||||
|
device fwip # IP over FireWire (rfc2734 and rfc3146)
|
||||||
|
device dcons # Dumb console driver
|
||||||
|
device dcons_crom # Configuration ROM for dcons
|
||||||
|
|
||||||
|
device bktr
|
||||||
|
|
||||||
|
device crypto # core crypto support
|
||||||
|
device cryptodev # /dev/crypto for access to h/w
|
||||||
|
|
||||||
|
options IPFIREWALL #firewall
|
||||||
|
options IPFIREWALL_VERBOSE #print information about
|
||||||
|
options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
|
||||||
|
|
||||||
|
device pf #PF OpenBSD packet-filter firewall
|
||||||
|
device pflog #logging support interface for PF
|
||||||
|
device pfsync #synchronization interface for PF
|
||||||
|
|
||||||
|
options IPSTEALTH
|
||||||
|
options IPDIVERT
|
||||||
|
|
||||||
|
options GEOM_UZIP # Read-only compressed disks
|
||||||
|
|
||||||
|
options VESA
|
||||||
|
options SC_PIXEL_MODE
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: make.conf,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
NO_PROFILE=TRUE
|
||||||
|
INSTALL_NODEBUG=TRUE
|
|
@ -0,0 +1,52 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: make.conf.minimal,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
NO_ACPI=YES
|
||||||
|
NO_ATM=YES
|
||||||
|
NO_AUTHPF=YES
|
||||||
|
NO_BIND=YES
|
||||||
|
NO_BIND_DNSSEC=YES
|
||||||
|
NO_BIND_ETC=YES
|
||||||
|
NO_BIND_LIBS_LWRES=YES
|
||||||
|
NO_BIND_MTREE=YES
|
||||||
|
NO_BIND_NAMED=YES
|
||||||
|
NO_BIND_UTILS=YES
|
||||||
|
NO_BLUETOOTH=YES
|
||||||
|
NO_CVS=YES
|
||||||
|
NO_CXX=YES
|
||||||
|
NO_DICT=YES
|
||||||
|
NO_FORTRAN=YES
|
||||||
|
NO_GAMES=YES
|
||||||
|
NO_GCOV=YES
|
||||||
|
NO_GDB=YES
|
||||||
|
NO_GPIB=YES
|
||||||
|
NO_HESIOD_LIBC=YES
|
||||||
|
NO_HTML=YES
|
||||||
|
NO_I4B=YES
|
||||||
|
NO_INET6=YES
|
||||||
|
NO_INFO=YES
|
||||||
|
NO_IPFILTER=YES
|
||||||
|
NO_KERBEROS=YES
|
||||||
|
NO_KLDLOAD=YES
|
||||||
|
NO_LIBC_R=YES
|
||||||
|
NO_LIBPTHREAD=YES
|
||||||
|
NO_LIBTHR=YES
|
||||||
|
NO_LPR=YES
|
||||||
|
NO_MAILWRAPPER=YES
|
||||||
|
NO_MAN=YES
|
||||||
|
NO_MODULES=YES
|
||||||
|
NO_NETCAT=YES
|
||||||
|
NO_NETGRAPH=YES
|
||||||
|
NO_NIS=YES
|
||||||
|
NO_OBJC=YES
|
||||||
|
NO_P1003_1B=YES
|
||||||
|
NO_PAM=YES
|
||||||
|
NO_PF=YES
|
||||||
|
NO_PROFILE=YES
|
||||||
|
NO_RESCUE=YES
|
||||||
|
NO_TOOLCHAIN=YES
|
||||||
|
NO_USB=YES
|
||||||
|
NO_VINUM=YES
|
||||||
|
NO_SENDMAIL=YES
|
||||||
|
NO_SHAREDOCS=YES
|
||||||
|
PPP_NO_RADIUS=YES
|
|
@ -0,0 +1,142 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: FREESBIE,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
machine powerpc
|
||||||
|
cpu OEA
|
||||||
|
ident FREESBIE
|
||||||
|
|
||||||
|
#To statically compile in device wiring instead of /boot/device.hints
|
||||||
|
#hints "GENERIC.hints"
|
||||||
|
|
||||||
|
makeoptions WERROR=-Wno-error #XXX: We don't want -Werror just now
|
||||||
|
|
||||||
|
# Platform support
|
||||||
|
options POWERMAC #NewWorld Apple PowerMacs
|
||||||
|
options PSIM #GDB PSIM ppc simulator
|
||||||
|
|
||||||
|
#options SCHED_ULE #ULE scheduler
|
||||||
|
options SCHED_4BSD #4BSD scheduler
|
||||||
|
options INET #InterNETworking
|
||||||
|
options INET6 #IPv6 communications protocols
|
||||||
|
options FFS #Berkeley Fast Filesystem
|
||||||
|
options SOFTUPDATES #Enable FFS soft updates support
|
||||||
|
options UFS_ACL #Support for access control lists
|
||||||
|
options UFS_DIRHASH #Improve performance on big directories
|
||||||
|
options MD_ROOT #MD is a potential root device
|
||||||
|
options NFSCLIENT #Network Filesystem Client
|
||||||
|
options NFSSERVER #Network Filesystem Server
|
||||||
|
options NFS_ROOT #NFS usable as root device
|
||||||
|
options MSDOSFS #MSDOS Filesystem
|
||||||
|
options CD9660 #ISO 9660 Filesystem
|
||||||
|
options PROCFS #Process filesystem (requires PSEUDOFS)
|
||||||
|
options PSEUDOFS #Pseudo-filesystem framework
|
||||||
|
options GEOM_GPT #GUID Partition Tables.
|
||||||
|
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
|
||||||
|
options COMPAT_FREEBSD4 #Keep this for a while
|
||||||
|
options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI
|
||||||
|
options KTRACE #ktrace(1) syscall trace support
|
||||||
|
options SYSVSHM #SYSV-style shared memory
|
||||||
|
options SYSVMSG #SYSV-style message queues
|
||||||
|
options SYSVSEM #SYSV-style semaphores
|
||||||
|
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
|
||||||
|
|
||||||
|
# To make an SMP kernel, the next line is needed
|
||||||
|
#options SMP # Symmetric MultiProcessor Kernel
|
||||||
|
|
||||||
|
# Standard busses
|
||||||
|
device pci
|
||||||
|
|
||||||
|
# ATA and ATAPI devices
|
||||||
|
device ata
|
||||||
|
device atadisk # ATA disk drives
|
||||||
|
device atapicd # ATAPI CDROM drives
|
||||||
|
#device atapifd # ATAPI floppy drives
|
||||||
|
#device atapist # ATAPI tape drives
|
||||||
|
|
||||||
|
# SCSI peripherals
|
||||||
|
device scbus # SCSI bus (required for SCSI)
|
||||||
|
device da # Direct Access (disks)
|
||||||
|
device sa # Sequential Access (tape etc)
|
||||||
|
device cd # CD
|
||||||
|
device pass # Passthrough device (direct SCSI access)
|
||||||
|
|
||||||
|
# syscons is the default console driver, resembling an SCO console
|
||||||
|
device sc
|
||||||
|
options SC_OFWFB # OFW frame buffer
|
||||||
|
options SC_DFLT_FONT # compile font in
|
||||||
|
makeoptions SC_DFLT_FONT=cp437
|
||||||
|
|
||||||
|
# Serial (COM) ports
|
||||||
|
#device sio # 8250, 16[45]50 based serial ports
|
||||||
|
device zs # Zilog 8350 based serial ports
|
||||||
|
|
||||||
|
# PCI Ethernet NICs that use the common MII bus controller code.
|
||||||
|
device miibus # MII bus support
|
||||||
|
device gem # Sun GEM/Sun ERI/Apple GMAC
|
||||||
|
device dc # DEC/Intel 21143 and various workalikes
|
||||||
|
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
|
||||||
|
|
||||||
|
# Pseudo devices.
|
||||||
|
device loop # Network loopback
|
||||||
|
device mem # Memory and kernel memory devices
|
||||||
|
device random # Entropy device
|
||||||
|
device ether # Ethernet support
|
||||||
|
device sl # Kernel SLIP
|
||||||
|
device ppp # Kernel PPP
|
||||||
|
device tun # Packet tunnel.
|
||||||
|
device pty # Pseudo-ttys (telnet etc)
|
||||||
|
device md # Memory "disks"
|
||||||
|
device ofwd # Open Firmware disks
|
||||||
|
device gif # IPv6 and IPv4 tunneling
|
||||||
|
device faith # IPv6-to-IPv4 relaying/(translation)
|
||||||
|
|
||||||
|
# The `bpf' device enables the Berkeley Packet Filter.
|
||||||
|
# Be aware of the administrative consequences of enabling this!
|
||||||
|
# Note that 'bpf' is required for DHCP.
|
||||||
|
device bpf #Berkeley packet filter
|
||||||
|
|
||||||
|
# USB support
|
||||||
|
device uhci # UHCI PCI->USB interface
|
||||||
|
device ohci # OHCI PCI->USB interface
|
||||||
|
device ehci # EHCI PCI->USB interface
|
||||||
|
device usb # USB Bus (required)
|
||||||
|
device ugen # Generic
|
||||||
|
device uhid # "Human Interface Devices"
|
||||||
|
device ukbd # Keyboard
|
||||||
|
device ulpt # Printer
|
||||||
|
device umass # Disks/Mass storage - Requires scbus and da0
|
||||||
|
device ums # Mouse
|
||||||
|
device urio # Diamond Rio 500 MP3 player
|
||||||
|
device uscanner # Scanners
|
||||||
|
# USB Ethernet
|
||||||
|
device aue # ADMtek USB Ethernet
|
||||||
|
device axe # ASIX Electronics USB Ethernet
|
||||||
|
device cdce # Generic USB over Ethernet
|
||||||
|
device cue # CATC USB Ethernet
|
||||||
|
device kue # Kawasaki LSI USB Ethernet
|
||||||
|
|
||||||
|
# FireWire support
|
||||||
|
device firewire # FireWire bus code
|
||||||
|
device sbp # SCSI over FireWire (Requires scbus and da)
|
||||||
|
device fwe # Ethernet over FireWire (non-standard!)
|
||||||
|
|
||||||
|
options KTR
|
||||||
|
options KTR_COMPILE=0xffffffff
|
||||||
|
#options KTR_MASK=KTR_SIG
|
||||||
|
options KTR_VERBOSE
|
||||||
|
|
||||||
|
options IPFIREWALL #firewall
|
||||||
|
options IPFIREWALL_VERBOSE #print information about
|
||||||
|
options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
|
||||||
|
|
||||||
|
device pf #PF OpenBSD packet-filter firewall
|
||||||
|
device pflog #logging support interface for PF
|
||||||
|
device pfsync #synchronization interface for PF
|
||||||
|
|
||||||
|
options IPSTEALTH
|
||||||
|
options IPDIVERT
|
||||||
|
options TCP_DROP_SYNFIN #drop TCP packets with SYN+FIN
|
||||||
|
|
||||||
|
options GEOM_UZIP # Read-only compressed disks
|
||||||
|
options GEOM_LABEL # Providers labelization.
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: unionfs,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
# PROVIDE: unionfs
|
||||||
|
# REQUIRE: disks
|
||||||
|
# BEFORE: hostid
|
||||||
|
# KEYWORD: nojail
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="unionfs"
|
||||||
|
start_cmd="unionfs_start"
|
||||||
|
stop_cmd=""
|
||||||
|
|
||||||
|
unionfs_start() {
|
||||||
|
unionsize="$(($(sysctl -n hw.usermem) / 2))b"
|
||||||
|
device=$(mdconfig -a -t malloc -s ${unionsize})
|
||||||
|
newfs /dev/${device} > /dev/null 2>&1
|
||||||
|
mount /dev/${device} /mnt/union
|
||||||
|
|
||||||
|
# TMPFS does not support unionfs yet.
|
||||||
|
#mount -t tmpfs tmpfs /mnt/union
|
||||||
|
|
||||||
|
# Use TMPFS for /tmp
|
||||||
|
mount -t tmpfs tmpfs /tmp
|
||||||
|
|
||||||
|
while read uniondir; do
|
||||||
|
mkdir /mnt/union/${uniondir}
|
||||||
|
mount_unionfs -o copymode=transparent -o noatime /mnt/union/${uniondir} /${uniondir}
|
||||||
|
if [ -f /dist/${uniondir}.dirs ]; then
|
||||||
|
mtree -PU -p /${uniondir} < /dist/${uniondir}.dirs > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
done < /dist/uniondirs
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: uzip,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
# PROVIDE: uzip
|
||||||
|
# BEFORE: disks
|
||||||
|
# KEYWORD: nojail
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="uzip"
|
||||||
|
start_cmd="uzip_start"
|
||||||
|
stop_cmd="uzip_stop"
|
||||||
|
|
||||||
|
uzip_start() {
|
||||||
|
for loopfs in /uzip/*.uzip; do
|
||||||
|
if [ -f ${loopfs} ]; then
|
||||||
|
filename=${loopfs#/uzip/}
|
||||||
|
mountpoint=/${filename%.uzip}
|
||||||
|
device=/dev/$(mdconfig -a -t vnode -o readonly -f $loopfs)
|
||||||
|
sleep 1
|
||||||
|
if [ -c ${device} ]; then
|
||||||
|
mount -r ${device}.uzip ${mountpoint}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
uzip_stop() {
|
||||||
|
for mounteddev in /dev/*.uzip; do
|
||||||
|
if [ -c ${mounteddev} ]; then
|
||||||
|
device=${mounteddev%.uzip}
|
||||||
|
umount ${mounteddev}
|
||||||
|
mdconfig -d -u ${device}
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
|
@ -0,0 +1,59 @@
|
||||||
|
$Id: README,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
This directory contains files and subdirectories related to the
|
||||||
|
plugins'set. Available plugins and a brief description of each
|
||||||
|
follows.
|
||||||
|
|
||||||
|
adduser Add the user "freesbie" to the LiveCD (username can be
|
||||||
|
set using the FREESBIE_ADDUSER variable
|
||||||
|
|
||||||
|
autologin Enable autologin for the user "freesbie"
|
||||||
|
|
||||||
|
backup Add support for backup/restore files from a LiveCD
|
||||||
|
|
||||||
|
buildmodules Build modules listed in BUILDMODULES variable. Useful
|
||||||
|
in minimalenvironments when NO_MODULES is set.
|
||||||
|
|
||||||
|
comconsole Enable serial console at boot in addition to video
|
||||||
|
console. To use serial console only , the SERIAL_ONLY
|
||||||
|
variable should be set
|
||||||
|
|
||||||
|
customroot Install file in the customroot/ directory to the live
|
||||||
|
filesystem. This directory has to be considered as a
|
||||||
|
/ filesystem. Files are just copied to the livefs
|
||||||
|
directory after every other operation, just before
|
||||||
|
packing it into the final image. If a file is already
|
||||||
|
present in the live fs it will be overrided.
|
||||||
|
|
||||||
|
customscripts Run scripts found in the customscripts/ directory in
|
||||||
|
the livefs chroot, right before the iso is packed.
|
||||||
|
Useful to do internal operations such as adding users
|
||||||
|
or editing files in an automatic way.
|
||||||
|
|
||||||
|
etcmfs Add support for a /etc memory filesystem
|
||||||
|
|
||||||
|
installports Remount the ports' tree under ${BASEDIR}/usr/ports
|
||||||
|
and install ports listed in the INSTALL_PORTS variable
|
||||||
|
in the usual category/portname
|
||||||
|
|
||||||
|
l10n Set localization.
|
||||||
|
|
||||||
|
mountdisks Mount any UFS, FAT, NTFS slice found
|
||||||
|
|
||||||
|
pf Create basic PF rulesets at bootime
|
||||||
|
|
||||||
|
rootmfs Add support for a /root memory filesystem
|
||||||
|
|
||||||
|
sound Detect soundcard and load the correct kernel module.
|
||||||
|
|
||||||
|
swapfind Find swap partitions and use them.
|
||||||
|
|
||||||
|
varmfs Add support for a /var memory filesystem
|
||||||
|
|
||||||
|
xautostart Start X.org at bootime
|
||||||
|
|
||||||
|
xconfig Autoconfigure X.org at boottime using X.org
|
||||||
|
autoconfigure features
|
||||||
|
|
||||||
|
xconfig-probe Autoconfigure X.org at bootime using X.org -configure
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: adduser.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp -t adduser)
|
||||||
|
|
||||||
|
FREESBIE_ADDUSER="${FREESBIE_ADDUSER:-freesbie}"
|
||||||
|
|
||||||
|
# If directory /home exists, move it to /usr/home and do a symlink
|
||||||
|
if [ ! -L ${BASEDIR}/home -a -d ${BASEDIR}/home ]; then
|
||||||
|
mv ${BASEDIR}/home ${BASEDIR}/usr/home
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d ${BASEDIR}/usr/home ]; then
|
||||||
|
mkdir -p ${BASEDIR}/usr/home
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d ${BASEDIR}/usr/home/${FREESBIE_ADDUSER} ]; then
|
||||||
|
mkdir -p ${BASEDIR}/usr/home/${FREESBIE_ADDUSER}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -L ${BASEDIR}/home ]; then
|
||||||
|
ln -s usr/home ${BASEDIR}/home
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
set +e
|
||||||
|
grep -q ^${FREESBIE_ADDUSER}: ${BASEDIR}/etc/master.passwd
|
||||||
|
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
chroot ${BASEDIR} pw useradd ${FREESBIE_ADDUSER} \
|
||||||
|
-u 1000 -c "FreeSBIE User" -d "/home/${FREESBIE_ADDUSER}" \
|
||||||
|
-g 0 -G 5 -m -s /bin/tcsh -k /usr/share/skel -w none
|
||||||
|
else
|
||||||
|
chroot ${BASEDIR} pw usermod ${FREESBIE_ADDUSER} \
|
||||||
|
-u 1000 -c "FreeSBIE User" -d "/home/${FREESBIE_ADDUSER}" \
|
||||||
|
-g 0 -G 5 -m -s /bin/tcsh -k /usr/share/skel -w none
|
||||||
|
fi
|
||||||
|
|
||||||
|
chroot ${BASEDIR} pw group mod operator -m ${FREESBIE_ADDUSER}
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
chown -R 1000:0 ${BASEDIR}/usr/home/${FREESBIE_ADDUSER}
|
||||||
|
|
||||||
|
if [ ! -z "${NO_UNIONFS:-}" ]; then
|
||||||
|
echo ">>> Adding init script for /home mfs"
|
||||||
|
|
||||||
|
cp ${LOCALDIR}/extra/adduser/homemfs.rc ${BASEDIR}/etc/rc.d/homemfs
|
||||||
|
chmod 555 ${BASEDIR}/etc/rc.d/homemfs
|
||||||
|
|
||||||
|
echo ">>> Saving mtree structure for /home/"
|
||||||
|
|
||||||
|
mtree -Pcp ${BASEDIR}/usr/home > ${TMPFILE}
|
||||||
|
mv ${TMPFILE} ${BASEDIR}/etc/mtree/home.dist
|
||||||
|
fi
|
|
@ -0,0 +1,62 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: homemfs.rc,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
# PROVIDE: homemfs
|
||||||
|
# REQUIRE: mountcritlocal
|
||||||
|
# BEFORE: var
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="homemfs"
|
||||||
|
kenvhomesize=`kenv -q freesbie.homesize`
|
||||||
|
homesize=${kenvhomesize:-"32m"}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
|
||||||
|
tempdir=/tmp
|
||||||
|
|
||||||
|
echo "Generating MFS /usr/home partition"
|
||||||
|
|
||||||
|
device=$(mdconfig -a -t malloc -o compress -s ${homesize})
|
||||||
|
bsdlabel -w ${device} auto
|
||||||
|
newfs -n -m 2 /dev/${device} > /dev/null 2>&1
|
||||||
|
mount -o noatime /dev/${device} ${tempdir}
|
||||||
|
|
||||||
|
back=$PWD
|
||||||
|
|
||||||
|
cd /usr/home
|
||||||
|
find . -print -depth | cpio -dump --quiet ${tempdir}
|
||||||
|
|
||||||
|
cd $back
|
||||||
|
|
||||||
|
mtree -PUer -q -p ${tempdir} < /etc/mtree/home.dist > /dev/null 2>&1
|
||||||
|
|
||||||
|
umount ${tempdir}
|
||||||
|
mount -o noatime /dev/${device} /usr/home
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: autologin.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Enable autologin of the $FREESBIE_ADDUSER user on the first terminal
|
||||||
|
#
|
||||||
|
|
||||||
|
FREESBIE_ADDUSER="${FREESBIE_ADDUSER:-freesbie}"
|
||||||
|
|
||||||
|
echo "# ${FREESBIE_ADDUSER} user autologin" >> ${BASEDIR}/etc/gettytab
|
||||||
|
echo "${FREESBIE_ADDUSER}:\\" >> ${BASEDIR}/etc/gettytab
|
||||||
|
echo ":al=${FREESBIE_ADDUSER}:ht:np:sp#115200:" >> ${BASEDIR}/etc/gettytab
|
||||||
|
|
||||||
|
sed -i "" "/ttyv0/s/Pc/${FREESBIE_ADDUSER}/" ${BASEDIR}/etc/ttys
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $Id: backup.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# we use ".sh" in the destination so that the script will be sourced
|
||||||
|
# in the "main" shell
|
||||||
|
cp extra/backup/restorebackup.rc $BASEDIR/etc/rc.d/restorebackup
|
||||||
|
chmod 555 $BASEDIR/etc/rc.d/restorebackup
|
||||||
|
mkdir -p $BASEDIR/usr/local/bin
|
||||||
|
cp extra/backup/restorebackup.sh $BASEDIR/usr/local/sbin/restorebackup
|
||||||
|
chmod 555 $BASEDIR/usr/local/sbin/restorebackup
|
||||||
|
cp extra/backup/savebackup.sh $BASEDIR/usr/local/sbin/savebackup
|
||||||
|
chmod 555 $BASEDIR/usr/local/sbin/savebackup
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms
|
||||||
|
#
|
||||||
|
# $Id: restorebackup.rc,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
# PROVIDE: restorebackup
|
||||||
|
# REQUIRE: etcmfs varmfs rootmfs
|
||||||
|
# BEFORE: var mountdisks
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="restorebackup"
|
||||||
|
start_cmd="do_restore"
|
||||||
|
stop_cmd=":"
|
||||||
|
|
||||||
|
restorescript="/usr/local/sbin/restorebackup"
|
||||||
|
|
||||||
|
do_restore()
|
||||||
|
{
|
||||||
|
backup_dev=`kenv -q freesbie.backup`
|
||||||
|
if [ "${backup_dev}" != "NO" -o "${backup_dev}" != "no" ]; then
|
||||||
|
if [ -z ${backup_dev} ]; then
|
||||||
|
${restorescript}
|
||||||
|
else
|
||||||
|
${restorescript} -d ${backup_dev}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
||||||
|
|
|
@ -0,0 +1,166 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms
|
||||||
|
#
|
||||||
|
# $Id: restorebackup.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
#tmpmntdir=$(mktemp -d -t fsbiebk)
|
||||||
|
tmpmntdir="/mnt"
|
||||||
|
|
||||||
|
_findfs() {
|
||||||
|
local offset=${1}
|
||||||
|
local value=${2}
|
||||||
|
|
||||||
|
[ -z "${offset}" -o -z "${value}" ] && return 1
|
||||||
|
|
||||||
|
local size=$((($(echo -n "${value}" | wc -c) + 1) / 2))
|
||||||
|
|
||||||
|
[ "$(hexdump -v -e '1/1 "%X"' -s "${offset}" -n "${size}" "${harddisk}" 2>/dev/null)" = "${value}" ]
|
||||||
|
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
findfs() {
|
||||||
|
harddisk=$1
|
||||||
|
while read x; do
|
||||||
|
local offset="$(echo "${x}" | cut -d : -f 2)"
|
||||||
|
local value="$(echo "${x}" | cut -d : -f 3)"
|
||||||
|
|
||||||
|
if _findfs "${offset}" "${value}"; then
|
||||||
|
local fs="$(echo "${x}" | cut -d : -f 1)"
|
||||||
|
echo "${fs}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
#description:offset:value
|
||||||
|
done << EOF
|
||||||
|
UFS2:0x1055C:1915419
|
||||||
|
EXT:0x438:53EF
|
||||||
|
FAT16:54:4641543136202020
|
||||||
|
FAT32:82:4641543332202020
|
||||||
|
FAT12:54:4641543132202020
|
||||||
|
NTFS:3:4E54465320202020
|
||||||
|
ISO9660:0x8001:4344303031
|
||||||
|
XFS:0:42534658
|
||||||
|
REISERFS:0x10034:5265497345724673
|
||||||
|
REISERFS:0x10034:526549734572324673
|
||||||
|
HFS+:0x400:2B48
|
||||||
|
LINUXSWAP:0xFF6:53574150535041434532
|
||||||
|
EOF
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
find_backup_dev() {
|
||||||
|
devlist=`/sbin/camcontrol devlist | cut -d\( -f 2 | cut -d\) -f 1 \
|
||||||
|
| grep da | sed "s/.*da/da/" | sed "s/,.*//"`
|
||||||
|
|
||||||
|
if [ "x$devlist" != "x" ]; then
|
||||||
|
for i in ${devlist}; do
|
||||||
|
FS=`findfs /dev/$i`
|
||||||
|
case $FS in
|
||||||
|
FAT*)
|
||||||
|
mount_msdosfs /dev/$i ${tmpmntdir}
|
||||||
|
found=`ls ${tmpmntdir}/FreeSBIE/`
|
||||||
|
if [ -n "${found}" ]; then
|
||||||
|
backup_dev="/dev/$i"
|
||||||
|
umount ${tmpmntdir}
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -n "Restoring backup: "
|
||||||
|
|
||||||
|
set +e
|
||||||
|
args=`getopt d:f:h`
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
usage
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
set -- $args
|
||||||
|
for i
|
||||||
|
do
|
||||||
|
case "$i"
|
||||||
|
in
|
||||||
|
-d)
|
||||||
|
backup_dev=$2
|
||||||
|
shift;
|
||||||
|
shift;
|
||||||
|
;;
|
||||||
|
-f)
|
||||||
|
archive=$2
|
||||||
|
shift;
|
||||||
|
shift;
|
||||||
|
;;
|
||||||
|
-h)
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift;
|
||||||
|
break
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if [ $# -gt 0 ] ; then
|
||||||
|
echo "$0: Extraneous arguments supplied"
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z ${backup_dev} ]; then
|
||||||
|
find_backup_dev
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "x$backup_dev" != "x" ]; then
|
||||||
|
FS=`findfs ${backup_dev}`
|
||||||
|
case $FS in
|
||||||
|
FAT*)
|
||||||
|
FSTYPE="msdosfs"
|
||||||
|
;;
|
||||||
|
UFS*)
|
||||||
|
FSTYPE="ufs"
|
||||||
|
;;
|
||||||
|
EXT)
|
||||||
|
FSTYPE="ext2fs"
|
||||||
|
;;
|
||||||
|
ISO*)
|
||||||
|
FSTYPE="cd9660"
|
||||||
|
;;
|
||||||
|
REISERFS*)
|
||||||
|
kldload reiserfs 2> /dev/null
|
||||||
|
FSTYPE="reiserfs"
|
||||||
|
;;
|
||||||
|
XFS)
|
||||||
|
kldload xfs 2> /dev/null
|
||||||
|
FSTYPE="xfs"
|
||||||
|
;;
|
||||||
|
NTFS)
|
||||||
|
FSTYPE="ntfs"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Filesystem $FS not supported"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
mount -t $FSTYPE ${backup_dev} ${tmpmntdir}
|
||||||
|
if [ -z ${archive} ]; then
|
||||||
|
archive=`find ${tmpmntdir}/FreeSBIE/ -name "*freesbie_*" | tail -1`
|
||||||
|
fi
|
||||||
|
echo -n "Found backup on ${backup_dev}: `basename ${archive}`...Restoring..."
|
||||||
|
tar -C / -xjPpf ${archive}
|
||||||
|
umount ${tmpmntdir}
|
||||||
|
echo "Done"
|
||||||
|
else
|
||||||
|
echo "No backup found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,143 @@
|
||||||
|
#! /bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato <rionda@FreeSBIE.org>
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms
|
||||||
|
#
|
||||||
|
# $Id: savebackup.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
TMPMNTDIR="/mnt"
|
||||||
|
ARCH_DIR="${TMPMNTDIR}/FreeSBIE/"
|
||||||
|
ARCH_NAME=`date "+freesbie_%Y%m%d_%H%M"`
|
||||||
|
ARCHIVE="${ARCH_DIR}${ARCH_NAME}.tar"
|
||||||
|
BKUP_LIST="/etc/backup.lst"
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "usage: $0 backup_device"
|
||||||
|
}
|
||||||
|
|
||||||
|
_findfs() {
|
||||||
|
local offset=${1}
|
||||||
|
local value=${2}
|
||||||
|
|
||||||
|
[ -z "${offset}" -o -z "${value}" ] && return 1
|
||||||
|
|
||||||
|
local size=$((($(echo -n "${value}" | wc -c) + 1) / 2))
|
||||||
|
|
||||||
|
[ "$(hexdump -v -e '1/1 "%X"' -s "${offset}" -n "${size}" "${harddisk}" 2>/dev/null)" = "${value}" ]
|
||||||
|
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
findfs() {
|
||||||
|
harddisk=${1}
|
||||||
|
while read x; do
|
||||||
|
local offset="$(echo "${x}" | cut -d : -f 2)"
|
||||||
|
local value="$(echo "${x}" | cut -d : -f 3)"
|
||||||
|
|
||||||
|
if _findfs "${offset}" "${value}"; then
|
||||||
|
local fs="$(echo "${x}" | cut -d : -f 1)"
|
||||||
|
echo "${fs}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
#description:offset:value
|
||||||
|
done << EOF
|
||||||
|
UFS2:0x1055C:1915419
|
||||||
|
EXT:0x438:53EF
|
||||||
|
FAT16:54:4641543136202020
|
||||||
|
FAT32:82:4641543332202020
|
||||||
|
FAT12:54:4641543132202020
|
||||||
|
NTFS:3:4E54465320202020
|
||||||
|
EOF
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo "FreeSBIE Backup Script"
|
||||||
|
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
elif [ ! -c /dev/$1 ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
FS=`findfs /dev/$1`
|
||||||
|
case $FS in
|
||||||
|
UFS2)
|
||||||
|
FSTYPE="ufs"
|
||||||
|
;;
|
||||||
|
FAT*)
|
||||||
|
FSTYPE="msdosfs"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Slice /dev/$1 has a $FS filesystem. FreeBSD cannot write on $FS."
|
||||||
|
echo "Please choose another slice"
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
mount -t $FSTYPE /dev/$1 ${TMPMNTDIR}
|
||||||
|
if [ ! -e ${ARCH_DIR} ]; then
|
||||||
|
mkdir ${ARCH_DIR}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
MARK=`cat ${BKUP_LIST} | grep -v "#" | grep -v "^-" | wc -l | awk '{print $1}'`
|
||||||
|
if [ ${MARK} -gt 10 ]; then
|
||||||
|
MARK=10
|
||||||
|
fi
|
||||||
|
BKUPPED="0"
|
||||||
|
NEXT_MARK="1"
|
||||||
|
|
||||||
|
add_to_archive() {
|
||||||
|
if [ -d $1 ]; then
|
||||||
|
FILE_LIST=`find $1 -print0 | xargs -0`
|
||||||
|
NEW_FILE_LIST=""
|
||||||
|
for i in `cat $BKUP_LIST | grep -v "#" | grep $1 \
|
||||||
|
| grep "^-" | sed 's/^-//g'`; do
|
||||||
|
for x in ${FILE_LIST}; do
|
||||||
|
if [ ${x} != ${i} ]; then
|
||||||
|
NEW_FILE_LIST=`echo $NEW_FILE_LIST $x`
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
if [ "x$NEW_FILE_LIST" != "x" ]; then
|
||||||
|
FILE_LIST=$NEW_FILE_LIST
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
FILE_LIST=$1
|
||||||
|
fi
|
||||||
|
BKUPPING=`echo ${FILE_LIST} | wc -w | awk '{print $1}'`
|
||||||
|
BKUPPED=$((${BKUPPED} + ${BKUPPING}))
|
||||||
|
i=0
|
||||||
|
while [ $i -lt $((${BKUPPING} / 5)) ]; do
|
||||||
|
echo -n "."
|
||||||
|
i=$(($i + 1))
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ${BKUPPED} -ge ${NEXT_MARK} ]; then
|
||||||
|
echo -n "."
|
||||||
|
while [ ${NEXT_MARK} -lt ${BKUPPED} ]; do
|
||||||
|
NEXT_MARK=$((${NEXT_MARK} + ${MARK}))
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e $ARCHIVE ]; then
|
||||||
|
tar ncpf $ARCHIVE $FILE_LIST 2> /dev/null
|
||||||
|
else
|
||||||
|
tar nrpf $ARCHIVE $FILE_LIST 2> /dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -n "Adding files: "
|
||||||
|
for i in `cat ${BKUP_LIST} | grep -v "#" | grep -v "^-"`; do
|
||||||
|
add_to_archive $i
|
||||||
|
done
|
||||||
|
echo " Done"
|
||||||
|
echo -n "Compressing the archive:"
|
||||||
|
bzip2 ${ARCHIVE}
|
||||||
|
echo " Done"
|
||||||
|
sync
|
||||||
|
umount ${TMPMNTDIR}
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: buildmodules.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Build modules listed in BUILDMODULES variable. Useful in minimal
|
||||||
|
# environments when NO_MODULES is set.
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
BUILDMODULES=${BUILDMODULES:-}
|
||||||
|
|
||||||
|
makecmd="make __SRCCONF=${SRC_CONF} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}"
|
||||||
|
|
||||||
|
set +e # grep could fail.
|
||||||
|
for i in ${BUILDMODULES} ; do
|
||||||
|
(cd ${SRCDIR}/sys/modules/${i}/ && \
|
||||||
|
${makecmd} clean && \
|
||||||
|
${makecmd} depend && \
|
||||||
|
${makecmd} all && \
|
||||||
|
${makecmd} install DESTDIR=${BASEDIR} && \
|
||||||
|
${makecmd} clean) | grep '^====>'
|
||||||
|
done
|
||||||
|
|
||||||
|
return 0
|
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: comconsole.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Enable serial console at boot, in addition to video console
|
||||||
|
# If you want to use only serial console, define the
|
||||||
|
# SERIAL_ONLY variable somewhere
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp -t comconsole)
|
||||||
|
|
||||||
|
# Remove any existing line regarding console in loader.conf
|
||||||
|
touch ${BASEDIR}/boot/loader.conf
|
||||||
|
set +e # grep exit status depends on actual content of loader.conf
|
||||||
|
grep -v '^console=' ${BASEDIR}/boot/loader.conf > ${TMPFILE};
|
||||||
|
set -e
|
||||||
|
mv ${TMPFILE} ${BASEDIR}/boot/loader.conf
|
||||||
|
|
||||||
|
# Remove any existing line regarding console in ttys
|
||||||
|
set +e # grep exit status depends on actual content of ttys
|
||||||
|
grep -v '^ttyd0' ${BASEDIR}/etc/ttys > ${TMPFILE};
|
||||||
|
set -e
|
||||||
|
mv ${TMPFILE} ${BASEDIR}/etc/ttys
|
||||||
|
|
||||||
|
printf "ttyd0\t\"/usr/libexec/getty std.9600\"\tdialup\ton\tsecure\n" >> ${BASEDIR}/etc/ttys
|
||||||
|
|
||||||
|
if [ -z "${SERIAL_ONLY:-}" ]; then
|
||||||
|
echo "-D" > ${BASEDIR}/boot.config
|
||||||
|
echo 'console="vidconsole, comconsole"' >> ${BASEDIR}/boot/loader.conf
|
||||||
|
else
|
||||||
|
echo "-h" > ${BASEDIR}/boot.config
|
||||||
|
echo 'console="comconsole"' >> ${BASEDIR}/boot/loader.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
|
@ -0,0 +1,49 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: customroot.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
CUSTOMROOT=${CUSTOMROOT:-extra/customroot}
|
||||||
|
|
||||||
|
cd ${CUSTOMROOT}
|
||||||
|
|
||||||
|
if [ $FREEBSD_VERSION -ge 8 ]; then
|
||||||
|
tar --exclude=\.git -c -f - * | ( cd /$BASEDIR; tar xfp -)
|
||||||
|
else
|
||||||
|
find . -not -name 'README' -not -path '*CVS*' | \
|
||||||
|
cpio -dump -R 0:0 -v ${BASEDIR} >> ${LOGFILE} 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Regenerate the password db if ${CUSTOMROOT}/etc/master.passwd exists
|
||||||
|
if [ -f etc/master.passwd ]; then
|
||||||
|
chroot ${BASEDIR} cap_mkdb /etc/master.passwd
|
||||||
|
chroot ${BASEDIR} pwd_mkdb /etc/master.passwd
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix permissions of ssh keys
|
||||||
|
find ${BASEDIR}/etc/ssh -name 'ssh_host*key' -exec chmod 600 {} \;
|
||||||
|
|
||||||
|
# If CUSTOMROOT_MTREE is set, fix file properties using
|
||||||
|
# $CUSTOMROOT_MTREE file.
|
||||||
|
# You can easily create your mtree file using:
|
||||||
|
# mtree -Pcp /your/customrootdir > /your/customrootmtree
|
||||||
|
# You can also edit the resulting file
|
||||||
|
|
||||||
|
if [ ! -z "${CUSTOMROOT_MTREE:-}" ]; then
|
||||||
|
mtree -PUe -p ${BASEDIR} < ${CUSTOMROOT_MTREE}
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${LOCALDIR}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
$FreeBSD$
|
||||||
|
$Id: README,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
|
||||||
|
This directory contains the custom files to be included into the live
|
||||||
|
filesystem. It has to be considered as a / filesystem. Files are just
|
||||||
|
copied to the livefs directory after every other operation, just
|
||||||
|
before packing it into the final image. If a file is already present
|
||||||
|
in the live fs it will be overrided.
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dominique Goncalves
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: customscripts.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
CUSTOMSCRIPTS=${CUSTOMSCRIPTS:-extra/customscripts}
|
||||||
|
|
||||||
|
cd ${CUSTOMSCRIPTS}
|
||||||
|
for script in `find . -type f -name "*.sh"` ; do
|
||||||
|
/bin/cp ${script} ${BASEDIR}/root
|
||||||
|
echo -n " ${script}"
|
||||||
|
/usr/sbin/chroot ${BASEDIR} /bin/sh /root/${script}
|
||||||
|
/bin/rm ${BASEDIR}/root/${script}
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ${LOCALDIR}
|
|
@ -0,0 +1,4 @@
|
||||||
|
This directory contains scripts to be executed in the livefs chroot
|
||||||
|
by customscripts plugin, right before the iso is packed. Useful to
|
||||||
|
do internal operations such as adding users or editing files in an
|
||||||
|
automatic way.
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: etcmfs.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp -t etcmfs)
|
||||||
|
|
||||||
|
cp ${LOCALDIR}/extra/etcmfs/etcmfs.rc ${BASEDIR}/etc/rc.d/etcmfs
|
||||||
|
chmod 555 ${BASEDIR}/etc/rc.d/etcmfs
|
||||||
|
|
||||||
|
mtree -Pcp ${BASEDIR}/etc > ${TMPFILE}
|
||||||
|
mv ${TMPFILE} ${BASEDIR}/etc/mtree/etc.dist
|
||||||
|
|
||||||
|
if [ -d ${BASEDIR}/usr/local/etc ]; then
|
||||||
|
mtree -Pcp ${BASEDIR}/usr/local/etc > ${TMPFILE}
|
||||||
|
mv ${TMPFILE} ${BASEDIR}/etc/mtree/localetc.dist
|
||||||
|
fi
|
|
@ -0,0 +1,80 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: etcmfs.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
# PROVIDE: etcmfs
|
||||||
|
# REQUIRE: mountcritlocal
|
||||||
|
# BEFORE: var
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="etcmfs"
|
||||||
|
kenvetcsize=`kenv -q freesbie.etcsize`
|
||||||
|
etcsize=${kenvetcsize:-"10m"}
|
||||||
|
kenvlocaletcsize=`kenv -q freesbie.localetcsize`
|
||||||
|
localetcsize=${kenvlocaletcsize:-"32m"}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
|
||||||
|
tempdir=/tmp
|
||||||
|
|
||||||
|
echo "Generating MFS /etc partition"
|
||||||
|
|
||||||
|
device=$(mdconfig -a -t malloc -o compress -s ${etcsize})
|
||||||
|
bsdlabel -w ${device} auto
|
||||||
|
newfs -n -m 2 /dev/${device} > /dev/null 2>&1
|
||||||
|
mount -o noatime /dev/${device} ${tempdir}
|
||||||
|
|
||||||
|
back=$PWD
|
||||||
|
|
||||||
|
cd /etc
|
||||||
|
find . -print -depth | cpio -dump --quiet ${tempdir}
|
||||||
|
|
||||||
|
cd $back
|
||||||
|
|
||||||
|
mtree -PUer -q -p ${tempdir} < /etc/mtree/etc.dist > /dev/null 2>&1
|
||||||
|
|
||||||
|
umount ${tempdir}
|
||||||
|
mount -o noatime /dev/${device} /etc
|
||||||
|
|
||||||
|
if [ -f /etc/mtree/localetc.dist ]; then
|
||||||
|
device=$(mdconfig -a -t malloc -o compress -s ${localetcsize})
|
||||||
|
newfs /dev/${device} > /dev/null 2>&1
|
||||||
|
mount -o noatime /dev/${device} ${tempdir}
|
||||||
|
|
||||||
|
cd /usr/local/etc
|
||||||
|
find . -print -depth | cpio -dump --quiet ${tempdir}
|
||||||
|
|
||||||
|
cd $back
|
||||||
|
|
||||||
|
mtree -PUer -q -p ${tempdir} < /etc/mtree/localetc.dist > /dev/null 2>&1
|
||||||
|
|
||||||
|
umount ${tempdir}
|
||||||
|
mount -o noatime /dev/${device} /usr/local/etc
|
||||||
|
fi
|
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: installports.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Remount the ports' tree under ${BASEDIR}/usr/ports and install ports
|
||||||
|
# listed in the INSTALL_PORTS variable in the usual category/portname
|
||||||
|
# form, e.g.: x11/nvidia-driver audio/emu10kx ...
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
INSTALL_PORTS=${INSTALL_PORTS:-}
|
||||||
|
|
||||||
|
if [ ! -z "${INSTALL_PORTS}" ]; then
|
||||||
|
echo -n ">>> Mounting ports' tree in the livefs chroot..."
|
||||||
|
set +e
|
||||||
|
if ! kldstat -v | grep -q nullfs; then
|
||||||
|
if ! kldload nullfs; then
|
||||||
|
echo "Cannot find nullfs support in kernel and cannot find the proper module, aborting"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
mkdir -p ${BASEDIR}/usr/ports ${BASEDIR}/usr/src
|
||||||
|
mount_nullfs ${PORTSDIR:-/usr/ports} ${BASEDIR}/usr/ports
|
||||||
|
mount_nullfs ${SRCDIR:-/usr/src} ${BASEDIR}/usr/src
|
||||||
|
mount_devfs none ${BASEDIR}/dev
|
||||||
|
|
||||||
|
print_error_umount() {
|
||||||
|
echo "Something went wrong, check errors!" >&2
|
||||||
|
[ -n "${LOGFILE:-}" ] && \
|
||||||
|
echo "Log saved on ${LOGFILE}" >&2
|
||||||
|
umount_null
|
||||||
|
kill $$ # XXX exit 1 won't work.
|
||||||
|
}
|
||||||
|
|
||||||
|
umount_null() {
|
||||||
|
umount ${BASEDIR}/usr/ports;
|
||||||
|
umount ${BASEDIR}/usr/src;
|
||||||
|
umount ${BASEDIR}/dev;
|
||||||
|
}
|
||||||
|
|
||||||
|
trap "umount_null; exit 1" INT
|
||||||
|
|
||||||
|
tmpmakeconf=$(TMPDIR=${BASEDIR}/tmp mktemp -t make.conf)
|
||||||
|
envvars="BATCH=true"
|
||||||
|
if [ ! -z "${SRCCONF:-}" ]; then
|
||||||
|
cat ${SRCCONF} > ${tmpmakeconf}
|
||||||
|
envvars="${envvars} __SRCCONF=${tmpmakeconf#$BASEDIR}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for i in ${INSTALL_PORTS}; do
|
||||||
|
echo "Compiling ${i}"
|
||||||
|
(script -aq ${LOGFILE} chroot ${BASEDIR} make -C /usr/ports/${i} \
|
||||||
|
${envvars} clean install clean || print_error_umount;) | grep '^===>'
|
||||||
|
done
|
||||||
|
|
||||||
|
umount_null
|
||||||
|
trap "" INT
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${LOCALDIR}
|
||||||
|
|
||||||
|
echo "Done!"
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: l10n.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp ${LOCALDIR}/extra/l10n/l10n.rc ${BASEDIR}/etc/rc.d/l10n
|
||||||
|
chmod 555 ${BASEDIR}/etc/rc.d/l10n
|
|
@ -0,0 +1,229 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Mozhaisky Sergei
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# $Id: l10n.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# PROVIDE: l10n
|
||||||
|
# REQUIRE: etcmfs syscons xconfig
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="l10n"
|
||||||
|
start_cmd="l10n_start"
|
||||||
|
stop_cmd=":"
|
||||||
|
|
||||||
|
FL=`kenv -q freesbie.lang`
|
||||||
|
|
||||||
|
SUPLANG="bg cs/cz de en es fr it pl ru sk ua"
|
||||||
|
|
||||||
|
# path
|
||||||
|
P="/etc"
|
||||||
|
F_CSHRC="${P}/csh.cshrc"
|
||||||
|
F_PROFILE="${P}/profile"
|
||||||
|
F_RC="${P}/rc.conf"
|
||||||
|
F_TTYS="${P}/ttys"
|
||||||
|
|
||||||
|
set_lang() {
|
||||||
|
case $1 in
|
||||||
|
# Bulgarian
|
||||||
|
bg)
|
||||||
|
X_LANG="cs_CZ.ISO8859-2"
|
||||||
|
X_MM_CHARSET="ISO-8859-2"
|
||||||
|
X_KEYMAP="bg.bds.ctrlcaps"
|
||||||
|
X_XORG_KEYMAP="bg"
|
||||||
|
;;
|
||||||
|
# Czech
|
||||||
|
cz|cs)
|
||||||
|
X_LANG="cs_CZ.ISO8859-2"
|
||||||
|
X_MM_CHARSET="ISO-8859-2"
|
||||||
|
X_KEYMAP="cz.iso2"
|
||||||
|
X_XORG_KEYMAP="cz"
|
||||||
|
;;
|
||||||
|
# German
|
||||||
|
de)
|
||||||
|
X_LANG="de_DE.ISO8859-1"
|
||||||
|
X_MM_CHARSET="ISO-8859-1"
|
||||||
|
X_KEYMAP="german.iso"
|
||||||
|
X_XORG_KEYMAP="de"
|
||||||
|
;;
|
||||||
|
# English
|
||||||
|
en)
|
||||||
|
;;
|
||||||
|
# Spanish
|
||||||
|
es)
|
||||||
|
X_LANG="es_ES.ISO8859-1"
|
||||||
|
X_MM_CHARSET="ISO-8859-1"
|
||||||
|
X_KEYMAP="spanish.iso"
|
||||||
|
X_XORG_KEYMAP="es"
|
||||||
|
;;
|
||||||
|
# French
|
||||||
|
fr)
|
||||||
|
X_LANG="fr_FR.ISO8859-1"
|
||||||
|
X_MM_CHARSET="ISO-8859-1"
|
||||||
|
X_KEYMAP="fr.iso"
|
||||||
|
X_XORG_KEYMAP="fr"
|
||||||
|
;;
|
||||||
|
# Italian
|
||||||
|
it)
|
||||||
|
X_LANG="it_IT.ISO8859-15"
|
||||||
|
X_MM_CHARSET="ISO-8859-15"
|
||||||
|
X_KEYMAP="it.iso"
|
||||||
|
X_XORG_KEYMAP="it"
|
||||||
|
;;
|
||||||
|
# Polski
|
||||||
|
pl)
|
||||||
|
X_LANG="pl_PL.ISO8859-2"
|
||||||
|
X_MM_CHARSET="ISO-8859-2"
|
||||||
|
X_KEYMAP="pl_PL.ISO8859-2"
|
||||||
|
X_XORG_KEYMAP="pl"
|
||||||
|
;;
|
||||||
|
# Russian
|
||||||
|
ru)
|
||||||
|
X_LANG="ru_RU.KOI8-R"
|
||||||
|
X_MM_CHARSET="KOI8-R"
|
||||||
|
X_KEYMAP="ru.koi8-r.win"
|
||||||
|
;;
|
||||||
|
# Slovak
|
||||||
|
sk)
|
||||||
|
X_LANG="sk_SK.ISO8859-2"
|
||||||
|
X_MM_CHARSET="ISO-8859-2"
|
||||||
|
X_KEYMAP="sk.iso2"
|
||||||
|
X_XORG_KEYMAP="sk"
|
||||||
|
;;
|
||||||
|
# Ukrainian
|
||||||
|
ua)
|
||||||
|
X_LANG="uk_UA.KOI8-U"
|
||||||
|
X_MM_CHARSET="KOI8-U"
|
||||||
|
X_KEYMAP="ua.koi8-u"
|
||||||
|
X_SCRNMAP="koi8-u2cp866u"
|
||||||
|
X_XORG_KEYMAP="ua(winkeys)"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
set_tty()
|
||||||
|
{
|
||||||
|
case $1 in
|
||||||
|
ISO-8859-1|ISO-8859-15)
|
||||||
|
X_TTY="cons25l1"
|
||||||
|
;;
|
||||||
|
ISO-8859-2)
|
||||||
|
X_TTY="cons25l2"
|
||||||
|
;;
|
||||||
|
ISO-8859-7)
|
||||||
|
X_TTY="cons25l7"
|
||||||
|
;;
|
||||||
|
KOI8-R)
|
||||||
|
X_TTY="cons25r"
|
||||||
|
;;
|
||||||
|
KOI8-U)
|
||||||
|
X_TTY="cons25u"
|
||||||
|
;;
|
||||||
|
US-ASCII)
|
||||||
|
X_TTY="cons25w"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
X_TTY="cons25"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
set_font() {
|
||||||
|
case $1 in
|
||||||
|
ISO-8859-1)
|
||||||
|
X_FONT="iso"
|
||||||
|
;;
|
||||||
|
ISO-8859-15)
|
||||||
|
X_FONT="iso15"
|
||||||
|
;;
|
||||||
|
ISO-8859-2)
|
||||||
|
X_FONT="iso02"
|
||||||
|
;;
|
||||||
|
ISO-8859-7)
|
||||||
|
X_FONT="iso07"
|
||||||
|
;;
|
||||||
|
KOI8-R)
|
||||||
|
X_FONT="cp866"
|
||||||
|
#X_FONT="866-frenzy"
|
||||||
|
X_SCRNMAP="koi8-r2cp866"
|
||||||
|
;;
|
||||||
|
KOI8-U)
|
||||||
|
X_FONT="cp866u"
|
||||||
|
#X_FONT="866-frenzy"
|
||||||
|
X_SCRNMAP="koi8-r2cp866"
|
||||||
|
;;
|
||||||
|
KOI8-U)
|
||||||
|
X_FONT="cp866u"
|
||||||
|
#X_FONT="866-frenzy"
|
||||||
|
X_SCRNMAP="koi8-u2cp866u"
|
||||||
|
;;
|
||||||
|
US-ASCII)
|
||||||
|
X_FONT="iso"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
X_FONT="cp437"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
l10n_start() {
|
||||||
|
|
||||||
|
if [ -z ${FL} ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "setting locale: "
|
||||||
|
set_lang ${FL}
|
||||||
|
set_tty ${X_MM_CHARSET}
|
||||||
|
set_font ${X_MM_CHARSET}
|
||||||
|
|
||||||
|
DATENOW=`date "+%Y-%m-%d %H:%M:%S"`
|
||||||
|
|
||||||
|
# set language
|
||||||
|
printf "
|
||||||
|
### locale # ${DATENOW} #
|
||||||
|
setenv LANG ${X_LANG}
|
||||||
|
setenv MM_CHARSET ${X_MM_CHARSET}
|
||||||
|
setenv LC_ALL ${X_LANG}
|
||||||
|
" >> ${F_CSHRC}
|
||||||
|
printf "
|
||||||
|
### locale # ${DATENOW} #
|
||||||
|
LANG=${X_LANG}; export LANG
|
||||||
|
MM_CHARSET=${X_MM_CHARSET}; export MM_CHARSET
|
||||||
|
LC_ALL=${X_LANG}; export LC_ALL
|
||||||
|
" >> ${F_PROFILE}
|
||||||
|
|
||||||
|
# patching ttys
|
||||||
|
TTY_C=`awk '/ttyv0/{print $4}' ${F_TTYS}`
|
||||||
|
sed -i "" "s/[[:<:]]${TTY_C}[[:>:]]/${X_TTY}/g" ${F_TTYS}
|
||||||
|
|
||||||
|
# patching rc.conf
|
||||||
|
printf "
|
||||||
|
### locale # ${DATENOW} #
|
||||||
|
keymap=\"${X_KEYMAP}\"
|
||||||
|
font8x16=\"${X_FONT}\"
|
||||||
|
" >> ${F_RC}
|
||||||
|
|
||||||
|
if [ "x${X_SCRNMAP}" != "x" ]; then
|
||||||
|
printf "
|
||||||
|
scrnmap=\"${X_SCRNMAP}\"
|
||||||
|
" >> ${F_RC}
|
||||||
|
fi
|
||||||
|
|
||||||
|
/etc/rc.d/syscons restart 2> /dev/null
|
||||||
|
|
||||||
|
# update Xorg keyboard info
|
||||||
|
if [ -e /etc/X11/xorg.conf ]; then
|
||||||
|
sed -i "" "s/\"us\"/\"${X_XORG_KEYMAP}\"/" /etc/X11/xorg.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "."
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $Id: mountdisks.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $BASEDIR/mnt $BASEDIR/etc/rc.d/ $BASEDIR/usr/local/sbin/
|
||||||
|
|
||||||
|
cp extra/mountdisks/mountdisks.sh $BASEDIR/usr/local/sbin/mountdisks
|
||||||
|
chmod 555 $BASEDIR/usr/local/sbin/mountdisks
|
||||||
|
|
||||||
|
cp extra/mountdisks/mountdisksrc.sh $BASEDIR/etc/rc.d/mountdisks
|
||||||
|
chmod 555 $BASEDIR/etc/rc.d/mountdisks
|
||||||
|
|
||||||
|
for fs in dos ext2fs ntfs ufs reiser; do
|
||||||
|
for i in 1 2 3 4 5 6 7 8; do
|
||||||
|
mkdir -p $BASEDIR/mnt/$fs.$i
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
|
@ -0,0 +1,160 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) Edson Branti
|
||||||
|
# Copyright (c) 2006 Timothy Redaelli - Matteo Riondato
|
||||||
|
#
|
||||||
|
#$Id: mountdisks.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# We will try to detect a set of disks and
|
||||||
|
# existing slices and try to mount every
|
||||||
|
# FAT16/32, NTFS, UFS, EXT2, ReiserFS partition we find.
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
MOUNT_OPTION=
|
||||||
|
|
||||||
|
UFS_PART=1
|
||||||
|
MSDOS_PART=1
|
||||||
|
NTFS_PART=1
|
||||||
|
EXT2FS_PART=1
|
||||||
|
REISERFS_PART=1
|
||||||
|
|
||||||
|
UFS_TOO_MANY=0
|
||||||
|
MSDOS_TOO_MANY=0
|
||||||
|
NTFS_TOO_MANY=0
|
||||||
|
EXT2FS_TOO_MANY=0
|
||||||
|
REISERFS_TOO_MANY=0
|
||||||
|
|
||||||
|
#_swap() {
|
||||||
|
# data=${1}
|
||||||
|
|
||||||
|
# until [ -z "${data}" ]; do
|
||||||
|
# tmp="$(echo ${data} | cut -b -2)"
|
||||||
|
# data="$(echo ${data} | cut -b 3-)"
|
||||||
|
# buf="${tmp}${buf}"
|
||||||
|
# done
|
||||||
|
|
||||||
|
# echo ${buf}
|
||||||
|
#}
|
||||||
|
|
||||||
|
OPTION=`echo $@`
|
||||||
|
if [ "${OPTION}" != "rw" -a "${OPTION}" != "ro" ]; then
|
||||||
|
echo "Program: mountdisks.sh"
|
||||||
|
echo "Parameters:"
|
||||||
|
echo " - ro mounts partitions in READ ONLY mode;"
|
||||||
|
echo " - rw mounts partitions in READ/WRITE mode."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "${OPTION}" = "ro" ]; then
|
||||||
|
MOUNT_OPTION="-r"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
_findfs() {
|
||||||
|
local offset=${1}
|
||||||
|
local value=${2}
|
||||||
|
|
||||||
|
[ -z "${offset}" -o -z "${value}" ] && return 1
|
||||||
|
|
||||||
|
local size=$((($(echo -n "${value}" | wc -c) + 1) / 2))
|
||||||
|
|
||||||
|
[ "$(hexdump -v -e '1/1 "%X"' -s "${offset}" -n "${size}" "${harddisk}" 2>/dev/null)" = "${value}" ]
|
||||||
|
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
findfs() {
|
||||||
|
harddisk=$1
|
||||||
|
while read x; do
|
||||||
|
local offset="$(echo "${x}" | cut -d : -f 2)"
|
||||||
|
local value="$(echo "${x}" | cut -d : -f 3)"
|
||||||
|
|
||||||
|
if _findfs "${offset}" "${value}"; then
|
||||||
|
local fs="$(echo "${x}" | cut -d : -f 1)"
|
||||||
|
echo "${fs}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
#description:offset:value
|
||||||
|
done << EOF
|
||||||
|
UFS2:0x1055C:1915419
|
||||||
|
EXT:0x438:53EF
|
||||||
|
FAT16:54:4641543136202020
|
||||||
|
FAT32:82:4641543332202020
|
||||||
|
FAT12:54:4641543132202020
|
||||||
|
NTFS:3:4E54465320202020
|
||||||
|
ISO9660:0x8001:4344303031
|
||||||
|
XFS:0:42534658
|
||||||
|
REISERFS:0x10034:5265497345724673
|
||||||
|
REISERFS:0x10034:526549734572324673
|
||||||
|
HFS+:0x400:2B48
|
||||||
|
LINUXSWAP:0xFF6:53574150535041434532
|
||||||
|
EOF
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
for i in `egrep "^(aacd|ad|ar|amrd|da|fla|idad|ips|mlxd|mlyd|pst|twed|wd)[0-9]:" /var/run/dmesg.boot | cut -d':' -f1 | sort -u`; do
|
||||||
|
find "/dev" -name "${i}s?" | while read a; do
|
||||||
|
case `findfs ${a}` in
|
||||||
|
UFS*)
|
||||||
|
if [ ${UFS_PART} -le 8 ]; then
|
||||||
|
echo "UFS slice found at ${a}, detecting partitions..."
|
||||||
|
disklabel -r "${a}" 2>/dev/null | awk -F'[: ]' '/BSD/{print $3}' | while read j; do
|
||||||
|
if [ ${UFS_PART} -le 8 ]; then
|
||||||
|
echo "UFS partition found at ${a}${j}, mounting it under /mnt/ufs.${UFS_PART}"
|
||||||
|
mount ${MOUNT_OPTION} ${a}${j} /mnt/ufs.${UFS_PART} >/dev/null 2>&1
|
||||||
|
UFS_PART=$((${UFS_PART} + 1))
|
||||||
|
else
|
||||||
|
echo "Too many partitions found, only 8 can be mounted simultaneously."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "Too many partitions found, only 8 can be mounted simultaneously."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
EXT)
|
||||||
|
if [ ${EXT2FS_PART} -le 8 ]; then
|
||||||
|
echo "EXT2FS slice found at ${a}, mounting it under /mnt/ext2fs.${EXT2FS_PART} ..."
|
||||||
|
mount -t ext2fs ${MOUNT_OPTION} ${a} /mnt/ext2fs.${EXT2FS_PART} >/dev/null 2>&1
|
||||||
|
EXT2FS_PART=$(({EXT2FS_PART} + 1))
|
||||||
|
else
|
||||||
|
echo "Too many slices found, only 8 can be mounted simultaneously."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
FAT*)
|
||||||
|
if [ ${MSDOS_PART} -le 8 ]; then
|
||||||
|
echo "FAT16/32 slice found at ${a}, mounting it under /mnt/dos.${MSDOS_PART} ..."
|
||||||
|
mount -t msdos ${MOUNT_OPTION} ${a} /mnt/dos.${MSDOS_PART} >/dev/null 2>&1
|
||||||
|
MSDOS_PART=$((${MSDOS_PART} + 1))
|
||||||
|
else
|
||||||
|
echo "Too many slices found, only 8 can be mounted simultaneously."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
NTFS)
|
||||||
|
if [ ${NTFS_PART} -le 8 ]; then
|
||||||
|
echo "NTFS slice found at ${a}, mounting it under /mnt/ntfs.${NTFS_PART} ..."
|
||||||
|
mount -t ntfs ${a} /mnt/ntfs.${NTFS_PART} >/dev/null 2>&1
|
||||||
|
NTFS_PART=$((${NTFS_PART} + 1))
|
||||||
|
else
|
||||||
|
echo "Too many slices found, only 8 can be mounted simultaneously."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
REISERFS)
|
||||||
|
if ! kldstat -q -m reiserfs ; then
|
||||||
|
kldload reiserfs
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ${REISERFS_PART} -le 8 ]; then
|
||||||
|
echo "ReiserFS slice found at ${a}, mounting it under /mnt/reiser.${REISERFS_PART} ..."
|
||||||
|
mount -t reiserfs ${a} /mnt/reiser.${REISERFS_PART} >/dev/null 2>&1
|
||||||
|
REISERFS_PART=$((${REISERFS_PART} + 1))
|
||||||
|
else
|
||||||
|
echo "Too many slices found, only 8 can be mounted simultaneously."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
done
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence details
|
||||||
|
#
|
||||||
|
# $Id: mountdisksrc.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# PROVIDE mountdisks
|
||||||
|
# REQUIRE mountcriticlocal dmesg
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="mountdisks"
|
||||||
|
start_cmd="do_mountdisks"
|
||||||
|
stop_cmd=":"
|
||||||
|
|
||||||
|
do_mountdisks()
|
||||||
|
{
|
||||||
|
do_mount=`kenv -q freesbie.mountdisks`
|
||||||
|
if [ "${do_mount}" = "yes" -o "${do_mount}" = "YES" ]; then
|
||||||
|
sh /usr/local/sbin/mountdisks rw
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Dominique Goncalves
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# $Id: pf.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "pf_rules_enable=\"YES\"" >> $BASEDIR/etc/rc.conf
|
||||||
|
echo "pf_enable=\"YES\"" >> $BASEDIR/etc/rc.conf
|
||||||
|
|
||||||
|
cp extra/pf/pf_rules.sh $BASEDIR/etc/rc.d/pf_rules
|
||||||
|
chmod 555 $BASEDIR/etc/rc.d/pf_rules
|
|
@ -0,0 +1,45 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Dominique Goncalves
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $Id: pf_rules.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Create a basic pf.conf.
|
||||||
|
# Block everything by default,
|
||||||
|
# Allow everything on lo0,
|
||||||
|
# Do not create rules on some interface ie: plip0,
|
||||||
|
# Allow all tcp and udp connections to outside with keep state flags,
|
||||||
|
# Allow icmp on all interfaces.
|
||||||
|
#
|
||||||
|
# PROVIDE: pf_rules
|
||||||
|
# REQUIRE: netif
|
||||||
|
# BEFORE: pf
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="pf_rules"
|
||||||
|
rcvar=`set_rcvar`
|
||||||
|
start_cmd="create_rules"
|
||||||
|
required_files="$pf_rules"
|
||||||
|
|
||||||
|
create_rules ()
|
||||||
|
{
|
||||||
|
echo "Creating $pf_rules."
|
||||||
|
|
||||||
|
echo "scrub in all" > $pf_rules
|
||||||
|
echo "block drop all" >> $pf_rules
|
||||||
|
echo "pass quick on lo0 all" >> $pf_rules
|
||||||
|
|
||||||
|
for inf in `ifconfig -l` ; do
|
||||||
|
if echo $inf | egrep -qv 'lo|plip|gif|tun'; then
|
||||||
|
echo "pass on $inf proto icmp all" >> $pf_rules
|
||||||
|
echo "pass out on $inf proto {tcp,udp} from ($inf) to any keep state" >> $pf_rules
|
||||||
|
echo "pass in on $inf proto tcp from any to ($inf) port 22 keep state" >> $pf_rules
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: rootmfs.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp -t rootmfs)
|
||||||
|
|
||||||
|
cp ${LOCALDIR}/extra/rootmfs/rootmfs.rc ${BASEDIR}/etc/rc.d/rootmfs
|
||||||
|
chmod 555 ${BASEDIR}/etc/rc.d/rootmfs
|
||||||
|
|
||||||
|
mtree -Pcp ${BASEDIR}/root > ${TMPFILE}
|
||||||
|
mv ${TMPFILE} ${BASEDIR}/etc/mtree/root.dist
|
|
@ -0,0 +1,62 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: rootmfs.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
# PROVIDE: rootmfs
|
||||||
|
# REQUIRE: mountcritlocal
|
||||||
|
# BEFORE: var
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="rootmfs"
|
||||||
|
kenvrootsize=`kenv -q freesbie.rootsize`
|
||||||
|
rootsize=${kenvrootsize:-"20m"}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
|
||||||
|
tempdir=/tmp
|
||||||
|
|
||||||
|
echo "Generating MFS /root partition"
|
||||||
|
|
||||||
|
device=$(mdconfig -a -t malloc -o compress -s ${rootsize})
|
||||||
|
bsdlabel -w ${device} auto
|
||||||
|
newfs -n -m 2 /dev/${device} > /dev/null 2>&1
|
||||||
|
mount -o noatime /dev/${device} ${tempdir}
|
||||||
|
|
||||||
|
back=$PWD
|
||||||
|
|
||||||
|
cd /root
|
||||||
|
find . -print -depth | cpio -dump --quiet ${tempdir}
|
||||||
|
|
||||||
|
cd $back
|
||||||
|
|
||||||
|
mtree -PUer -q -p ${tempdir} < /etc/mtree/root.dist > /dev/null 2>&1
|
||||||
|
|
||||||
|
umount ${tempdir}
|
||||||
|
mount -o noatime /dev/${device} /root
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# $Id: sound.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $BASEDIR/usr/local/share/sound $BASEDIR/etc/rc.d
|
||||||
|
|
||||||
|
cp extra/sound/sound_detect.sh $BASEDIR/etc/rc.d/sound_detect
|
||||||
|
chmod 555 $BASEDIR/etc/rc.d/sound_detect
|
||||||
|
cp extra/sound/snd_card_ids.txt $BASEDIR/usr/local/share/sound/
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
#$Id: snd_card_ids.txt,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
snd_als4000:0x40004005
|
||||||
|
snd_aureal:0x000112eb
|
||||||
|
snd_cmi:0x011213f6,0x011113f6,0x010113f6,0x010013f6
|
||||||
|
snd_cs4281:0x60051013
|
||||||
|
snd_csa:0x60041013,0x60031013,0x60011013
|
||||||
|
snd_emu10k1:0x70021102,0x00041102,0x00021102
|
||||||
|
snd_es137x:0x89381102,0x58801274,0x13713274,0x13711274,0x50001274
|
||||||
|
snd_ich:0x746d1022,0x74451022,0x00ea10de,0x00da10de,0x008a10de,0x006a10de,0x01b110de,0x24858086,0x24458086,0x24258086,0x24158086,0x71958086,0x266e8086,0x24d58086,0x24c58086,0x70121039
|
||||||
|
snd_maestro:0x803c1033,0x80581033,0x1978125d,0x1968125d,0x01001285
|
||||||
|
snd_neomagic:0x800610c8,0x800510c8
|
||||||
|
snd_solo:0x1969125d
|
||||||
|
snd_t4dwave:0x70181039,0x545110b9,0x20011023,0x20001023
|
||||||
|
snd_via8233:0x30591106
|
||||||
|
snd_via82c686:0x30581106
|
||||||
|
snd_vibes:0xca005333
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright 2002-2005 G.U.F.I. All rights reserved.
|
||||||
|
# Copyright 2006 Timothy Redaelli
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms
|
||||||
|
#
|
||||||
|
# $Id: sound_detect.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Detect the audio card and load the appropriate driver
|
||||||
|
#
|
||||||
|
# PROVIDE: sound_detect
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="sound_detect"
|
||||||
|
start_cmd="do_sound_detect"
|
||||||
|
stop_cmd=":"
|
||||||
|
|
||||||
|
do_sound_detect()
|
||||||
|
{
|
||||||
|
|
||||||
|
CARD_FILE=/usr/local/share/sound/snd_card_ids.txt
|
||||||
|
pciconf -lv | awk -F '[ =]' '/^none/{print $6}' | while read i
|
||||||
|
do
|
||||||
|
SND_DRIVER=`fgrep $i $CARD_FILE | cut -d: -f 1`
|
||||||
|
if [ "$SND_DRIVER" ]; then
|
||||||
|
echo -n "Loading $SND_DRIVER.ko... "
|
||||||
|
/sbin/kldload /boot/kernel/$SND_DRIVER.ko
|
||||||
|
echo "[OK]";
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: suid.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SUIDFILES="/sbin/ping /sbin/ping6 /sbin/shutdown"
|
||||||
|
|
||||||
|
for i in $SUIDFILES ; do
|
||||||
|
mv ${BASEDIR}$i ${BASEDIR}/usr$i
|
||||||
|
chroot ${BASEDIR} ln -s /usr$i $i
|
||||||
|
done
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# $Id: swapfind.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp extra/swapfind/swapfind.sh $BASEDIR/etc/rc.d/swapfind
|
||||||
|
chmod 555 $BASEDIR/etc/rc.d/swapfind
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Matteo Riondato
|
||||||
|
# Copyright (c) 2006 Timothy Redaelli
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# $Id: swapfind.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# PROVIDE: swapfind
|
||||||
|
# REQUIRE: mountcritlocal dmesg
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="swapfind"
|
||||||
|
start_cmd="swapfind_start"
|
||||||
|
stop_cmd=":"
|
||||||
|
|
||||||
|
|
||||||
|
swapfind_start() {
|
||||||
|
|
||||||
|
awk -F: '/^(ad|ar|da)[0-9]:/ {print $1}' /var/run/dmesg.boot | sort -u | while read disk
|
||||||
|
do
|
||||||
|
slice=1
|
||||||
|
|
||||||
|
fdisk $disk | awk /sysid/'{print $2}' | while read sltype
|
||||||
|
do
|
||||||
|
if [ "$sltype" = "165" ]; then
|
||||||
|
bsdlabel -r /dev/${disk}s${slice} 2>/dev/null | awk -F '[ :]+' '/swap/{print $2}' | while read part
|
||||||
|
do
|
||||||
|
/sbin/swapon /dev/${disk}s${slice}${part}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
slice=$(($slice + 1))
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: varmfs.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp -t varmfs)
|
||||||
|
|
||||||
|
cp ${LOCALDIR}/extra/varmfs/varmfs.rc ${BASEDIR}/etc/rc.d/varmfs
|
||||||
|
chmod 555 ${BASEDIR}/etc/rc.d/varmfs
|
||||||
|
|
||||||
|
mtree -Pcp ${BASEDIR}/var > ${TMPFILE}
|
||||||
|
mv ${TMPFILE} ${BASEDIR}/etc/mtree/var.dist
|
||||||
|
|
||||||
|
if [ $FREEBSD_VERSION -ge 9 ]; then
|
||||||
|
pkg -c ${BASEDIR} info > ${BASEDIR}/pkg_info.txt 2> /dev/null
|
||||||
|
else
|
||||||
|
chroot ${BASEDIR} pkg_info > ${BASEDIR}/pkg_info.txt 2>/dev/null
|
||||||
|
fi
|
|
@ -0,0 +1,66 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: varmfs.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
# PROVIDE: varmfs
|
||||||
|
# REQUIRE: mountcritlocal
|
||||||
|
# BEFORE: var
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="varmfs"
|
||||||
|
kenvvarsize=`kenv -q freesbie.varsize`
|
||||||
|
varsize=${kenvvarsize:-"32m"}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
|
||||||
|
tempdir=/tmp
|
||||||
|
|
||||||
|
echo "Generating MFS /var partition"
|
||||||
|
|
||||||
|
device=$(mdconfig -a -t malloc -o compress -s ${varsize})
|
||||||
|
bsdlabel -w ${device} auto
|
||||||
|
newfs -n -m 2 /dev/${device} > /dev/null 2>&1
|
||||||
|
mount -o noatime /dev/${device} ${tempdir}
|
||||||
|
|
||||||
|
back=$PWD
|
||||||
|
|
||||||
|
cd /var
|
||||||
|
if [ -z "${VARMFS_COPYDBPKG:-}" ]; then
|
||||||
|
find . -not -path "*/db/pkg*" -print -depth | cpio -dump --quiet ${tempdir}
|
||||||
|
else
|
||||||
|
find . -print -depth | cpio -dump --quiet ${tempdir}
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $back
|
||||||
|
|
||||||
|
mtree -PUer -q -p ${tempdir} < /etc/mtree/var.dist > /dev/null 2>&1
|
||||||
|
|
||||||
|
umount ${tempdir}
|
||||||
|
mount -o noatime /dev/${device} /var
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $Id: xautostart.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $BASEDIR/mnt $BASEDIR/etc/rc.d/ $BASEDIR/usr/local/sbin/
|
||||||
|
|
||||||
|
cp extra/xautostart/xautostart.rc $BASEDIR/etc/rc.d/xautostart
|
||||||
|
chmod 555 $BASEDIR/etc/rc.d/xautostart
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 Matteo Riondato
|
||||||
|
#
|
||||||
|
# See COPYING for licence details
|
||||||
|
#
|
||||||
|
# $Id: xautostart.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# PROVIDE xautostart
|
||||||
|
# REQUIRE homemfs xconfig
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="xautostart"
|
||||||
|
start_cmd="do_xautostart"
|
||||||
|
stop_cmd=":"
|
||||||
|
|
||||||
|
do_xautostart()
|
||||||
|
{
|
||||||
|
winmanager=`kenv -q freesbie.wm`
|
||||||
|
for i in `ls /home`; do
|
||||||
|
case $winmanager in
|
||||||
|
xfce*)
|
||||||
|
wm_command="startxfce4"
|
||||||
|
;;
|
||||||
|
fluxbox)
|
||||||
|
wm_command="fluxbox"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
wm_command=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "x$wm_command" != "x" ]; then
|
||||||
|
sed -i -e 1s/^.*$/exec\ $wm_command/ \
|
||||||
|
/home/${i}/.xinitrc
|
||||||
|
(
|
||||||
|
echo ""
|
||||||
|
echo "set XORG_ON=\`ps ac | grep Xorg\`"
|
||||||
|
echo "if ( \"\$XORG_ON\" != \"\" ) then"
|
||||||
|
echo "exit"
|
||||||
|
echo "endif"
|
||||||
|
echo ""
|
||||||
|
echo "if ( ! \$?DISPLAY ) then"
|
||||||
|
echo "set TTY_TYPE=\`echo \$tty | cut -c 4\`"
|
||||||
|
echo "if ( \$TTY_TYPE == \"v\" ) then"
|
||||||
|
echo "[ -x /usr/X11R6/bin/startx ] && startx"
|
||||||
|
echo "endif"
|
||||||
|
echo "endif"
|
||||||
|
) >> /home/${i}/.cshrc
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Timothy Redaelli & Matteo Riondato & Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# $Id: xconfig-probe.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $BASEDIR/usr/local/share/xconfig/ $BASEDIR/usr/local/etc/rc.d/ $BASEDIR/usr/local/sbin/
|
||||||
|
|
||||||
|
cp extra/xconfig-probe/xorg.conf.orig $BASEDIR/usr/local/share/xconfig/
|
||||||
|
|
||||||
|
install -C extra/xconfig-probe/xconfig-probe.sh $BASEDIR/usr/local/etc/rc.d/
|
||||||
|
|
||||||
|
# XXX Remember to trigger it on your login scripts or in rc.local
|
||||||
|
install -C extra/xconfig-probe/xkbdlayout.sh $BASEDIR/usr/local/sbin/
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (c) 2005 Timothy Redaelli
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $Id: xconfig-probe.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Video Card Detection script
|
||||||
|
|
||||||
|
if [ ! -x /usr/X11R6/bin/X ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Creating xorg.conf..."
|
||||||
|
PATH_DEST=/etc/X11
|
||||||
|
PATH_ORIG=/usr/local/share/xconfig
|
||||||
|
|
||||||
|
X_CFG_ORIG=${PATH_ORIG}/xorg.conf.orig
|
||||||
|
X_CFG_AUTO=/root/xorg.conf.new
|
||||||
|
X_CFG=${PATH_DEST}/xorg.conf
|
||||||
|
|
||||||
|
if [ -f "${X_CFG}" ]; then
|
||||||
|
echo "xorg.conf found... skipping"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp "${X_CFG_ORIG}" "${X_CFG}"
|
||||||
|
|
||||||
|
if /usr/X11R6/bin/X -configure; then
|
||||||
|
awk '/^Section "Device"/,/^EndSection/' "${X_CFG_ORIG}" >> "${X_CFG}"
|
||||||
|
rm -f "${X_CFG_ORIG}"
|
||||||
|
else
|
||||||
|
printf 'Section "Device"\n\tIdentifier "Card0"\n\tDriver "vesa"\nEndSection\n' >> "${X_CFG}"
|
||||||
|
fi
|
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2002-2004 G.U.F.I.
|
||||||
|
# Copyright (c) 2005 Matteo Riondato & Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms-
|
||||||
|
#
|
||||||
|
# $Id: xkbdlayout.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# X keyboard selection script
|
||||||
|
|
||||||
|
X11_ETCPATH=/etc/X11
|
||||||
|
LOCKFILE=${X11_ETCPATH}/.xkbdsel.keep
|
||||||
|
X_CFG=${X11_ETCPATH}/xorg.conf
|
||||||
|
|
||||||
|
if [ ! -f /usr/X11R6/bin/X -o ! -f ${X_CFG} ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e ${LOCKFILE} ]; then
|
||||||
|
touch ${LOCKFILE}
|
||||||
|
else
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create Xkbd Layout Dialog
|
||||||
|
DIALOG_FILE=$BASEDIR/usr/local/share/xconfig/xkbddialog.sh
|
||||||
|
LAYOUT_DIR="/usr/X11R6/lib/X11/xkb/rules/"
|
||||||
|
if [ -e $LAYOUT_DIR/xorg.lst ]; then
|
||||||
|
LAYOUT_FILE=$LAYOUT_DIR/xorg.lst
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp -t xorg.lst)
|
||||||
|
|
||||||
|
awk 'BEGIN{ORS=" "}{
|
||||||
|
if ($1 == "!") {
|
||||||
|
if ($2 == "layout") {
|
||||||
|
getline;
|
||||||
|
while ($0 != "!" && $0 != "") {
|
||||||
|
print $1 " \"" $2 "\"";
|
||||||
|
getline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}' $LAYOUT_FILE > $TMPFILE
|
||||||
|
|
||||||
|
|
||||||
|
ARG=$(cat $TMPFILE)
|
||||||
|
CMD='dialog --title "FreeSBIE X.org Layout" \
|
||||||
|
--menu "Choose your preferred keyboard layout" 22 50 15 \
|
||||||
|
'${ARG}'2> '$TMPFILE
|
||||||
|
|
||||||
|
|
||||||
|
set +e
|
||||||
|
# Running dialog, overwriting TMPFILE
|
||||||
|
eval "$CMD"
|
||||||
|
retval=$?
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ $retval = 1 ]; then
|
||||||
|
echo "Canceled"
|
||||||
|
rm ${LOCKFILE}
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
LAYOUT=$(cat $TMPFILE)
|
||||||
|
|
||||||
|
#Re use the TMPFILE
|
||||||
|
cp ${X_CFG} ${TMPFILE}
|
||||||
|
sed "s/\"us\"/\"${LAYOUT}\"/" ${TMPFILE} > ${X_CFG}
|
||||||
|
|
||||||
|
rm ${TMPFILE}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Matteo Riondato & Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# $Id: xconfig.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $BASEDIR/etc/X11/ $BASEDIR/etc/rc.d/ $BASEDIR/usr/local/sbin/
|
||||||
|
|
||||||
|
cp extra/xconfig/xorg.conf.orig $BASEDIR/etc/X11/
|
||||||
|
|
||||||
|
cp extra/xconfig/xconfig.sh $BASEDIR/etc/rc.d/xconfig
|
||||||
|
chmod 555 $BASEDIR/etc/rc.d/xconfig
|
||||||
|
|
||||||
|
# XXX Remember to trigger it on your login scripts or in rc.local
|
||||||
|
cp extra/xconfig/xkbdlayout.sh $BASEDIR/usr/local/sbin/
|
|
@ -0,0 +1,73 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2002-2004 G.U.F.I.
|
||||||
|
# Copyright (c) 2005-2006 Matteo Riondato & Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $Id: xconfig.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# Video Card Detection script
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# PROVIDE: xconfig
|
||||||
|
# REQUIRE: etcmfs
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name="xconfig"
|
||||||
|
start_cmd="create_xorgconf"
|
||||||
|
stop_cmd=":"
|
||||||
|
|
||||||
|
create_xorgconf() {
|
||||||
|
|
||||||
|
if [ ! -f /usr/X11R6/bin/X ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "Creating xorg.conf..."
|
||||||
|
|
||||||
|
PATH_DEST=/etc/X11
|
||||||
|
X_CFG_ORIG=${PATH_DEST}/xorg.conf.orig
|
||||||
|
X_CFG=${PATH_DEST}/xorg.conf
|
||||||
|
|
||||||
|
if [ -f ${X_CFG} ]; then
|
||||||
|
echo "xorg.conf found... skipping"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
pciconf="/usr/sbin/pciconf -lv"
|
||||||
|
|
||||||
|
pciline=$(${pciconf} | grep -B 4 VGA | head -n 1)
|
||||||
|
|
||||||
|
vendor_id=$(echo ${pciline} | awk '{print "0x" substr($4,12)}')
|
||||||
|
device_id=$(echo ${pciline} | awk '{print substr($4,6,6)}')
|
||||||
|
revision=$(echo ${pciline} | awk '{print substr($5,5)}')
|
||||||
|
subsysvendor_id=$(echo ${pciline} | awk '{print "0x" substr($3,12)}')
|
||||||
|
subsys_id=$(echo ${pciline} | awk '{print substr($3,6,6)}')
|
||||||
|
class=$(echo ${pciline} | awk '{print substr($2,7,6)}')
|
||||||
|
|
||||||
|
DRIVER_STR=$(/usr/X11R6/bin/getconfig -X 60900000 -I /etc/X11,/usr/X11R6/etc/X11,/usr/X11R6/lib/modules,/usr/X11R6/lib/X11/getconfig -v ${vendor_id} -d ${device_id} -r ${revision} -s ${subsysvendor_id} -b ${subsys_id} -c ${class} 2> /dev/null)
|
||||||
|
|
||||||
|
echo -n " using \"${DRIVER_STR}\" driver..."
|
||||||
|
|
||||||
|
case "${DRIVER_STR:-NULL}" in
|
||||||
|
NULL)
|
||||||
|
echo "no drivers found... using vesa"
|
||||||
|
cp ${X_CFG_ORIG} ${X_CFG}
|
||||||
|
;;
|
||||||
|
vesa)
|
||||||
|
cp ${X_CFG_ORIG} ${X_CFG}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
sed "s/vesa/${DRIVER_STR}/" < ${X_CFG_ORIG} > ${X_CFG}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo " done."
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
load_rc_config $name
|
||||||
|
run_rc_command "$1"
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2002-2004 G.U.F.I.
|
||||||
|
# Copyright (c) 2005 Matteo Riondato & Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms-
|
||||||
|
#
|
||||||
|
# $Id: xkbdlayout.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
#
|
||||||
|
# X keyboard selection script
|
||||||
|
|
||||||
|
X11_ETCPATH=/etc/X11
|
||||||
|
LOCKFILE=${X11_ETCPATH}/.xkbdsel.keep
|
||||||
|
X_CFG=${X11_ETCPATH}/xorg.conf
|
||||||
|
|
||||||
|
if [ ! -f /usr/X11R6/bin/X -o ! -f ${X_CFG} ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e ${LOCKFILE} ]; then
|
||||||
|
touch ${LOCKFILE}
|
||||||
|
else
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create Xkbd Layout Dialog
|
||||||
|
DIALOG_FILE=$BASEDIR/usr/local/share/xconfig/xkbddialog.sh
|
||||||
|
LAYOUT_DIR="/usr/X11R6/lib/X11/xkb/rules/"
|
||||||
|
if [ -e $LAYOUT_DIR/xorg.lst ]; then
|
||||||
|
LAYOUT_FILE=$LAYOUT_DIR/xorg.lst
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp -t xorg.lst)
|
||||||
|
|
||||||
|
awk 'BEGIN{ORS=" "}{
|
||||||
|
if ($1 == "!") {
|
||||||
|
if ($2 == "layout") {
|
||||||
|
getline;
|
||||||
|
while ($0 != "!" && $0 != "") {
|
||||||
|
print $1 " \"" $2 "\"";
|
||||||
|
getline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}' $LAYOUT_FILE > $TMPFILE
|
||||||
|
|
||||||
|
|
||||||
|
ARG=$(cat $TMPFILE)
|
||||||
|
CMD='dialog --title "FreeSBIE X.org Layout" \
|
||||||
|
--menu "Choose your preferred keyboard layout" 22 50 15 \
|
||||||
|
'${ARG}'2> '$TMPFILE
|
||||||
|
|
||||||
|
|
||||||
|
set +e
|
||||||
|
# Running dialog, overwriting TMPFILE
|
||||||
|
eval "$CMD"
|
||||||
|
retval=$?
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ $retval = 1 ]; then
|
||||||
|
echo "Canceled"
|
||||||
|
rm ${LOCKFILE}
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
LAYOUT=$(cat $TMPFILE)
|
||||||
|
|
||||||
|
#Re use the TMPFILE
|
||||||
|
cp ${X_CFG} ${TMPFILE}
|
||||||
|
sed "s/\"us\"/\"${LAYOUT}\"/" ${TMPFILE} > ${X_CFG}
|
||||||
|
|
||||||
|
rm ${TMPFILE}
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# pfSense specific buildkernel.sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2009 Scott Ullrich
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms. (hint: BSD License)
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
sleep 999
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${KERNELCONF:-}" ]; then
|
||||||
|
echo "KERNELCONF not set. Cannot continue."
|
||||||
|
sleep 999
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${KERNCONF:-}" ]; then
|
||||||
|
echo "KERNCONF not set. Cannot continue."
|
||||||
|
sleep 999
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${NO_BUILDKERNEL:-}" ]; then
|
||||||
|
echo "+++ NO_BUILDKERNEL set, skipping build" | tee -a ${LOGFILE}
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set SRC_CONF variable if it's not already set.
|
||||||
|
if [ -z "${SRC_CONF:-}" ]; then
|
||||||
|
if [ -n "${MINIMAL:-}" ]; then
|
||||||
|
SRC_CONF=${LOCALDIR}/conf/make.conf.minimal
|
||||||
|
else
|
||||||
|
SRC_CONF=${LOCALDIR}/conf/make.conf.${FREEBSD_VERSION}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set __MAKE_CONF variable if it's not already set.
|
||||||
|
if [ -z "${MAKE_CONF:-}" ]; then
|
||||||
|
MAKE_CONF=""
|
||||||
|
else
|
||||||
|
MAKE_CONF="__MAKE_CONF=$MAKE_CONF"
|
||||||
|
echo ">>> Setting MAKE_CONF to $MAKE_CONF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${KERNELCONF:-}" ]; then
|
||||||
|
export KERNCONFDIR=$(dirname ${KERNELCONF})
|
||||||
|
export KERNCONF=$(basename ${KERNELCONF})
|
||||||
|
elif [ -z "${KERNCONF:-}" ]; then
|
||||||
|
export KERNCONFDIR=${LOCALDIR}/conf/${ARCH}
|
||||||
|
export KERNCONF="FREESBIE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${WITH_DTRACE:-}" ]; then
|
||||||
|
DTRACE=""
|
||||||
|
else
|
||||||
|
DTRACE=" WITH_CTF=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
SRCCONFBASENAME=`basename ${SRC_CONF}`
|
||||||
|
echo ">>> KERNCONFDIR: ${KERNCONFDIR}"
|
||||||
|
echo ">>> ARCH: ${ARCH}"
|
||||||
|
echo ">>> SRC_CONF: ${SRCCONFBASENAME}"
|
||||||
|
if [ "$DTRACE" != "" ]; then
|
||||||
|
echo ">>> DTRACE: ${DTRACE}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset EXTRA
|
||||||
|
|
||||||
|
makeargs="${MAKEOPT:-} SRCCONF=${SRC_CONF} ${MAKE_CONF} NO_KERNELCLEAN=yes TARGET=${ARCH} TARGET_ARCH=${ARCH} ${DTRACE}"
|
||||||
|
|
||||||
|
if [ "$ARCH" = "MIPS" ]; then
|
||||||
|
echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} kernel-toolchain" > ${BUILDER_LOGS}/freesbie2/freesbie_buildworld_cmd.txt
|
||||||
|
echo ">>> MIPS ARCH deteceted, running make kernel-toolchain ..."
|
||||||
|
(env "$MAKE_ENV" script -aq $LOGFILE make $makeargs kernel-toolchain $MAKEJ_KERNEL || print_error;) | egrep '^>>>'
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make $makeargs buildkernel" \
|
||||||
|
> ${BUILDER_LOGS}/freesbie2/freesbie_buildkernel_cmd.txt
|
||||||
|
|
||||||
|
cd $SRCDIR
|
||||||
|
|
||||||
|
# If -j is defined sometimes a kernel build
|
||||||
|
# will fail. Attempt to try again up to 9
|
||||||
|
# more times and fail out completely if we
|
||||||
|
# cannot get this right in 10 attempts.
|
||||||
|
if [ "$MAKEJ_KERNEL" != "" ]; then
|
||||||
|
COUNTER=1
|
||||||
|
else
|
||||||
|
COUNTER=9
|
||||||
|
fi
|
||||||
|
while [ "$COUNTER" -lt 10 ]; do
|
||||||
|
(env "$MAKE_ENV" script -aq $LOGFILE make $makeargs buildkernel $MAKEJ_KERNEL || print_error;) | egrep '^>>>'
|
||||||
|
if [ "$?" -gt 0 ]; then
|
||||||
|
if [ "$COUNTER" -gt 9 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo ">>> make -j error occured attempt #$COUNTER - retrying build up to 10 times"
|
||||||
|
else
|
||||||
|
COUNTER=11
|
||||||
|
fi
|
||||||
|
COUNTER=`expr $COUNTER + 1`
|
||||||
|
done
|
||||||
|
|
||||||
|
cd $LOCALDIR
|
|
@ -0,0 +1,62 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# pfSense specific buildworld.sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2009 Scott Ullrich
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms (HINT: BSD License)
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
sleep 999
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${NO_BUILDWORLD:-}" ]; then
|
||||||
|
echo "+++ NO_BUILDWORLD set, skipping build" | tee -a ${LOGFILE}
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set SRC_CONF variable if it's not already set.
|
||||||
|
if [ -z "${SRC_CONF:-}" ]; then
|
||||||
|
if [ -n "${MINIMAL:-}" ]; then
|
||||||
|
SRC_CONF=${LOCALDIR}/conf/make.conf.minimal
|
||||||
|
else
|
||||||
|
SRC_CONF=${LOCALDIR}/conf/make.conf
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo ">>> Setting SRC_CONF to $SRC_CONF" | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
# Set __MAKE_CONF variable if it's not already set.
|
||||||
|
if [ -z "${MAKE_CONF:-}" ]; then
|
||||||
|
MAKE_CONF=""
|
||||||
|
else
|
||||||
|
MAKE_CONF="__MAKE_CONF=$MAKE_CONF"
|
||||||
|
echo ">>> Setting MAKE_CONF to $MAKE_CONF" | tee -a ${LOGFILE}
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $SRCDIR
|
||||||
|
|
||||||
|
unset EXTRA
|
||||||
|
|
||||||
|
makeargs="${MAKEOPT:-} ${MAKEJ_WORLD:-} ${MAKE_CONF} SRCCONF=${SRC_CONF} TARGET=${ARCH} TARGET_ARCH=${ARCH}"
|
||||||
|
|
||||||
|
if [ "$ARCH" = "mips" ]; then
|
||||||
|
echo ">>> Building includes for ${ARCH} architecture..." | tee -a ${LOGFILE}
|
||||||
|
make buildincludes 2>&1 >/dev/null
|
||||||
|
echo ">>> Installing includes for ${ARCH} architecture..." | tee -a ${LOGFILE}
|
||||||
|
make installincludes 2>&1 >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>> Building world for ${ARCH} architecture..." | tee -a ${LOGFILE}
|
||||||
|
echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} buildworld" | tee -a ${LOGFILE}
|
||||||
|
make buildincludes 2>&1 >/dev/null
|
||||||
|
make installincludes 2>&1 >/dev/null
|
||||||
|
(env "$MAKE_ENV" script -aq $LOGFILE make ${makeargs:-} buildworld || print_error;) | egrep '^>>>' | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
cd $LOCALDIR
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: cleandir.sh,v 1.3 2008/11/09 07:00:32 sullrich Exp $
|
||||||
|
|
||||||
|
set +e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n ">>> Removing build directories"
|
||||||
|
|
||||||
|
if [ -d "${BASEDIR}" ]; then
|
||||||
|
BASENAME=`basename ${BASEDIR}`
|
||||||
|
echo -n "$BASENAME "
|
||||||
|
chflags -R noschg ${BASEDIR}
|
||||||
|
rm -rf ${BASEDIR} 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "${CLONEDIR}" ]; then
|
||||||
|
BASENAME=`basename ${CLONEDIR}`
|
||||||
|
echo -n "$BASENAME "
|
||||||
|
chflags -R noschg ${CLONEDIR}
|
||||||
|
rm -rf ${CLONEDIR} 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
echo "Done!"
|
|
@ -0,0 +1,219 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: clonefs.sh,v 1.7 2008/05/05 22:49:19 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Local functions
|
||||||
|
|
||||||
|
# create_vnode ${UFSFILE} ${PARTITION}
|
||||||
|
#
|
||||||
|
# Create a loop filesystem in file ${UFSFILE} containing files under
|
||||||
|
# ${PARTITION} directory (relative path from /)
|
||||||
|
create_vnode() {
|
||||||
|
UFSFILE=$1; shift
|
||||||
|
PARTITION=$1; shift
|
||||||
|
|
||||||
|
echo "->create_vnode() ${UFSFILE} ${PARTITION}" >> ${LOGFILE}
|
||||||
|
|
||||||
|
SOURCEDIR=${BASEDIR}/${PARTITION}
|
||||||
|
DESTMOUNTPOINT=${CLONEDIR}/${PARTITION}
|
||||||
|
|
||||||
|
cd $SOURCEDIR
|
||||||
|
|
||||||
|
# Find the total dir size and initialize the vnode
|
||||||
|
DIRSIZE=$(($(du -kd 0 | cut -f 1)))
|
||||||
|
FSSIZE=$(($DIRSIZE + ($DIRSIZE/5)))
|
||||||
|
rm -f ${UFSFILE}
|
||||||
|
dd if=/dev/zero of=${UFSFILE} bs=1k count=1 seek=$((${FSSIZE} - 1)) >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
DEVICE=/dev/$(mdconfig -a -t vnode -f ${UFSFILE})
|
||||||
|
newfs -o space ${DEVICE} >> ${LOGFILE} 2>&1
|
||||||
|
mkdir -p ${DESTMOUNTPOINT}
|
||||||
|
mount -o noatime ${DEVICE} ${DESTMOUNTPOINT}
|
||||||
|
echo ${DEVICE}
|
||||||
|
}
|
||||||
|
|
||||||
|
# umount_md_devices ${DEV} [ ${DEV} [ ... ] ]
|
||||||
|
#
|
||||||
|
# Umount and detach md devices passed as parameters
|
||||||
|
umount_md_devices() {
|
||||||
|
echo "->umount_md_devices() $@" >> ${LOGFILE}
|
||||||
|
for i in $@; do
|
||||||
|
umount ${i}
|
||||||
|
mdconfig -d -u ${i}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# uzip ${UFSFILE} ${UZIPFILE}
|
||||||
|
#
|
||||||
|
# makes an uzip fs on ${UZIPFILE} starting from ${UFSFILE} and removes
|
||||||
|
# ${UFSFILE}
|
||||||
|
uzip() {
|
||||||
|
UFSFILE=$1; shift
|
||||||
|
UZIPFILE=$1;
|
||||||
|
|
||||||
|
echo -n ">>> Compressing ${UFSFILE}..."
|
||||||
|
mkuzip -v -s 65536 -o ${UZIPFILE} ${UFSFILE} >> ${LOGFILE} 2>&1
|
||||||
|
[ $? -ne 0 ] && print_error
|
||||||
|
|
||||||
|
UFSSIZE=$(ls -l ${UFSFILE} | awk '{print $5}')
|
||||||
|
UZIPSIZE=$(ls -l ${UZIPFILE} | awk '{print $5}')
|
||||||
|
|
||||||
|
PERCENT=$(awk -v ufs=${UFSSIZE} -v uzip=${UZIPSIZE} 'BEGIN{print (100 - (100 * (uzip/ufs)));}')
|
||||||
|
rm -f ${UFSFILE}
|
||||||
|
|
||||||
|
echo " ${PERCENT}% saved"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# clone_system
|
||||||
|
#
|
||||||
|
# Clone BASEDIR content to CLONEDIR.
|
||||||
|
|
||||||
|
clone_system() {
|
||||||
|
echo -n ">>> Cloning ${BASEDIR} to ${CLONEDIR}..."
|
||||||
|
|
||||||
|
mkdir -p ${CLONEDIR}
|
||||||
|
|
||||||
|
if [ `mount | grep ${CLONEDIR} | wc -l` -gt 0 ]; then
|
||||||
|
MOUNTPOINT=`mount | grep ${CLONEDIR} | awk '{ print $3 }'`
|
||||||
|
echo ">>> Attempting umount of $MOUNTPOINT"
|
||||||
|
umount -f $MOUNTPOINT
|
||||||
|
if [ `mount | grep ${CLONEDIR} | wc -l` -gt 0 ]; then
|
||||||
|
echo ">>> ERROR! Could not umount $MOUNTPOINT"
|
||||||
|
print_error
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "${CLONEDIR}" ]; then
|
||||||
|
chflags -R noschg ${CLONEDIR}
|
||||||
|
rm -rf ${CLONEDIR}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${NO_COMPRESSEDFS:-}" ]; then
|
||||||
|
# Preparing loop filesystem to be compressed
|
||||||
|
mkdir -p ${CLONEDIR}/uzip
|
||||||
|
|
||||||
|
USRDEVICE=$(create_vnode ${CLONEDIR}/uzip/usr.ufs usr)
|
||||||
|
DEVICES=${USRDEVICE}
|
||||||
|
|
||||||
|
# When NO_UNIONFS is set, we prefer using a mdmfs var (created
|
||||||
|
# automatically by rc.d scripts
|
||||||
|
if [ -z "${NO_UNIONFS:-}" ]; then
|
||||||
|
VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var)
|
||||||
|
DEVICES="${DEVICES} ${VARDEVICE}"
|
||||||
|
fi
|
||||||
|
trap "umount_md_devices ${DEVICES}; exit 1" INT
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Done!"
|
||||||
|
|
||||||
|
cd ${BASEDIR}
|
||||||
|
|
||||||
|
# If FILE_LIST isn't defined...
|
||||||
|
if [ -z "${FILE_LIST:-}" ]; then
|
||||||
|
# then copy the whole filesystem
|
||||||
|
FBSD_VERSION=`/usr/bin/uname -r | /usr/bin/cut -d"." -f1`
|
||||||
|
if [ "$FBSD_VERSION" -gt "7" ]; then
|
||||||
|
echo ">>> Using TAR to clone..."
|
||||||
|
mkdir -p ${CLONEDIR}
|
||||||
|
tar cf - * | ( cd /$CLONEDIR; tar xfp -)
|
||||||
|
else
|
||||||
|
echo ">>> Using CPIO to clone..."
|
||||||
|
find . -print -depth | cpio -dump -l -v ${CLONEDIR} >> ${LOGFILE} 2>&1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# else pass it to cpio
|
||||||
|
if [ -f ${FILE_LIST} ]; then
|
||||||
|
echo "Using ${FILE_LIST} as source" | tee -a ${LOGFILE}
|
||||||
|
sed 's/^#.*//g' ${FILE_LIST} | cpio -dump -l -v ${CLONEDIR} >> ${LOGFILE} 2>&1
|
||||||
|
else
|
||||||
|
echo "${FILE_LIST} is not a valid path, exiting..." | tee -a ${LOGFILE}
|
||||||
|
if [ -z "${NO_COMPRESSEDFS:-}" ]; then
|
||||||
|
umount_md_devices ${DEVICES}
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $CLONEDIR/sbin/init ]; then
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If PRUNE_LIST file exists, delete files and dir listed in it
|
||||||
|
if [ -n "${PRUNE_LIST:-}" ]; then
|
||||||
|
if [ -f ${PRUNE_LIST} ]; then
|
||||||
|
echo ">>> Deleting files listed in ${PRUNE_LIST}" | tee -a ${LOGFILE}
|
||||||
|
set +e
|
||||||
|
(cd ${CLONEDIR} && sed 's/^#.*//g' ${PRUNE_LIST} | xargs rm -rvf >> ${LOGFILE} 2>&1)
|
||||||
|
if [ -z "${NO_COMPRESSEDFS:-}" ]; then
|
||||||
|
echo ">>> Filling the uncompressed fs with zeros to compress better"
|
||||||
|
echo ">>> Don't worry if you see a 'filesystem full' message here"
|
||||||
|
zerofile=$(env TMPDIR=${CLONEDIR}/usr mktemp -t zero)
|
||||||
|
dd if=/dev/zero of=${zerofile} >> ${LOGFILE} 2>&1
|
||||||
|
rm ${zerofile}
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
else
|
||||||
|
echo "${PRUNE_LIST} isn't a regular file, skipping file deletion" | tee -a ${LOGFILE}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${NO_UNIONFS:-}" ]; then
|
||||||
|
# Preparing unionfs environment
|
||||||
|
mkdir -p ${CLONEDIR}/dist ${CLONEDIR}/mnt/union
|
||||||
|
|
||||||
|
# Declaring dirs to be union'ed. UNION_DIRS contain all the
|
||||||
|
# directories to be union'ed. UNION_DIRS_MTREE specify which
|
||||||
|
# directories should recover permissions (perhaps lost by
|
||||||
|
# the iso filesystem e.g.: etc, root)
|
||||||
|
|
||||||
|
UNION_DIRS=${UNION_DIRS:-"etc usr root var"}
|
||||||
|
UNION_DIRS_MTREE=${UNION_DIRS_MTREE:-"etc root"}
|
||||||
|
|
||||||
|
rm -f ${CLONEDIR}/dist/uniondirs
|
||||||
|
for dir in ${UNION_DIRS}; do
|
||||||
|
echo ${dir} >> ${CLONEDIR}/dist/uniondirs
|
||||||
|
done
|
||||||
|
|
||||||
|
for dir in ${UNION_DIRS_MTREE}; do
|
||||||
|
# Saving directory structure
|
||||||
|
mtree -Pcp ${BASEDIR}/${dir} > ${CLONEDIR}/dist/${dir}.dirs
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${NO_COMPRESSEDFS:-}" ]; then
|
||||||
|
umount_md_devices ${DEVICES}
|
||||||
|
trap "" INT
|
||||||
|
uzip $CLONEDIR/uzip/usr.ufs $CLONEDIR/uzip/usr.uzip
|
||||||
|
if [ -z "${NO_UNIONFS:-}" ]; then
|
||||||
|
uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip
|
||||||
|
fi
|
||||||
|
# Copy the rc script for uzip files
|
||||||
|
cp ${LOCALDIR}/conf/rc.d/uzip ${CLONEDIR}/etc/rc.d/
|
||||||
|
chmod 555 ${CLONEDIR}/etc/rc.d/uzip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${NO_UNIONFS:-}" ]; then
|
||||||
|
# Copy the rc script for unionfs
|
||||||
|
cp ${LOCALDIR}/conf/rc.d/unionfs ${CLONEDIR}/etc/rc.d/
|
||||||
|
chmod 555 ${CLONEDIR}/etc/rc.d/unionfs
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
clone_system
|
||||||
|
|
||||||
|
cd ${LOCALDIR}
|
|
@ -0,0 +1,123 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: compressfs.sh,v 1.5 2008/05/05 21:02:57 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Local functions
|
||||||
|
|
||||||
|
# create_vnode ${UFSFILE} ${PARTITION}
|
||||||
|
#
|
||||||
|
# Create a loop filesystem in file ${UFSFILE} containing files under
|
||||||
|
# ${PARTITION} directory (relative path from /)
|
||||||
|
create_vnode() {
|
||||||
|
UFSFILE=$1; shift
|
||||||
|
PARTITION=$1; shift
|
||||||
|
|
||||||
|
echo "->create_vnode() ${UFSFILE} ${PARTITION}" >> ${LOGFILE}
|
||||||
|
|
||||||
|
SOURCEDIR=${BASEDIR}/${PARTITION}
|
||||||
|
DESTMOUNTPOINT=${CLONEDIR}/${PARTITION}
|
||||||
|
|
||||||
|
cd $SOURCEDIR
|
||||||
|
|
||||||
|
# Find the total dir size and initialize the vnode
|
||||||
|
DIRSIZE=$(($(du -kd 0 | cut -f 1)))
|
||||||
|
FSSIZE=$(($DIRSIZE + ($DIRSIZE/5)))
|
||||||
|
rm -f ${UFSFILE}
|
||||||
|
dd if=/dev/zero of=${UFSFILE} bs=1k count=1 seek=$((${FSSIZE} - 1)) >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
DEVICE=/dev/$(mdconfig -a -t vnode -f ${UFSFILE})
|
||||||
|
newfs -o space ${DEVICE} >> ${LOGFILE} 2>&1
|
||||||
|
mkdir -p ${DESTMOUNTPOINT}
|
||||||
|
mount -o noatime ${DEVICE} ${DESTMOUNTPOINT}
|
||||||
|
echo ${DEVICE}
|
||||||
|
}
|
||||||
|
|
||||||
|
# umount_md_devices ${DEV} [ ${DEV} [ ... ] ]
|
||||||
|
#
|
||||||
|
# Umount and detach md devices passed as parameters
|
||||||
|
umount_md_devices() {
|
||||||
|
echo "->umount_md_devices() $@" >> ${LOGFILE}
|
||||||
|
for i in $@; do
|
||||||
|
umount ${i}
|
||||||
|
mdconfig -d -u ${i}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# uzip ${UFSFILE} ${UZIPFILE}
|
||||||
|
#
|
||||||
|
# makes an uzip fs on ${UZIPFILE} starting from ${UFSFILE} and removes
|
||||||
|
# ${UFSFILE}
|
||||||
|
uzip() {
|
||||||
|
UFSFILE=$1; shift
|
||||||
|
UZIPFILE=$1;
|
||||||
|
|
||||||
|
echo -n "Compressing ${UFSFILE}..."
|
||||||
|
mkuzip -v -s 65536 -o ${UZIPFILE} ${UFSFILE} >> ${LOGFILE} 2>&1
|
||||||
|
[ $? -ne 0 ] && print_error
|
||||||
|
|
||||||
|
UFSSIZE=$(ls -l ${UFSFILE} | awk '{print $5}')
|
||||||
|
UZIPSIZE=$(ls -l ${UZIPFILE} | awk '{print $5}')
|
||||||
|
|
||||||
|
PERCENT=$(awk -v ufs=${UFSSIZE} -v uzip=${UZIPSIZE} 'BEGIN{print (100 - (100 * (uzip/ufs)));}')
|
||||||
|
rm -f ${UFSFILE}
|
||||||
|
|
||||||
|
echo " ${PERCENT}% saved"
|
||||||
|
}
|
||||||
|
|
||||||
|
# compress_system
|
||||||
|
|
||||||
|
compress_system() {
|
||||||
|
echo ">>> Compressing ${CLONEDIR}..."
|
||||||
|
|
||||||
|
if [ -z "${NO_COMPRESSEDFS:-}" ]; then
|
||||||
|
# Preparing loop filesystem to be compressed
|
||||||
|
mkdir -p ${CLONEDIR}/uzip
|
||||||
|
|
||||||
|
USRDEVICE=$(create_vnode ${CLONEDIR}/uzip/usr.ufs usr)
|
||||||
|
DEVICES=${USRDEVICE}
|
||||||
|
|
||||||
|
# When NO_UNIONFS is set, we prefer using a mdmfs var (created
|
||||||
|
# automatically by rc.d scripts
|
||||||
|
if [ -z "${NO_UNIONFS:-}" ]; then
|
||||||
|
VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var)
|
||||||
|
DEVICES="${DEVICES} ${VARDEVICE}"
|
||||||
|
fi
|
||||||
|
trap "umount_md_devices ${DEVICES}; exit 1" INT
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${BASEDIR}
|
||||||
|
|
||||||
|
if [ -z "${NO_COMPRESSEDFS:-}" ]; then
|
||||||
|
umount_md_devices ${DEVICES}
|
||||||
|
trap "" INT
|
||||||
|
uzip $CLONEDIR/uzip/usr.ufs $CLONEDIR/uzip/usr.uzip
|
||||||
|
if [ -z "${NO_UNIONFS:-}" ]; then
|
||||||
|
uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy the rc script for uzip files
|
||||||
|
cp ${LOCALDIR}/conf/rc.d/uzip ${CLONEDIR}/etc/rc.d/
|
||||||
|
chmod 555 ${CLONEDIR}/etc/rc.d/uzip
|
||||||
|
|
||||||
|
rm -rf $CLONEDIR/usr/*
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Done!"
|
||||||
|
}
|
||||||
|
|
||||||
|
compress_system
|
||||||
|
|
||||||
|
cd ${LOCALDIR}
|
|
@ -0,0 +1,5 @@
|
||||||
|
You can put here your custom scripts that override the default ones.
|
||||||
|
For example, if you copy buildkernel.sh into this directory, or even
|
||||||
|
into a subdirectory called ${ARCH} (e.g custom/i386/buildkernel.sh),
|
||||||
|
during the `buildkernel' phase your script will be called instead of
|
||||||
|
default.
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: extra.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${EXTRAPLUGINS:-}" ]; then
|
||||||
|
# No plugins selected, return with no errors
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n ">>> Running plugins:"
|
||||||
|
|
||||||
|
for plugin in ${EXTRAPLUGINS}; do
|
||||||
|
echo -n " ${plugin}"
|
||||||
|
if [ -f "${LOCALDIR}/extra/${ARCH}/${plugin}.sh" ]; then
|
||||||
|
. ${LOCALDIR}/extra/${ARCH}/${plugin}.sh
|
||||||
|
elif [ -f "${LOCALDIR}/extra/${plugin}.sh" ]; then
|
||||||
|
. ${LOCALDIR}/extra/${plugin}.sh
|
||||||
|
else
|
||||||
|
#
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo " Done!"
|
|
@ -0,0 +1,56 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: flash.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>> Flashing bootable UFS image for ${ARCH}..."
|
||||||
|
|
||||||
|
FREESBIE_LABEL=${FREESBIE_LABEL:-"FreeSBIE"}
|
||||||
|
|
||||||
|
DEF_DEV=/dev/da0
|
||||||
|
|
||||||
|
echo -n "Device where your CF card is attached [${DEF_DEV}]: "
|
||||||
|
read DEVICE
|
||||||
|
|
||||||
|
if [ -z "${DEVICE}" ]; then
|
||||||
|
DEVICE=$DEF_DEV
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -c "${DEVICE}" ]; then
|
||||||
|
echo "Unable to find ${DEVICE}, please check the pathname"
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Temporary mount point
|
||||||
|
TMPDIR=`mktemp -d -t freesbie`
|
||||||
|
|
||||||
|
echo "Initializing ${DEVICE}..."
|
||||||
|
|
||||||
|
fdisk -BI ${DEVICE} >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
bsdlabel -w -B ${DEVICE}s1 >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
newfs -b 4096 -f 512 -i 8192 -L ${FREESBIE_LABEL} -O1 -U ${DEVICE}s1a >> ${LOGFILE} 2>&1
|
||||||
|
mount ${DEVICE}s1a ${TMPDIR}
|
||||||
|
|
||||||
|
echo "Writing files..."
|
||||||
|
|
||||||
|
cd ${CLONEDIR}
|
||||||
|
find . -print -depth | cpio -dump -v ${TMPDIR} >> ${LOGFILE} 2>&1
|
||||||
|
echo "/dev/ufs/${FREESBIE_LABEL} / ufs ro 1 1" > ${TMPDIR}/etc/fstab
|
||||||
|
umount ${TMPDIR}
|
||||||
|
cd ${LOCALDIR}
|
||||||
|
|
||||||
|
rm -rf ${TMPDIR}
|
|
@ -0,0 +1,71 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: img.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>> Building bootable UFS image for ${ARCH}..."
|
||||||
|
|
||||||
|
FREESBIE_LABEL=${FREESBIE_LABEL:-"FreeSBIE"} # UFS label
|
||||||
|
|
||||||
|
# Temp file and directory to be used later
|
||||||
|
TMPFILE=`mktemp -t freesbie`
|
||||||
|
TMPDIR=`mktemp -d -t freesbie`
|
||||||
|
|
||||||
|
# Size of cylinder in sectors
|
||||||
|
CYLSIZE=$((${SECTT} * ${HEADS}))
|
||||||
|
|
||||||
|
# Number of cylinders
|
||||||
|
CYLINDERS=$((${SECTS} / ${CYLSIZE}))
|
||||||
|
|
||||||
|
# Recalculate number of available sectors
|
||||||
|
SECTS=$((${CYLINDERS} * ${CYLSIZE}))
|
||||||
|
|
||||||
|
echo "Initializing image..."
|
||||||
|
rm -f ${IMGPATH}
|
||||||
|
dd if=/dev/zero of=${IMGPATH} count=1 seek=$((${SECTS} - 1)) >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
# Attach the md device
|
||||||
|
DEVICE=`mdconfig -a -t vnode -f ${IMGPATH} -x ${SECTT} -y ${HEADS}`
|
||||||
|
|
||||||
|
echo "g c${CYLINDERS} h${HEADS} s${SECTT}" > ${TMPFILE}
|
||||||
|
echo "p 1 165 ${SECTT} $((${SECTS} - ${SECTT}))" >> ${TMPFILE}
|
||||||
|
echo "a 1" >> ${TMPFILE}
|
||||||
|
|
||||||
|
fdisk -BI ${DEVICE} >> ${LOGFILE} 2>&1
|
||||||
|
fdisk -i -v -f ${TMPFILE} ${DEVICE} >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
bsdlabel -w -B ${DEVICE}s1 >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
newfs -b 4096 -f 512 -i 8192 -L ${FREESBIE_LABEL} -O1 -U ${DEVICE}s1a >> ${LOGFILE} 2>&1
|
||||||
|
mount /dev/${DEVICE}s1a ${TMPDIR}
|
||||||
|
|
||||||
|
echo "Done!"
|
||||||
|
|
||||||
|
echo -n ">>> Writing files..."
|
||||||
|
|
||||||
|
cd ${CLONEDIR}
|
||||||
|
find . -print -depth | cpio -dump -v ${TMPDIR} >> ${LOGFILE} 2>&1
|
||||||
|
echo "/dev/ufs/${FREESBIE_LABEL} / ufs ro 1 1" > ${TMPDIR}/etc/fstab
|
||||||
|
umount ${TMPDIR}
|
||||||
|
cd ${LOCALDIR}
|
||||||
|
|
||||||
|
mdconfig -d -u ${DEVICE}
|
||||||
|
|
||||||
|
rm -f ${TMPFILE}
|
||||||
|
rm -rf ${TMPDIR}
|
||||||
|
|
||||||
|
ls -lh ${IMGPATH}
|
||||||
|
|
||||||
|
echo "Done!"
|
|
@ -0,0 +1,66 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: installkernel.sh,v 1.10 2008/11/03 04:17:14 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
sleep 999
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set SRC_CONF variable if it's not already set.
|
||||||
|
if [ -z "${SRC_CONF:-}" ]; then
|
||||||
|
if [ -n "${MINIMAL:-}" ]; then
|
||||||
|
SRC_CONF=${LOCALDIR}/conf/make.conf.minimal
|
||||||
|
else
|
||||||
|
SRC_CONF=${LOCALDIR}/conf/make.conf.${FREEBSD_VERSION}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set __MAKE_CONF variable if it's not already set.
|
||||||
|
if [ -z "${MAKE_CONF:-}" ]; then
|
||||||
|
MAKE_CONF=""
|
||||||
|
else
|
||||||
|
MAKE_CONF="__MAKE_CONF=$MAKE_CONF"
|
||||||
|
echo ">>> Setting MAKE_CONF to $MAKE_CONF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${KERNELCONF:-}" ]; then
|
||||||
|
export KERNCONFDIR=$(dirname ${KERNELCONF})
|
||||||
|
export KERNCONF=$(basename ${KERNELCONF})
|
||||||
|
elif [ -z "${KERNCONF:-}" ]; then
|
||||||
|
export KERNCONFDIR=${LOCALDIR}/conf/${ARCH}
|
||||||
|
export KERNCONF="FREESBIE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p ${BASEDIR}/boot
|
||||||
|
#cp ${SRCDIR}/sys/${ARCH}/conf/GENERIC.hints ${BASEDIR}/boot/device.hints
|
||||||
|
#echo hint.psm.0.flags=0x1000 >> ${BASEDIR}/boot/device.hints
|
||||||
|
|
||||||
|
cd ${SRCDIR}
|
||||||
|
|
||||||
|
if [ -z "${WITH_DTRACE:-}" ]; then
|
||||||
|
DTRACE=""
|
||||||
|
else
|
||||||
|
DTRACE=" WITH_CTF=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
makeargs="${MAKEOPT:-} ${MAKEJ_KERNEL:-} ${MAKE_CONF} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${KERNEL_DESTDIR}"
|
||||||
|
|
||||||
|
echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} installkernel ${DTRACE}" > ${BUILDER_LOGS}/freesbie2/freesbie_installkernel_cmd.txt
|
||||||
|
|
||||||
|
(env "$MAKE_ENV" script -aq $LOGFILE make ${makeargs:-} installkernel || print_error;) | egrep '^>>>'
|
||||||
|
|
||||||
|
gzip -f9 $KERNEL_DESTDIR/boot/kernel/kernel
|
||||||
|
|
||||||
|
cd $LOCALDIR
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: installworld.sh,v 1.11 2008/11/08 21:15:15 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
sleep 999
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${NO_INSTALLWORLD:-}" ]; then
|
||||||
|
echo "+++ NO_INSTALLWORLD set, skipping install" | tee -a ${LOGFILE}
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>> Installing world for ${ARCH} architecture..."
|
||||||
|
|
||||||
|
# Set SRC_CONF variable if it's not already set.
|
||||||
|
if [ -z "${SRC_CONF:-}" ]; then
|
||||||
|
if [ -n "${MINIMAL:-}" ]; then
|
||||||
|
SRC_CONF=${LOCALDIR}/conf/src.conf.minimal
|
||||||
|
else
|
||||||
|
SRC_CONF=${LOCALDIR}/conf/src.conf
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo ">>> Setting SRC_CONF to $SRC_CONF" | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
# Set __MAKE_CONF variable if it's not already set.
|
||||||
|
if [ -z "${MAKE_CONF:-}" ]; then
|
||||||
|
MAKE_CONF=""
|
||||||
|
else
|
||||||
|
MAKE_CONF="__MAKE_CONF=$MAKE_CONF"
|
||||||
|
echo ">>> Setting MAKE_CONF to $MAKE_CONF" | tee -a ${LOGFILE}
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p ${BASEDIR}
|
||||||
|
|
||||||
|
cd ${SRCDIR}
|
||||||
|
|
||||||
|
makeargs="${MAKEOPT:-} ${MAKEJ_WORLD:-} ${MAKE_CONF} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}"
|
||||||
|
|
||||||
|
echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} installworld" | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
# make installworld
|
||||||
|
(env "$MAKE_ENV" script -aq $LOGFILE make ${makeargs:-} installworld || print_error;) | egrep '^>>>' | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
makeargs="${MAKEOPT:-} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}"
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
|
echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} distribution" | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
# make distribution
|
||||||
|
(env "$MAKE_ENV" script -aq $LOGFILE make ${makeargs:-} distribution || print_error;) | egrep '^>>>' | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd $LOCALDIR
|
|
@ -0,0 +1,73 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: iso.sh,v 1.3 2008/11/08 21:23:31 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
FREESBIE_LABEL=${FREESBIE_LABEL:-"FreeSBIE"}
|
||||||
|
|
||||||
|
echo ">>> Building bootable ISO image for ${ARCH}" | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
# This part was taken from the mkisoimages.sh scripts under
|
||||||
|
# /usr/src/release/${ARCH}/
|
||||||
|
set +e
|
||||||
|
type mkisofs 2>&1 | grep " is " >/dev/null
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo The cdrtools port is not installed. Trying to get it now.
|
||||||
|
if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then
|
||||||
|
cd /usr/ports/sysutils/cdrtools && make install BATCH=yes && make clean
|
||||||
|
elif [ $FREEBSD_VERSION -ge 10 ]; then
|
||||||
|
if ! pkg install cdrtools; then
|
||||||
|
echo "Could not get it via pkg install - please go install this" | tee -a ${LOGFILE}
|
||||||
|
echo "from the ports collection and run this script again." | tee -a ${LOGFILE}
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if ! pkg_add -r cdrtools; then
|
||||||
|
echo "Could not get it via pkg_add - please go install this" | tee -a ${LOGFILE}
|
||||||
|
echo "from the ports collection and run this script again." | tee -a ${LOGFILE}
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo ">>> Saving mtree structure..." | tee -a ${LOGFILE}
|
||||||
|
mtree -Pcp ${CLONEDIR} | bzip2 -9 > root.dist.bz2
|
||||||
|
mkdir -p ${CLONEDIR}/dist
|
||||||
|
mv root.dist.bz2 ${CLONEDIR}/dist/
|
||||||
|
|
||||||
|
echo "/dev/iso9660/${FREESBIE_LABEL} / cd9660 ro 0 0" > ${CLONEDIR}/etc/fstab
|
||||||
|
|
||||||
|
cd ${CLONEDIR}
|
||||||
|
|
||||||
|
# Detect if mkisofs support -L or -posix-L
|
||||||
|
if mkisofs --help 2>&1 | grep -q -- -posix-L; then
|
||||||
|
LOPT="-posix-L"
|
||||||
|
else
|
||||||
|
LOPT="-L"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>> Running mkisofs..." | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
|
||||||
|
echo ">>> FreeSBIe2 is running the command: cd ${CLONEDIR} ; mkisofs -b boot/cdboot -no-emul-boot -J -r -ldots -l ${LOPT} -V ${FREESBIE_LABEL} -p FreeSBIE -o $ISOPATH ." | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
mkisofs -b boot/cdboot -no-emul-boot -J -r -ldots -l ${LOPT} -V ${FREESBIE_LABEL} -p pfSense -o $ISOPATH .
|
||||||
|
|
||||||
|
echo "ISO created:" | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
ls -lh ${ISOPATH}
|
||||||
|
|
||||||
|
cd ${LOCALDIR}
|
|
@ -0,0 +1,119 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Wrapper to include configuration variables and invoke correct scripts
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for license terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: launch.sh,v 1.8 2008/12/30 23:24:09 smos Exp $
|
||||||
|
#
|
||||||
|
# Usage: launch.sh ${TARGET} [ ${LOGFILE} ]
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ "`id -u`" != "0" ]; then
|
||||||
|
echo "Sorry, this must be done as root."
|
||||||
|
sleep 999
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If the FREESBIE_DEBUG environment variable is set, be verbose.
|
||||||
|
[ ! -z "${FREESBIE_DEBUG:-}" ] && set -x
|
||||||
|
|
||||||
|
# Set the absolute path for the toolkit dir
|
||||||
|
LOCALDIR=$(cd $(dirname $0)/.. && pwd)
|
||||||
|
|
||||||
|
CURDIR=$1;
|
||||||
|
shift;
|
||||||
|
|
||||||
|
TARGET=$1;
|
||||||
|
shift;
|
||||||
|
|
||||||
|
# Set LOGFILE. If it's a tmp file, schedule for deletion
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
if [ -n "${1:-}" ]; then
|
||||||
|
LOGFILE=$1
|
||||||
|
REMOVELOG=0
|
||||||
|
else
|
||||||
|
LOGFILE=$(mktemp -q /tmp/freesbie.XXXXXX)
|
||||||
|
REMOVELOG=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
REMOVELOG=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>> LOGFILE set to $LOGFILE. REMOVELOG is $REMOVELOG." | tee -a ${LOGFILE}
|
||||||
|
cd $CURDIR
|
||||||
|
|
||||||
|
. ./conf/freesbie.defaults.conf
|
||||||
|
|
||||||
|
FREESBIE_CONF=${FREESBIE_CONF:-./conf/freesbie.conf}
|
||||||
|
|
||||||
|
[ -f ${FREESBIE_CONF} ] && . ${FREESBIE_CONF}
|
||||||
|
|
||||||
|
# XXX set $ARCH and mandatory variables here.
|
||||||
|
|
||||||
|
if [ ! -z "${ARCH:-}" ]; then
|
||||||
|
ARCH=${ARCH:-`uname -p`}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Some variables can be passed to make only as environment, not as parameters.
|
||||||
|
# usage: env $MAKE_ENV make $makeargs
|
||||||
|
MAKE_ENV=${MAKE_ENV:-}
|
||||||
|
|
||||||
|
if [ -n ${MAKEOBJDIRPREFIX:-} ]; then
|
||||||
|
MAKE_ENV="$MAKE_ENV MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n ${MAKEOBJDIR:-} ]; then
|
||||||
|
MAKE_ENV="$MAKE_ENV MAKEOBJDIR=${MAKEOBJDIR}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>> MAKE_ENV set on launch.sh to $MAKE_ENV" | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
report_error() {
|
||||||
|
if [ ! -z ${FREESBIE_ERROR_MAIL:-} ]; then
|
||||||
|
HOSTNAME=`hostname`
|
||||||
|
IPADDRESS=`ifconfig | grep inet | grep netmask | grep broadcast | awk '{ print $2 }'`
|
||||||
|
cat ${LOGFILE} | \
|
||||||
|
mail -s "FreeSBIE (pfSense) build error in ${TARGET} phase ${IPADDRESS} - ${HOSTNAME} " \
|
||||||
|
${FREESBIE_ERROR_MAIL}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
print_error() {
|
||||||
|
echo "Something went wrong, check errors!" >&2
|
||||||
|
[ -n "${LOGFILE:-}" ] && \
|
||||||
|
echo "Log saved on ${LOGFILE}" >&2
|
||||||
|
report_error
|
||||||
|
tail -n20 ${LOGFILE} >&2
|
||||||
|
sleep 999
|
||||||
|
kill $$ # XXX exit 1 won't work.
|
||||||
|
}
|
||||||
|
|
||||||
|
# If SCRIPTS_OVERRIDE is not defined, set it to ${LOCALDIR}/scripts/custom
|
||||||
|
SCRIPTS_OVERRIDE=${SCRIPTS_OVERRIDE:-"${LOCALDIR}/scripts/custom"}
|
||||||
|
|
||||||
|
# Check order:
|
||||||
|
# - ${SCRIPTS_OVERRIDE}/${ARCH}/${TARGET}.sh
|
||||||
|
# - ${SCRIPTS_OVERRIDE}/${TARGET}.sh
|
||||||
|
# - scripts/${ARCH}/${TARGET}.sh
|
||||||
|
# - scripts/${TARGET}.sh
|
||||||
|
|
||||||
|
if [ -f "${SCRIPTS_OVERRIDE}/${ARCH}/${TARGET}.sh" ]; then
|
||||||
|
. ${SCRIPTS_OVERRIDE}/${ARCH}/${TARGET}.sh
|
||||||
|
elif [ -f "${SCRIPTS_OVERRIDE}/${TARGET}.sh" ]; then
|
||||||
|
. ${SCRIPTS_OVERRIDE}/${TARGET}.sh
|
||||||
|
elif [ -f "${LOCALDIR}/scripts/${ARCH}/${TARGET}.sh" ]; then
|
||||||
|
. ${LOCALDIR}/scripts/${ARCH}/${TARGET}.sh
|
||||||
|
elif [ -f "${LOCALDIR}/scripts/${TARGET}.sh" ]; then
|
||||||
|
. ${LOCALDIR}/scripts/${TARGET}.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $? -ne 0 ] && report_error
|
||||||
|
|
||||||
|
if [ ${REMOVELOG} -eq 1 ]; then
|
||||||
|
rm -f ${LOGFILE}
|
||||||
|
fi
|
|
@ -0,0 +1,202 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: pkginstall.sh,v 1.19 2007/01/16 10:14:46 rionda Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#$BASE_DIR/tools/builder_scripts/packages
|
||||||
|
|
||||||
|
PFSPKGFILE=/tmp/pfspackages
|
||||||
|
|
||||||
|
if [ ! -f ${PFSPKGFILE} ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${ARCH}" != "$(uname -p)" ]; then
|
||||||
|
echo "----------------------------------------------------------"
|
||||||
|
echo "You can install packages only if your machine architecture"
|
||||||
|
echo "is the same of the target architecture."
|
||||||
|
echo "----------------------------------------------------------"
|
||||||
|
echo "Skipping package installation."
|
||||||
|
sleep 5
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
WORKDIR=$(mktemp -d -t freesbie)
|
||||||
|
CHROOTWD=$(TMPDIR=${BASEDIR}/tmp mktemp -d -t freesbie)
|
||||||
|
|
||||||
|
escape_pkg() {
|
||||||
|
echo $1 | sed 's/\+/\\\+/'
|
||||||
|
}
|
||||||
|
|
||||||
|
find_origins() {
|
||||||
|
cd ${WORKDIR}
|
||||||
|
touch origins
|
||||||
|
echo -n ">>> Finding origins... "
|
||||||
|
while read row; do
|
||||||
|
if [ -z "${row}" ]; then continue; fi
|
||||||
|
set +e
|
||||||
|
if (echo ${row} | grep -q "^#"); then continue; fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
pkg=$(echo $row | cut -d\ -f 1)
|
||||||
|
|
||||||
|
# pkg_info might fail if the listed package isn't present
|
||||||
|
set +e
|
||||||
|
origins=$(pkg_info -EX "^$(escape_pkg ${pkg})($|-[^-]+$)")
|
||||||
|
retval=$?
|
||||||
|
set -e
|
||||||
|
if [ ${retval} -eq 0 ]; then
|
||||||
|
# Valid origin(s) found
|
||||||
|
for origin in ${origins}; do
|
||||||
|
echo ${origin} >> tmp_origins
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "Warning! Package \"${pkg}\" is listed"
|
||||||
|
echo "in ${PFSPKGFILE},"
|
||||||
|
echo "but is not present in your system. "
|
||||||
|
echo "Press CTRL-C in ten seconds if you want"
|
||||||
|
echo "to stop now or I'll continue anyway"
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
done < ${PFSPKGFILE}
|
||||||
|
if [ -f tmp_origins ]; then
|
||||||
|
sort -u tmp_origins > origins
|
||||||
|
tot=$(wc -l origins | awk '{print $1}')
|
||||||
|
echo "${tot} found"
|
||||||
|
else
|
||||||
|
echo "none found"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
find_deps() {
|
||||||
|
cd ${WORKDIR}
|
||||||
|
touch deps
|
||||||
|
echo -n ">>> Finding dependencies... "
|
||||||
|
while read pkg; do
|
||||||
|
deps=$(pkg_info -qr ${pkg} | cut -d ' ' -f 2)
|
||||||
|
for dep in ${deps}; do
|
||||||
|
echo ${dep} >> tmp_deps
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
done < origins
|
||||||
|
if [ -f tmp_deps ]; then
|
||||||
|
sort -u tmp_deps > deps
|
||||||
|
tot=$(wc -l deps | awk '{print $1}')
|
||||||
|
echo "${tot} found"
|
||||||
|
else
|
||||||
|
echo "none found"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
sort_packages() {
|
||||||
|
cd ${WORKDIR}
|
||||||
|
pkgfile=${WORKDIR}/packages
|
||||||
|
presortfile=${WORKDIR}/presortpkg
|
||||||
|
sortfile=${WORKDIR}/sortpkg
|
||||||
|
sort -u deps origins > $pkgfile
|
||||||
|
|
||||||
|
[ -f $sortfile ] && rm $sortfile
|
||||||
|
touch $sortfile
|
||||||
|
|
||||||
|
count() {
|
||||||
|
file=$1;
|
||||||
|
echo $(wc -l ${file} | awk '{print $1}')
|
||||||
|
}
|
||||||
|
|
||||||
|
totpkg=$(wc -l $pkgfile | awk '{print $1}')
|
||||||
|
echo -n ">>> Sorting ${totpkg} packages by dependencies... "
|
||||||
|
|
||||||
|
touch $presortfile
|
||||||
|
for i in $(cat $pkgfile); do
|
||||||
|
if [ -e /var/db/pkg/$i/+REQUIRED_BY ]; then
|
||||||
|
for j in $(cat /var/db/pkg/$i/+REQUIRED_BY); do
|
||||||
|
if grep -q ^${j}\$ $pkgfile; then
|
||||||
|
echo $i $j >> $presortfile
|
||||||
|
else
|
||||||
|
echo $i NULL >> $presortfile
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo $i NULL >> $presortfile
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
tsort $presortfile | grep -v '^NULL$' > $sortfile
|
||||||
|
|
||||||
|
echo "done."
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_packages() {
|
||||||
|
export PACKAGE_BUILDING=yo
|
||||||
|
chrootpkgpath=${CHROOTWD#$BASEDIR}
|
||||||
|
pkgfile=${WORKDIR}/sortpkg
|
||||||
|
pkgaddcmd="chroot ${BASEDIR} pkg_add -fv"
|
||||||
|
totpkg=$(wc -l $pkgfile | awk '{print $1}')
|
||||||
|
echo ">>> Copying ${totpkg} packages"
|
||||||
|
cd ${CHROOTWD}
|
||||||
|
set +e
|
||||||
|
echo -n "[0"
|
||||||
|
count=1
|
||||||
|
while read pkg; do
|
||||||
|
# Progress bar
|
||||||
|
if [ $((${count} % 10)) -eq 0 ]; then
|
||||||
|
echo -n ${count}
|
||||||
|
else
|
||||||
|
echo -n "."
|
||||||
|
fi
|
||||||
|
count=$((${count} + 1))
|
||||||
|
|
||||||
|
echo ">>> Running pkg_create -b ${pkg} ${CHROOTWD}/${pkg}.tar" >> ${LOGFILE}
|
||||||
|
pkg_create -b ${pkg} ${CHROOTWD}/${pkg}.tar >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
echo ">>> Running $pkgaddcmd ${chrootpkgpath}/${pkg}.tar" >> ${LOGFILE}
|
||||||
|
$pkgaddcmd ${chrootpkgpath}/${pkg}.tar >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
rm ${CHROOTWD}/${pkg}.tar
|
||||||
|
|
||||||
|
done < $pkgfile
|
||||||
|
echo "]"
|
||||||
|
set -e
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_old_packages() {
|
||||||
|
echo ">>> Deleting previously installed packages"
|
||||||
|
chroot ${BASEDIR} pkg_delete -a >> ${LOGFILE} 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Deletes workdirs
|
||||||
|
purge_wd() {
|
||||||
|
cd ${LOCALDIR}
|
||||||
|
rm -rf ${WORKDIR} ${BASEDIR}/tmp/freesbie*
|
||||||
|
}
|
||||||
|
|
||||||
|
trap "purge_wd && exit 1" INT
|
||||||
|
|
||||||
|
echo ">>> Installing packages listed in ${PFSPKGFILE}"
|
||||||
|
find_origins
|
||||||
|
|
||||||
|
if [ "$(wc -l ${WORKDIR}/origins | awk '{print $1}')" = "0" ]; then
|
||||||
|
# Empty packages file, skip.
|
||||||
|
purge_wd
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
find_deps
|
||||||
|
sort_packages
|
||||||
|
#delete_old_packages
|
||||||
|
copy_packages
|
||||||
|
purge_wd
|
|
@ -0,0 +1,215 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: pkginstall.sh,v 1.19 2007/01/16 10:14:46 rionda Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#$BASE_DIR/tools/builder_scripts/packages
|
||||||
|
|
||||||
|
PFSPKGFILE=${PFSPKGFILE:-/tmp/pfspackages}
|
||||||
|
|
||||||
|
if [ ! -f ${PFSPKGFILE} ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${ARCH}" != "$(uname -p)" ]; then
|
||||||
|
echo "----------------------------------------------------------"
|
||||||
|
echo "You can install packages only if your machine architecture"
|
||||||
|
echo "is the same of the target architecture."
|
||||||
|
echo "----------------------------------------------------------"
|
||||||
|
echo "Skipping package installation."
|
||||||
|
sleep 5
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
WORKDIR=$(mktemp -d -t freesbie)
|
||||||
|
|
||||||
|
prepare_environment() {
|
||||||
|
rm -r ${PFSENSEBASEDIR}/var/db/pkg
|
||||||
|
cp -r /var/db/pkg ${PFSENSEBASEDIR}/var/db
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup_environment() {
|
||||||
|
rm -r ${PFSENSEBASEDIR}/var/db/pkg
|
||||||
|
mkdir -p ${PFSENSEBASEDIR}/var/db/pkg
|
||||||
|
}
|
||||||
|
|
||||||
|
escape_pkg() {
|
||||||
|
echo $1 | sed 's/\+/\\\+/'
|
||||||
|
}
|
||||||
|
|
||||||
|
find_origins() {
|
||||||
|
cd ${WORKDIR}
|
||||||
|
touch origins
|
||||||
|
echo -n ">>> Finding origins... " | tee -a ${LOGFILE}
|
||||||
|
while read row; do
|
||||||
|
if [ -z "${row}" ]; then continue; fi
|
||||||
|
set +e
|
||||||
|
if (echo ${row} | grep -q "^#"); then continue; fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
pkg=$(echo $row | cut -d\ -f 1)
|
||||||
|
|
||||||
|
# pkg query might fail if the listed package isn't present
|
||||||
|
set +e
|
||||||
|
origins=$(pkg query -x %n-%v "^$(escape_pkg ${pkg})($|-[^-]+$)")
|
||||||
|
retval=$?
|
||||||
|
set -e
|
||||||
|
if [ ${retval} -eq 0 ]; then
|
||||||
|
# Valid origin(s) found
|
||||||
|
for origin in ${origins}; do
|
||||||
|
echo ${origin} >> tmp_origins
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "Warning! Package \"${pkg}\" is listed" | tee -a ${LOGFILE}
|
||||||
|
echo "in ${PFSPKGFILE}," | tee -a ${LOGFILE}
|
||||||
|
echo "but is not present in your system. " | tee -a ${LOGFILE}
|
||||||
|
echo "Press CTRL-C in ten seconds if you want" | tee -a ${LOGFILE}
|
||||||
|
echo "to stop now or I'll continue anyway" | tee -a ${LOGFILE}
|
||||||
|
echo " " | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
done < ${PFSPKGFILE}
|
||||||
|
if [ -f tmp_origins ]; then
|
||||||
|
sort -u tmp_origins > origins
|
||||||
|
tot=$(wc -l origins | awk '{print $1}')
|
||||||
|
echo "${tot} found" | tee -a ${LOGFILE}
|
||||||
|
else
|
||||||
|
echo "none found" | tee -a ${LOGFILE}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
find_deps() {
|
||||||
|
cd ${WORKDIR}
|
||||||
|
touch deps
|
||||||
|
echo ">>> Finding dependencies... " | tee -a ${LOGFILE}
|
||||||
|
while read pkg; do
|
||||||
|
deps=$(pkg info -qd ${pkg})
|
||||||
|
for dep in ${deps}; do
|
||||||
|
echo ">>>>> Dependency ${dep} found... " >> ${LOGFILE}
|
||||||
|
echo ${dep} >> tmp_deps
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
done < origins
|
||||||
|
if [ -f tmp_deps ]; then
|
||||||
|
sort -u tmp_deps > deps
|
||||||
|
tot=$(wc -l deps | awk '{print $1}')
|
||||||
|
echo ">>> Total: ${tot} dependencies found" | tee -a ${LOGFILE}
|
||||||
|
else
|
||||||
|
echo ">>> No dependencies found" | tee -a ${LOGFILE}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
sort_packages() {
|
||||||
|
cd ${WORKDIR}
|
||||||
|
pkgfile=${WORKDIR}/packages
|
||||||
|
presortfile=${WORKDIR}/presortpkg
|
||||||
|
sortfile=${WORKDIR}/sortpkg
|
||||||
|
sort -u deps origins > $pkgfile
|
||||||
|
|
||||||
|
[ -f $sortfile ] && rm $sortfile
|
||||||
|
touch $sortfile
|
||||||
|
|
||||||
|
totpkg=$(wc -l $pkgfile | awk '{print $1}')
|
||||||
|
echo -n ">>> Sorting ${totpkg} packages by dependencies... " | tee -a ${LOGFILE}
|
||||||
|
|
||||||
|
touch $presortfile
|
||||||
|
for i in $(cat $pkgfile); do
|
||||||
|
_REQUIREDPKG=`pkg info -rq $i`
|
||||||
|
echo "Found: ${_REQUIREDPKG}" >> ${LOGFILE}
|
||||||
|
_COUNG_DEP=`echo $_REQUIREDPKG | wc -l`
|
||||||
|
if [ $_COUNG_DEP -gt 0 ]; then
|
||||||
|
for j in $_REQUIREDPKG; do
|
||||||
|
if grep -q ^${j}\$ $pkgfile; then
|
||||||
|
echo $i $j >> $presortfile
|
||||||
|
else
|
||||||
|
echo $i NULL >> $presortfile
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo $i NULL >> $presortfile
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
tsort $presortfile | grep -v '^NULL$' > $sortfile
|
||||||
|
|
||||||
|
echo "done." | tee -a ${LOGFILE}
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_packages() {
|
||||||
|
export PACKAGE_BUILDING=yo
|
||||||
|
chrootpkgpath="${BASEDIR}/${WORKDIR}"
|
||||||
|
pkgfile=${WORKDIR}/sortpkg
|
||||||
|
pkgaddcmd="pkg -c ${BASEDIR} add -f"
|
||||||
|
totpkg=$(wc -l $pkgfile | awk '{print $1}')
|
||||||
|
echo ">>> Copying ${totpkg} packages" | tee -a ${LOGFILE}
|
||||||
|
mkdir -p ${chrootpkgpath}
|
||||||
|
|
||||||
|
set +e
|
||||||
|
echo -n "[0"
|
||||||
|
count=1
|
||||||
|
while read pkg; do
|
||||||
|
# Progress bar
|
||||||
|
if [ $((${count} % 10)) -eq 0 ]; then
|
||||||
|
echo -n ${count}
|
||||||
|
else
|
||||||
|
echo -n "."
|
||||||
|
fi
|
||||||
|
count=$((count + 1))
|
||||||
|
|
||||||
|
echo ">>> Running pkg create -o ${chrootpkgpath} ${pkg}" >> ${LOGFILE}
|
||||||
|
pkg create -o ${chrootpkgpath} -f txz ${pkg} >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
echo ">>> Running $pkgaddcmd ${WORKDIR}/${pkg}.txz" >> ${LOGFILE}
|
||||||
|
$pkgaddcmd ${WORKDIR}/${pkg}.txz >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
rm ${chrootpkgpath}/${pkg}.txz
|
||||||
|
|
||||||
|
done < $pkgfile
|
||||||
|
echo "]" | tee -a ${LOGFILE}
|
||||||
|
set -e
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_old_packages() {
|
||||||
|
echo ">>> Deleting previously installed packages" | tee -a ${LOGFILE}
|
||||||
|
pkg -c ${BASEDIR} delete -a >> ${LOGFILE} 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Deletes workdirs
|
||||||
|
purge_wd() {
|
||||||
|
cd ${LOCALDIR}
|
||||||
|
rm -rf ${WORKDIR} ${BASEDIR}/${WORKDIR}
|
||||||
|
}
|
||||||
|
|
||||||
|
trap "purge_wd && exit 1" INT
|
||||||
|
|
||||||
|
echo ">>> Installing packages listed in ${PFSPKGFILE}" | tee -a ${LOGFILE}
|
||||||
|
find_origins
|
||||||
|
|
||||||
|
if [ "$(wc -l ${WORKDIR}/origins | awk '{print $1}')" = "0" ]; then
|
||||||
|
# Empty packages file, skip.
|
||||||
|
purge_wd
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
prepare_environment
|
||||||
|
find_deps
|
||||||
|
sort_packages
|
||||||
|
#delete_old_packages
|
||||||
|
copy_packages
|
||||||
|
purge_wd
|
||||||
|
cleanup_environment
|
|
@ -0,0 +1,219 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: pkgselect.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
WORKDIR=$(mktemp -d -t freesbie)
|
||||||
|
PFSPFSPKGFILE=${PFSPFSPKGFILE:-${LOCALDIR}/packages};
|
||||||
|
|
||||||
|
# Check if there are packages installed on the system
|
||||||
|
check_pkgs() {
|
||||||
|
count=$(pkg_info -Qoa | wc -l)
|
||||||
|
if [ ${count} -eq 0 ]; then
|
||||||
|
/usr/bin/dialog --title "FreeSBIE Packages selection" --clear \
|
||||||
|
--msgbox "Sorry, you don't have any packages installed.\n\nPlease install at least the packages you want\nto include in your distribution." 10 50
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
escape_pkg() {
|
||||||
|
echo $1 | sed 's/\+/\\\+/'
|
||||||
|
}
|
||||||
|
|
||||||
|
create_lists() {
|
||||||
|
cd ${WORKDIR}
|
||||||
|
echo "Creating list of available packages on the build machine..."
|
||||||
|
|
||||||
|
# Create a different file for each category. Each row in each file
|
||||||
|
# will look like:
|
||||||
|
# PKGNAME PKGNAME-version
|
||||||
|
pkg_info -Qoa | awk \
|
||||||
|
' BEGIN { FS=":|/" }
|
||||||
|
{
|
||||||
|
a=$1;
|
||||||
|
gsub("-[^-]+$", "", a);
|
||||||
|
system("echo " $1 " >> " $2 ".src");
|
||||||
|
}
|
||||||
|
';
|
||||||
|
|
||||||
|
CATEGORIES=$(basename -s '.src' *.src)
|
||||||
|
|
||||||
|
# If PFSPKGFILE already exists, find the listed packages and write
|
||||||
|
# them down in the proper category selection files
|
||||||
|
if [ -f ${PFSPKGFILE} ]; then
|
||||||
|
|
||||||
|
echo "Using ${PFSPKGFILE} as source..."
|
||||||
|
|
||||||
|
while read row; do
|
||||||
|
if [ -z ${row} ]; then continue; fi
|
||||||
|
pkg=$(echo $row | cut -d\ -f 1)
|
||||||
|
|
||||||
|
# pkg_info might fail if the listed package isn't present
|
||||||
|
set +e
|
||||||
|
origins=$(pkg_info -QoX "^$(escape_pkg ${pkg})($|-[^-]+$)")
|
||||||
|
retval=$?
|
||||||
|
set -e
|
||||||
|
if [ ${retval} -eq 0 ]; then
|
||||||
|
# Valid origin(s) found
|
||||||
|
for origin in ${origins}; do
|
||||||
|
echo ${origin} | awk \
|
||||||
|
' BEGIN { FS=":|/" }
|
||||||
|
{
|
||||||
|
system("echo " $1 " >> " $2 ".sel");
|
||||||
|
}
|
||||||
|
';
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "Warning! Package \"${pkg}\" is listed"
|
||||||
|
echo "in ${PFSPKGFILE},"
|
||||||
|
echo "but is not present in your system. "
|
||||||
|
echo "Press CTRL-C in ten seconds if you want"
|
||||||
|
echo "to stop now or I'll continue anyway"
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
done < ${PFSPKGFILE}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
category_dialog() {
|
||||||
|
CATEGORY=$1;
|
||||||
|
ARG=""
|
||||||
|
|
||||||
|
cd ${WORKDIR}
|
||||||
|
if [ -f ${CATEGORY}.src ]; then
|
||||||
|
while read i;
|
||||||
|
do
|
||||||
|
# If a file with previous selections exists check whether
|
||||||
|
# this package is selected or not
|
||||||
|
status="off"
|
||||||
|
if [ -f ${CATEGORY}.sel ]; then
|
||||||
|
# grep might exit with error
|
||||||
|
set +e
|
||||||
|
grep -qE "^${i}($|-[^-]+$)" ${CATEGORY}.sel;
|
||||||
|
retval=$?
|
||||||
|
set -e
|
||||||
|
if [ ${retval} -eq 0 ]; then
|
||||||
|
status="on";
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
ARG="${ARG} ${i} \"\" ${status}"
|
||||||
|
done < ${CATEGORY}.src
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Construct the dialog command line
|
||||||
|
CMD='/usr/bin/dialog --title "FreeSBIE Packages selection" --clear \
|
||||||
|
--checklist \
|
||||||
|
"These are the available packages under the '${CATEGORY}' category" \
|
||||||
|
-1 -1 10 '${ARG}' 2> '${CATEGORY}.tmp
|
||||||
|
# Disabling -e flag because dialog can exit with values different
|
||||||
|
# than zero.
|
||||||
|
set +e
|
||||||
|
# Running dialog
|
||||||
|
eval "$CMD"
|
||||||
|
retval=$?
|
||||||
|
set -e
|
||||||
|
case ${retval} in
|
||||||
|
0)
|
||||||
|
# Put the list of selected packages in ${CATEGORY}.sel, one per row
|
||||||
|
rm -f ${CATEGORY}.sel
|
||||||
|
pkglist=$(cat ${CATEGORY}.tmp)
|
||||||
|
if [ -n "${pkglist}" ]; then
|
||||||
|
for pkg in ${pkglist}; do
|
||||||
|
eval "echo ${pkg} >> ${CATEGORY}.sel"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Abnormal exit, don't do anything
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
main_dialog
|
||||||
|
}
|
||||||
|
|
||||||
|
main_dialog() {
|
||||||
|
ARG=""
|
||||||
|
for i in $CATEGORIES;
|
||||||
|
do
|
||||||
|
ARG="${ARG} ${i} \"\""
|
||||||
|
done
|
||||||
|
|
||||||
|
# Construct the dialog command line
|
||||||
|
CMD='/usr/bin/dialog --title "FreeSBIE Packages selection" --clear \
|
||||||
|
--menu "These are the available packages on your system \n \
|
||||||
|
Choose packages to include in FreeSBIE" -1 -1 10 \
|
||||||
|
"save and exit" "" " " "" '${ARG}' 2> '${WORKDIR}/cat_choice
|
||||||
|
|
||||||
|
# Disabling -e flag because dialog can exit with values different
|
||||||
|
# than zero.
|
||||||
|
set +e
|
||||||
|
# Running dialog
|
||||||
|
eval "$CMD"
|
||||||
|
retval=$?
|
||||||
|
set -e
|
||||||
|
case ${retval} in
|
||||||
|
0)
|
||||||
|
choice=$(cat ${WORKDIR}/cat_choice)
|
||||||
|
case ${choice} in
|
||||||
|
save*and*exit)
|
||||||
|
collect_save
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ -z ${choice} ]; then
|
||||||
|
# The empty row case
|
||||||
|
main_dialog
|
||||||
|
else
|
||||||
|
category_dialog ${choice}
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Exiting without saving"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
collect_save() {
|
||||||
|
cd ${WORKDIR}
|
||||||
|
# Ugly way to find if *.sel is expanded to a list of files
|
||||||
|
for i in *.sel; do
|
||||||
|
if [ -f ${i} ]; then
|
||||||
|
# There's at least one .sel file
|
||||||
|
sort *.sel > ${PFSPKGFILE}
|
||||||
|
echo "List of packages saved on ${PFSPKGFILE}"
|
||||||
|
else
|
||||||
|
echo "No packages selected, removing ${PFSPKGFILE}"
|
||||||
|
rm ${PFSPKGFILE}
|
||||||
|
fi
|
||||||
|
# No iterations required
|
||||||
|
break;
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Deletes workdir
|
||||||
|
purge_wd() {
|
||||||
|
cd ${LOCALDIR}
|
||||||
|
rm -rf ${WORKDIR}
|
||||||
|
}
|
||||||
|
|
||||||
|
trap "purge_wd && exit 1" INT
|
||||||
|
|
||||||
|
check_pkgs
|
||||||
|
create_lists
|
||||||
|
main_dialog
|
||||||
|
purge_wd
|
|
@ -0,0 +1,62 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2005 Dario Freni
|
||||||
|
#
|
||||||
|
# See COPYING for licence terms.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
# $Id: iso.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $
|
||||||
|
|
||||||
|
if [ -z "${LOGFILE:-}" ]; then
|
||||||
|
echo "This script can't run standalone."
|
||||||
|
echo "Please use launch.sh to execute it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
FREESBIE_LABEL=${FREESBIE_LABEL:-"FreeSBIE"}
|
||||||
|
|
||||||
|
echo "#### Building bootable ISO image for ${ARCH} ####"
|
||||||
|
|
||||||
|
# This part was taken from the mkisoimages.sh scripts under
|
||||||
|
# /usr/src/release/${ARCH}/
|
||||||
|
type mkisofs 2>&1 | grep " is " >/dev/null
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo The cdrtools port is not installed. Trying to get it now.
|
||||||
|
if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then
|
||||||
|
cd /usr/ports/sysutils/cdrtools && ARCH="$(uname -p)" make install BATCH=yes && make clean
|
||||||
|
else
|
||||||
|
if ! pkg_add -r cdrtools; then
|
||||||
|
echo "Could not get it via pkg_add - please go install this"
|
||||||
|
echo "from the ports collection and run this script again."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "Saving mtree structure..."
|
||||||
|
mtree -Pcp ${CLONEDIR} | bzip2 -9 > root.dist.bz2
|
||||||
|
mkdir -p ${CLONEDIR}/dist
|
||||||
|
mv root.dist.bz2 ${CLONEDIR}/dist/
|
||||||
|
|
||||||
|
echo "/dev/iso9660/${FREESBIE_LABEL} / cd9660 rw 0 0" > ${CLONEDIR}/etc/fstab
|
||||||
|
|
||||||
|
cd ${CLONEDIR}
|
||||||
|
cp ${SRCDIR}/release/powerpc/boot.tbxi boot
|
||||||
|
|
||||||
|
# Detect if mkisofs support -L or -posix-L
|
||||||
|
if mkisofs --help 2>&1 | grep -q -- -posix-L; then
|
||||||
|
LOPT="-posix-L"
|
||||||
|
else
|
||||||
|
LOPT="-L"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Running mkisofs..."
|
||||||
|
|
||||||
|
mkisofs -hfs-bless boot -map ${SRCDIR}/release/powerpc/hfs.map -r -hfs -part -no-desktop -hfs-volid ${FREESBIE_LABEL} -V ${FREESBIE_LABEL} -l -J ${LOPT} -o $ISOPATH . >> ${LOGFILE} 2>&1
|
||||||
|
|
||||||
|
echo "ISO created:"
|
||||||
|
|
||||||
|
ls -lh ${ISOPATH}
|
||||||
|
|
||||||
|
cd ${LOCALDIR}
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
DISK=$1
|
||||||
|
if [ "$DISK" = "" ]; then
|
||||||
|
echo "You must specify the disk that should be formatted/cleared."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
for PART in `gpart show $DISK | grep -v '=>' | awk '{ print $3 }'`; do
|
||||||
|
if [ "$PART" != "" ]; then
|
||||||
|
/sbin/gpart delete -i $PART $DISK >/dev/null
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
/sbin/gpart destroy $DISK >/dev/null
|
||||||
|
exit 0
|
|
@ -0,0 +1,152 @@
|
||||||
|
--
|
||||||
|
-- conf/FreeBSD.lua
|
||||||
|
--
|
||||||
|
-- This file contains FreeBSD-specific overrides to BSDInstaller.lua.
|
||||||
|
--
|
||||||
|
|
||||||
|
product = {
|
||||||
|
name = "FreeBSD",
|
||||||
|
version = "8.1"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_items = {
|
||||||
|
"boot",
|
||||||
|
"COPYRIGHT",
|
||||||
|
"bin",
|
||||||
|
"dev",
|
||||||
|
"etc",
|
||||||
|
"libexec",
|
||||||
|
"lib",
|
||||||
|
"media",
|
||||||
|
"root",
|
||||||
|
"rescue",
|
||||||
|
"sbin",
|
||||||
|
"sys",
|
||||||
|
"usr",
|
||||||
|
"var"
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd_names = cmd_names + {
|
||||||
|
DISKLABEL = "sbin/bsdlabel",
|
||||||
|
CPDUP = "usr/local/bin/cpdup -vvv -I",
|
||||||
|
DHCPD = "usr/local/sbin/dhcpd",
|
||||||
|
RPCBIND = "usr/sbin/rpcbind",
|
||||||
|
MOUNTD = "usr/sbin/mountd",
|
||||||
|
NFSD = "usr/sbin/nfsd",
|
||||||
|
MODULES_DIR = "boot/kernel",
|
||||||
|
DMESG_BOOT = "var/log/dmesg.boot"
|
||||||
|
}
|
||||||
|
|
||||||
|
sysids = {
|
||||||
|
{ "FreeBSD", 165 },
|
||||||
|
{ "OpenBSD", 166 },
|
||||||
|
{ "NetBSD", 169 },
|
||||||
|
{ "MS-DOS", 15 },
|
||||||
|
{ "Linux", 131 },
|
||||||
|
{ "Plan9", 57 }
|
||||||
|
}
|
||||||
|
|
||||||
|
mountpoints = function(part_megs, ram_megs)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- First, calculate suggested swap size:
|
||||||
|
--
|
||||||
|
local swap_megs = 2 * ram_megs
|
||||||
|
if ram_megs > (part_megs / 2) or part_megs < 4096 then
|
||||||
|
swap_megs = ram_megs
|
||||||
|
end
|
||||||
|
swap = tostring(swap_megs) .. "M"
|
||||||
|
|
||||||
|
--
|
||||||
|
-- The megabytes available on disk for non-swap use.
|
||||||
|
--
|
||||||
|
local avail_megs = part_megs - swap_megs
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Now, based on the capacity of the partition,
|
||||||
|
-- return an appropriate list of suggested mountpoints.
|
||||||
|
--
|
||||||
|
if avail_megs < 300 then
|
||||||
|
return {}
|
||||||
|
elseif avail_megs < 523 then
|
||||||
|
return {
|
||||||
|
{ mountpoint = "/", capstring = "70M" },
|
||||||
|
{ mountpoint = "swap", capstring = swap },
|
||||||
|
{ mountpoint = "/var", capstring = "32M" },
|
||||||
|
{ mountpoint = "/tmp", capstring = "32M" },
|
||||||
|
{ mountpoint = "/usr", capstring = "174M" },
|
||||||
|
{ mountpoint = "/home", capstring = "*" }
|
||||||
|
}
|
||||||
|
elseif avail_megs < 1024 then
|
||||||
|
return {
|
||||||
|
{ mountpoint = "/", capstring = "96M" },
|
||||||
|
{ mountpoint = "swap", capstring = swap },
|
||||||
|
{ mountpoint = "/var", capstring = "64M" },
|
||||||
|
{ mountpoint = "/tmp", capstring = "64M" },
|
||||||
|
{ mountpoint = "/usr", capstring = "256M" },
|
||||||
|
{ mountpoint = "/home", capstring = "*" }
|
||||||
|
}
|
||||||
|
elseif avail_megs < 4096 then
|
||||||
|
return {
|
||||||
|
{ mountpoint = "/", capstring = "128M" },
|
||||||
|
{ mountpoint = "swap", capstring = swap },
|
||||||
|
{ mountpoint = "/var", capstring = "128M" },
|
||||||
|
{ mountpoint = "/tmp", capstring = "128M" },
|
||||||
|
{ mountpoint = "/usr", capstring = "512M" },
|
||||||
|
{ mountpoint = "/home", capstring = "*" }
|
||||||
|
}
|
||||||
|
elseif avail_megs < 10240 then
|
||||||
|
return {
|
||||||
|
{ mountpoint = "/", capstring = "1024M" },
|
||||||
|
{ mountpoint = "swap", capstring = swap },
|
||||||
|
{ mountpoint = "/var", capstring = "512M" },
|
||||||
|
{ mountpoint = "/tmp", capstring = "256M" },
|
||||||
|
{ mountpoint = "/usr", capstring = "3G" },
|
||||||
|
{ mountpoint = "/home", capstring = "*" }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return {
|
||||||
|
{ mountpoint = "/", capstring = "1024M" },
|
||||||
|
{ mountpoint = "swap", capstring = swap },
|
||||||
|
{ mountpoint = "/var", capstring = "2048M" },
|
||||||
|
{ mountpoint = "/tmp", capstring = "1G" },
|
||||||
|
{ mountpoint = "/usr", capstring = "8G" },
|
||||||
|
{ mountpoint = "/home", capstring = "*" }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
default_sysid = 165
|
||||||
|
package_suffix = "tbz"
|
||||||
|
num_subpartitions = 8
|
||||||
|
has_raw_devices = false
|
||||||
|
disklabel_on_disk = false
|
||||||
|
has_softupdates = true
|
||||||
|
window_subpartitions = { "c" }
|
||||||
|
use_cpdup = true
|
||||||
|
|
||||||
|
booted_from_install_media = true
|
||||||
|
|
||||||
|
dir = {
|
||||||
|
root = "/",
|
||||||
|
tmp = "/tmp/"
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
-- mtrees_post_copy: a table of directory trees to create, using 'mtree',
|
||||||
|
-- after everything has been copied.
|
||||||
|
--
|
||||||
|
|
||||||
|
mtrees_post_copy = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-- /rescue for example takes a fair amount of space.
|
||||||
|
limits.part_min = "512M"
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Offlimits mount points and devices. BSDInstaller will ignore these mount points
|
||||||
|
--
|
||||||
|
-- example: offlimits_mounts = { "unionfs" }
|
||||||
|
offlimits_mounts = { "union" }
|
||||||
|
offlimits_devices = { "fd%d+", "md%d+", "cd%d+" }
|
|
@ -0,0 +1,95 @@
|
||||||
|
--
|
||||||
|
-- conf/pfSense.lua
|
||||||
|
-- $Id$
|
||||||
|
--
|
||||||
|
-- This file contains pfSense-specific overrides to BSDInstaller.lua.
|
||||||
|
--
|
||||||
|
|
||||||
|
product = {
|
||||||
|
name = "pfSense",
|
||||||
|
version = "2.2-BETA"
|
||||||
|
}
|
||||||
|
|
||||||
|
mountpoints = function(part_cap, ram_cap)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- First, calculate suggested swap size:
|
||||||
|
--
|
||||||
|
local swap = 2 * ram_cap
|
||||||
|
if ram_cap > (part_cap / 2) or part_cap < 4096 then
|
||||||
|
swap = ram_cap
|
||||||
|
end
|
||||||
|
swap = tostring(swap) .. "M"
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Now, based on the capacity of the partition,
|
||||||
|
-- return an appropriate list of suggested mountpoints.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- pfSense: We want to only setup / and swap.
|
||||||
|
--
|
||||||
|
|
||||||
|
return {
|
||||||
|
{ mountpoint = "/", capstring = "*" },
|
||||||
|
{ mountpoint = "swap", capstring = swap },
|
||||||
|
}
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
cmd_names = cmd_names + {
|
||||||
|
DMESG_BOOT = "var/log/dmesg.boot"
|
||||||
|
}
|
||||||
|
|
||||||
|
mtrees_post_copy = {
|
||||||
|
["usr/local"] = "etc/mtree/BSD.local.dist",
|
||||||
|
}
|
||||||
|
|
||||||
|
install_items = {
|
||||||
|
"boot",
|
||||||
|
"COPYRIGHT",
|
||||||
|
"bin",
|
||||||
|
"conf",
|
||||||
|
"conf.default",
|
||||||
|
"dev",
|
||||||
|
"etc",
|
||||||
|
"home",
|
||||||
|
"kernels",
|
||||||
|
"libexec",
|
||||||
|
"lib",
|
||||||
|
"root",
|
||||||
|
"sbin",
|
||||||
|
"usr",
|
||||||
|
"var"
|
||||||
|
}
|
||||||
|
|
||||||
|
ui_nav_control = {
|
||||||
|
["*/welcome"] = "ignore", -- do not show any "welcome" items
|
||||||
|
["*/configure_installed_system"] = "ignore", -- don't put these on
|
||||||
|
["pre_install_tasks/select_language"] = "ignore", -- do not show language selection
|
||||||
|
["pre_install_tasks/configure_network"] = "ignore", -- no need for configuring network
|
||||||
|
["*/upgrade_installed_system"] = "ignore", -- the main menu...
|
||||||
|
["*/load_kernel_modules"] = "ignore", -- do not ask about loading kernel modules
|
||||||
|
["*/pit/configure_console"] = "ignore", -- do not ask about console
|
||||||
|
["*/pit/configure_network"] = "ignore", -- do not ask about network
|
||||||
|
["*/*netboot*"] = "ignore", -- ignore netboot installation services
|
||||||
|
["*/install/select_packages"] = "ignore", -- do not do the "Select Packages" step on install
|
||||||
|
["*/install/confirm_install_os"] = "ignore", -- no need to confirm os install
|
||||||
|
["*/install/warn_omitted_subpartitions"] = "ignore", -- warn that /tmp /var and friends are being ommited
|
||||||
|
["*/install/finished"] = "ignore", -- no need to extra spamming
|
||||||
|
["*/install/select_additional_filesystems"] = "ignore", -- do not include additional filesystems prompts
|
||||||
|
["*/install/270_install_bootblocks.lua"] = "ignore", -- ignore the old boot block installer program
|
||||||
|
["*/configure/*"] = "ignore", -- do not configure, we've already did it.
|
||||||
|
}
|
||||||
|
|
||||||
|
booted_from_install_media=true
|
||||||
|
|
||||||
|
dir = { root = "/", tmp = "/tmp/" }
|
||||||
|
|
||||||
|
limits.part_min = "100M"
|
||||||
|
|
||||||
|
offlimits_devices = { "fd%d+", "md%d+", "cd%d+" }
|
||||||
|
|
||||||
|
offlimits_mounts = { "union" }
|
||||||
|
|
||||||
|
use_cpdup = true
|
|
@ -0,0 +1,98 @@
|
||||||
|
--
|
||||||
|
-- conf/pfSense.lua
|
||||||
|
-- $Id$
|
||||||
|
--
|
||||||
|
-- This file contains pfSense-specific overrides to BSDInstaller.lua.
|
||||||
|
--
|
||||||
|
|
||||||
|
product = {
|
||||||
|
name = "pfSense-rescue",
|
||||||
|
version = "rescue1"
|
||||||
|
}
|
||||||
|
|
||||||
|
mountpoints = function(part_cap, ram_cap)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- First, calculate suggested swap size:
|
||||||
|
--
|
||||||
|
local swap = 2 * ram_cap
|
||||||
|
if ram_cap > (part_cap / 2) or part_cap < 4096 then
|
||||||
|
swap = ram_cap
|
||||||
|
end
|
||||||
|
swap = tostring(swap) .. "M"
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Now, based on the capacity of the partition,
|
||||||
|
-- return an appropriate list of suggested mountpoints.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- pfSense: We want to only setup / and swap.
|
||||||
|
--
|
||||||
|
|
||||||
|
return {
|
||||||
|
{ mountpoint = "/", capstring = "*" },
|
||||||
|
{ mountpoint = "swap", capstring = swap },
|
||||||
|
}
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
cmd_names = cmd_names + {
|
||||||
|
DMESG_BOOT = "var/log/dmesg.boot"
|
||||||
|
}
|
||||||
|
|
||||||
|
mtrees_post_copy = {
|
||||||
|
["usr/local"] = "etc/mtree/BSD.local.dist",
|
||||||
|
}
|
||||||
|
|
||||||
|
install_items = {
|
||||||
|
"boot",
|
||||||
|
"COPYRIGHT",
|
||||||
|
"bin",
|
||||||
|
"conf",
|
||||||
|
"conf.default",
|
||||||
|
"dev",
|
||||||
|
"etc",
|
||||||
|
"kernels",
|
||||||
|
"libexec",
|
||||||
|
"lib",
|
||||||
|
"root",
|
||||||
|
"sbin",
|
||||||
|
"sys",
|
||||||
|
"usr",
|
||||||
|
"var"
|
||||||
|
}
|
||||||
|
|
||||||
|
ui_nav_control = {
|
||||||
|
["*/configure/*"] = "ignore",
|
||||||
|
["*/pit/configure_console"] = "ignore", -- do not ask about console
|
||||||
|
["pre_install_tasks/select_language"] = "ignore", -- do not show language selection
|
||||||
|
["pre_install_tasks/configure_network"] = "ignore", -- no need for configuring network
|
||||||
|
["main/install_os"] = "ignore",
|
||||||
|
["/install/*"] = "ignore",
|
||||||
|
["*/welcome"] = "ignore",
|
||||||
|
["*/configure_installed_system"] = "ignore", -- don't put these on
|
||||||
|
["*/upgrade_installed_system"] = "ignore", -- the main menu...
|
||||||
|
["*/load_kernel_modules"] = "ignore", -- do not ask about loading kernel modules
|
||||||
|
["*/pit/configure_network"] = "ignore", -- do not ask about network
|
||||||
|
["*/*netboot*"] = "ignore", -- ignore netboot installation services
|
||||||
|
["*/install/select_packages"] = "ignore", -- do not do the "Select Packages" step on install
|
||||||
|
["*/install/confirm_install_os"] = "ignore", -- no need to confirm os install
|
||||||
|
["*/install/warn_omitted_subpartitions"] = "ignore", -- warn that /tmp /var and friends are being ommited
|
||||||
|
["*/install/finished"] = "ignore", -- no need to extra spamming
|
||||||
|
["*/install/select_additional_filesystems"] = "ignore", -- do not include additional filesystems prompts
|
||||||
|
["*/install/270_install_bootblocks.lua"] = "ignore", -- ignore the old boot block installer program
|
||||||
|
["*/configure/*"] = "ignore", -- do not configure, we've already did it.
|
||||||
|
}
|
||||||
|
|
||||||
|
booted_from_install_media=true
|
||||||
|
|
||||||
|
dir = { root = "/", tmp = "/tmp/" }
|
||||||
|
|
||||||
|
limits.part_min = "100M"
|
||||||
|
|
||||||
|
offlimits_devices = { "fd%d+", "md%d+", "cd%d+" }
|
||||||
|
|
||||||
|
offlimits_mounts = { "union" }
|
||||||
|
|
||||||
|
use_cpdup = true
|
|
@ -0,0 +1,25 @@
|
||||||
|
-- $Id: 050_welcome.lua,v 1.10 2005/08/26 04:25:25 cpressey Exp $
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Confirmation message
|
||||||
|
--
|
||||||
|
|
||||||
|
return {
|
||||||
|
id = "centipede_confirm_basic",
|
||||||
|
name = _("Confirmation Message"),
|
||||||
|
effect = function(step)
|
||||||
|
|
||||||
|
if App.ui:confirm(_(
|
||||||
|
"Easy Install will automatically install without asking any questions. \n\n" ..
|
||||||
|
"WARNING: This will erase all contents in your first hard disk! " ..
|
||||||
|
"This action is irreversible. Do you really want to continue?\n\n" ..
|
||||||
|
"If you wish to have more control on your setup, " ..
|
||||||
|
"choose Custom Installation from the Main Menu."
|
||||||
|
)) then
|
||||||
|
return step:next()
|
||||||
|
else
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,75 @@
|
||||||
|
-- $Id: 200_select_disk.lua,v 1.34 2005/08/26 04:25:24 cpressey Exp $
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Select disk onto which to install.
|
||||||
|
--
|
||||||
|
|
||||||
|
return {
|
||||||
|
id = "select_disk",
|
||||||
|
name = _("Select Disk"),
|
||||||
|
req_state = { "storage" },
|
||||||
|
effect = function(step)
|
||||||
|
App.state.sel_disk = nil
|
||||||
|
App.state.sel_part = nil
|
||||||
|
|
||||||
|
-- XXX there might be a better place to handle this.
|
||||||
|
if App.state.storage:get_disk_count() == 0 then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"The installer could not find any disks suitable " ..
|
||||||
|
"for installation (IDE or SCSI) attached to this " ..
|
||||||
|
"computer. If you wish to install %s" ..
|
||||||
|
" on an unorthodox storage device, you will have to " ..
|
||||||
|
"exit to a %s command prompt and install it " ..
|
||||||
|
"manually, using the file /README as a guide.",
|
||||||
|
App.conf.product.name, App.conf.media_name)
|
||||||
|
)
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local dd = {}
|
||||||
|
|
||||||
|
for ddd in App.state.storage:get_disks() do
|
||||||
|
local desc = ddd:get_desc()
|
||||||
|
if desc == "mirror/pfSenseMirror" then
|
||||||
|
print("\nAuto-selecting first disk...")
|
||||||
|
print("\npfSense mirror found. Auto selecting.")
|
||||||
|
dd = ddd
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if next(dd) == nil then
|
||||||
|
for ddd in App.state.storage:get_disks() do
|
||||||
|
dd = ddd
|
||||||
|
print("\nAuto-selecting first disk...")
|
||||||
|
print(dd:get_desc() .. "\n")
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if dd then
|
||||||
|
App.state.sel_disk = dd
|
||||||
|
-- App.state.sel_part = App.state.sel_disk:get_part_by_number(1)
|
||||||
|
|
||||||
|
local disk_min_capacity = Storage.Capacity.new(
|
||||||
|
App.conf.limits.part_min
|
||||||
|
)
|
||||||
|
if disk_min_capacity:exceeds(dd:get_capacity()) then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"WARNING: the disk\n\n%s\n\nappears to have a capacity " ..
|
||||||
|
"of %s, which is less than the absolute minimum " ..
|
||||||
|
"recommended capacity, %s. You may encounter " ..
|
||||||
|
"problems while trying to install %s.",
|
||||||
|
dd:get_name(),
|
||||||
|
dd:get_capacity():format(),
|
||||||
|
disk_min_capacity:format(),
|
||||||
|
App.conf.product.name)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
return step:next()
|
||||||
|
else
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,100 @@
|
||||||
|
-- $Id: 220_format_disk.lua,v 1.15 2006/02/03 22:54:13 sullrich Exp $
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Allow the user to format the selected disk, if they so desire.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Utility function which asks the user what geometry they'd like to use.
|
||||||
|
--
|
||||||
|
local select_geometry = function(step, dd)
|
||||||
|
if dd:is_geometry_bios_friendly() then
|
||||||
|
local c_cyl, c_head, c_sec = dd:get_geometry()
|
||||||
|
else
|
||||||
|
local c_cyl, c_head, c_sec = dd:get_normalized_geometry()
|
||||||
|
end
|
||||||
|
|
||||||
|
dd:set_geometry(c_cyl, c_head, c_sec)
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Utility function which confirms that the user would like to proceed,
|
||||||
|
-- and actually executes the formatting commands.
|
||||||
|
--
|
||||||
|
local format_disk = function(step, dd)
|
||||||
|
local cmds = CmdChain.new()
|
||||||
|
|
||||||
|
if not select_geometry(step, dd) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local cmdsGPT = CmdChain.new()
|
||||||
|
local disk = dd:get_name()
|
||||||
|
cmdsGPT:set_replacements{
|
||||||
|
disk = disk
|
||||||
|
}
|
||||||
|
cmdsGPT:add("/usr/sbin/cleargpt.sh ${disk}");
|
||||||
|
cmdsGPT:execute()
|
||||||
|
|
||||||
|
dd:cmds_format(cmds)
|
||||||
|
|
||||||
|
if not cmds:execute() then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"The disk\n\n%s\n\nwas " ..
|
||||||
|
"not correctly formatted, and may " ..
|
||||||
|
"now be in an inconsistent state. " ..
|
||||||
|
"We recommend trying to format it again " ..
|
||||||
|
"before attempting to install " ..
|
||||||
|
"%s on it.",
|
||||||
|
dd:get_desc(), App.conf.product.name
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- The extents of the Storage.System have probably
|
||||||
|
-- changed, so refresh our knowledge of it.
|
||||||
|
--
|
||||||
|
local result
|
||||||
|
result, App.state.sel_disk, App.state.sel_part, dd =
|
||||||
|
StorageUI.refresh_storage(
|
||||||
|
App.state.sel_disk, App.state.sel_part, dd
|
||||||
|
)
|
||||||
|
if not result then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Mark the disk as having been 'touched'
|
||||||
|
-- (modified destructively, i.e. partitioned) by us.
|
||||||
|
-- This should prevent us from asking for further
|
||||||
|
-- confirmation for changes we might do to it in
|
||||||
|
-- the future.
|
||||||
|
--
|
||||||
|
dd:touch()
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
id = "format_disk",
|
||||||
|
name = _("Format Disk"),
|
||||||
|
req_state = { "storage", "sel_disk" },
|
||||||
|
effect = function(step)
|
||||||
|
print("\nFormatting disk...")
|
||||||
|
|
||||||
|
if format_disk(step, App.state.sel_disk) then
|
||||||
|
App.state.sel_part =
|
||||||
|
App.state.sel_disk:get_part_by_number(1)
|
||||||
|
return step:next()
|
||||||
|
else
|
||||||
|
--[[
|
||||||
|
-- weird hack.
|
||||||
|
os.execute("/usr/bin/touch /tmp/install_runagain")
|
||||||
|
os.exit()
|
||||||
|
--]]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,810 @@
|
||||||
|
-- $Id: 250_partition_disk.lua,v 1.79 2005/10/05 21:29:03 cpressey Exp $
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Partition editor.
|
||||||
|
--
|
||||||
|
-- XXX This should probably be split up into more than one step.
|
||||||
|
-- XXX This should probably be compartmentalized into StorageUI.
|
||||||
|
--
|
||||||
|
|
||||||
|
local options_list = {}
|
||||||
|
local sysid_to_name_map = {}
|
||||||
|
local name_to_sysid_map = {}
|
||||||
|
local i, l
|
||||||
|
for i, l in ipairs(App.conf.sysids) do
|
||||||
|
local name, sysid = l[1], l[2]
|
||||||
|
table.insert(options_list, name)
|
||||||
|
sysid_to_name_map[sysid] = name
|
||||||
|
name_to_sysid_map[name] = sysid
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Return a list of datasets apropos for formatting just one big partition.
|
||||||
|
--
|
||||||
|
local populate_one_big_partition = function(dd)
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
sectors = "*",
|
||||||
|
sysid = sysid_to_name_map[App.conf.default_sysid],
|
||||||
|
active = "Y"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Get a list of datasets by examining what is currently in the disk
|
||||||
|
-- representation (i.e. in the Storage.Disk structure, which was
|
||||||
|
-- presumably gotten from Storage.System:survey() at some point.)
|
||||||
|
--
|
||||||
|
local populate_from_disk = function(dd)
|
||||||
|
local pd
|
||||||
|
local list = {}
|
||||||
|
local active_pd = nil
|
||||||
|
|
||||||
|
local toyn = function(bool)
|
||||||
|
if bool then
|
||||||
|
return "Y"
|
||||||
|
else
|
||||||
|
return "N"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local offset = dd:get_geometry_sec()
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Look for the active partition.
|
||||||
|
--
|
||||||
|
for pd in dd:get_parts() do
|
||||||
|
if pd:is_active() then
|
||||||
|
active_pd = pd
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- If none was found, assume the first as the active partition.
|
||||||
|
--
|
||||||
|
if not active_pd then
|
||||||
|
for pd in dd:get_parts() do
|
||||||
|
active_pd = pd
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for pd in dd:get_parts() do
|
||||||
|
local start = pd:get_start()
|
||||||
|
local sectors = pd:get_capacity():in_units("S")
|
||||||
|
local sysid = sysid_to_name_map[pd:get_sysid()] or
|
||||||
|
tostring(pd:get_sysid())
|
||||||
|
|
||||||
|
if start ~= offset then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"WARNING: The partition layout currently " ..
|
||||||
|
"on this disk is non-standard. It may " ..
|
||||||
|
"have gaps in between partitions, or the " ..
|
||||||
|
"partitions may be listed in something " ..
|
||||||
|
"other than strictly increading order. " ..
|
||||||
|
"\n\nWhile %s can handle this situation, " ..
|
||||||
|
"this installer's partition editor cannot " ..
|
||||||
|
"at present. You will be given the option " ..
|
||||||
|
"to completely repartition this disk, but " ..
|
||||||
|
"if you wish to retain any existing " ..
|
||||||
|
"information on the disk, you should exit " ..
|
||||||
|
"the installer and use a tool such as " ..
|
||||||
|
"`fdisk' to manually create a %s partition " ..
|
||||||
|
"on it before continuing.",
|
||||||
|
App.conf.product.name, App.conf.product.name
|
||||||
|
))
|
||||||
|
return populate_one_big_partition(dd)
|
||||||
|
end
|
||||||
|
offset = offset + sectors
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Create the dataset.
|
||||||
|
--
|
||||||
|
table.insert(list, {
|
||||||
|
sectors = tostring(sectors),
|
||||||
|
sysid = sysid,
|
||||||
|
active = toyn(pd == active_pd)
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
return list
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Actually show the partition editor and let the user edit partitions.
|
||||||
|
-- This does not do any setup or validation.
|
||||||
|
--
|
||||||
|
local edit_partitions = function(step, datasets_list)
|
||||||
|
assert(datasets_list, "We need a list of datasets here, please")
|
||||||
|
|
||||||
|
local fields_list = {
|
||||||
|
{
|
||||||
|
id = "sectors",
|
||||||
|
name = _("Size (in Sectors)")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "sysid",
|
||||||
|
name = _("Partition Type"),
|
||||||
|
options = options_list,
|
||||||
|
editable = "false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "active",
|
||||||
|
name = _("Active?"),
|
||||||
|
control = "checkbox"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local actions_list = {
|
||||||
|
{
|
||||||
|
id = "ok",
|
||||||
|
name = _("Accept and Create"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
accelerator = "ESC",
|
||||||
|
name = _("Return to %s", step:get_prev_name()),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "revert",
|
||||||
|
name = _("Revert to Partitions on Disk"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local form = {
|
||||||
|
id = "edit_partitions",
|
||||||
|
name = _("Edit Partitions"),
|
||||||
|
short_desc = _("Select the partitions (also known " ..
|
||||||
|
"as `slices' in BSD tradition) you want to " ..
|
||||||
|
"have on this disk.\n\n" ..
|
||||||
|
"For Size, enter a raw size in sectors " ..
|
||||||
|
"(1 gigabyte = 2097152 sectors) " ..
|
||||||
|
"or a single '*' to indicate " ..
|
||||||
|
"'use the remaining space on the disk'."),
|
||||||
|
special = "bsdinstaller_edit_partitions",
|
||||||
|
minimum_width = "64",
|
||||||
|
|
||||||
|
actions = actions_list,
|
||||||
|
fields = fields_list,
|
||||||
|
datasets = datasets_list,
|
||||||
|
|
||||||
|
multiple = "true",
|
||||||
|
extensible = "true"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return true, datasets_list
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Given a proposed size for a partition, check that it starts on a
|
||||||
|
-- head boundary and ends on a cylinder boundary. Allow the user to
|
||||||
|
-- easily adjust it to do so if it does not.
|
||||||
|
--
|
||||||
|
local align_to_boundary = function(dd, size, num, start)
|
||||||
|
|
||||||
|
local is_divisible_by = function(x, y)
|
||||||
|
return math.floor(x / y) == math.ceil(x / y)
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Get "sectors per track" value - the start sector
|
||||||
|
-- should be divisible by this value in order
|
||||||
|
-- for the partition to be aligned to head boundaries.
|
||||||
|
--
|
||||||
|
local sectrk = dd:get_geometry_sec()
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Get "blocks per cylinder" value - the end sector
|
||||||
|
-- should be divisible by this value in order
|
||||||
|
-- for the partition to be aligned to cylinder boundaries.
|
||||||
|
--
|
||||||
|
local cylsec = dd:get_geometry_head() * sectrk
|
||||||
|
|
||||||
|
--
|
||||||
|
-- The start sector MUST be on a head boundary,
|
||||||
|
-- or we're in the Twilight Zone.
|
||||||
|
--
|
||||||
|
assert(is_divisible_by(start, sectrk))
|
||||||
|
|
||||||
|
--
|
||||||
|
-- From the start, and the proposed size, calculate the end sector.
|
||||||
|
--
|
||||||
|
local end_sector = start + size
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Check to see if it ends on a cylinder boundary.
|
||||||
|
-- If so, everything's peachy, and just return.
|
||||||
|
--
|
||||||
|
if is_divisible_by(end_sector, cylsec) then
|
||||||
|
return size
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Calculate the next smallest and next largest
|
||||||
|
-- cylinder boundaries where the end sector could be.
|
||||||
|
--
|
||||||
|
local shrink_sec = math.floor(end_sector / cylsec) * cylsec
|
||||||
|
local expand_sec = math.ceil(end_sector / cylsec) * cylsec
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Calculate the next smallest and largest sizes of the partition
|
||||||
|
-- such that its end sector falls on a cylinder boundary.
|
||||||
|
--
|
||||||
|
local shrink_to = shrink_sec - start
|
||||||
|
local expand_to = expand_sec - start
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Ask the user what they want to do.
|
||||||
|
--
|
||||||
|
local response = App.ui:present{
|
||||||
|
id = "align_partition",
|
||||||
|
name = _("Align Partition"),
|
||||||
|
short_desc = _(
|
||||||
|
"Partition #%d does not begin and end " ..
|
||||||
|
"on a cylinder boundary (i.e. its size, %d, " ..
|
||||||
|
"is not a multiple of %d.)\n\nWould you " ..
|
||||||
|
"like to adjust it? NOTE that this may " ..
|
||||||
|
"result in subsequent partitions being moved!",
|
||||||
|
num, size, cylsec
|
||||||
|
),
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
{
|
||||||
|
id = "shrink",
|
||||||
|
name = _("Shrink to %d Sectors", shrink_to),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "expand",
|
||||||
|
name = _("Expand to %d Sectors", expand_to),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
accelerator = "ESC",
|
||||||
|
name = _("Return to Edit Partitions"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if response.action_id == "shrink" then
|
||||||
|
return shrink_to
|
||||||
|
end
|
||||||
|
if response.action_id == "expand" then
|
||||||
|
return expand_to
|
||||||
|
end
|
||||||
|
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Given a proposed size for a partition, check that it does not
|
||||||
|
-- exceed or fall short of the disk size. If it does, allow the
|
||||||
|
-- user to easily adjust it.
|
||||||
|
--
|
||||||
|
local align_to_disk_size = function(dd, size, num, used_size, disk_size, is_last)
|
||||||
|
if used_size + size == disk_size then
|
||||||
|
return size -- perfect fit
|
||||||
|
end
|
||||||
|
if used_size + size < disk_size and not is_last then
|
||||||
|
return size -- don't worry, still some partitions to go
|
||||||
|
end
|
||||||
|
|
||||||
|
local response
|
||||||
|
local new_size = disk_size - used_size
|
||||||
|
|
||||||
|
if used_size + size < disk_size then
|
||||||
|
local under = disk_size - (used_size + size)
|
||||||
|
response = App.ui:present{
|
||||||
|
id = "expand_partition",
|
||||||
|
name = _("Expand Partition"),
|
||||||
|
short_desc = _(
|
||||||
|
"Partition #%d falls short of the end of " ..
|
||||||
|
"the disk by %d sectors (%s). Would you " ..
|
||||||
|
"like to expand it so that it takes up the " ..
|
||||||
|
"entire rest of the disk?",
|
||||||
|
num, under,
|
||||||
|
Storage.Capacity.new(under, "S"):format()
|
||||||
|
),
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
{
|
||||||
|
id = "ok",
|
||||||
|
name = _("Expand to %d Sectors", new_size)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
accelerator = "ESC",
|
||||||
|
name = _("Return to Edit Partitions")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
local over = (used_size + size) - disk_size
|
||||||
|
response = App.ui:present{
|
||||||
|
id = "truncate_partition",
|
||||||
|
name = _("Truncate Partition"),
|
||||||
|
short_desc = _(
|
||||||
|
"Partition #%d extends past the end of " ..
|
||||||
|
"the disk by %d sectors (%s). Would you " ..
|
||||||
|
"like to shrink it so that it fits?",
|
||||||
|
num, over,
|
||||||
|
Storage.Capacity.new(over, "S"):format()
|
||||||
|
),
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
{
|
||||||
|
id = "ok",
|
||||||
|
name = _("Shrink to %d Sectors", new_size)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
accelerator = "ESC",
|
||||||
|
name = _("Return to Edit Partitions")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
if response.action_id == "ok" then
|
||||||
|
return new_size
|
||||||
|
end
|
||||||
|
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Validate that the given datasets are properly formed.
|
||||||
|
--
|
||||||
|
local check_datasets = function(dd, datasets_list)
|
||||||
|
local i, dataset
|
||||||
|
local result, size
|
||||||
|
local disk_size = dd:get_capacity():in_units("S")
|
||||||
|
local used_size = dd:get_geometry_sec() -- initial offset
|
||||||
|
local wildcard_dataset = nil
|
||||||
|
local active_dataset = nil
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Check to see that they configured at least one.
|
||||||
|
--
|
||||||
|
if table.getn(datasets_list) == 0 then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"No partitions were configured! Please " ..
|
||||||
|
"create at least one partition."
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Check that each of them has a valid sysid and capacity.
|
||||||
|
--
|
||||||
|
for i, dataset in ipairs(datasets_list) do
|
||||||
|
if tonumber(dataset.sysid) == nil and
|
||||||
|
name_to_sysid_map[dataset.sysid] == nil then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"'%s' is not a recognized partition type. " ..
|
||||||
|
"Please use a numeric identifier if you " ..
|
||||||
|
"wish to use an unlisted partition type.",
|
||||||
|
dataset.sysid
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
if dataset.active == "Y" then
|
||||||
|
if active_dataset then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"Only one partition may be marked 'active'."
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
active_dataset = dataset
|
||||||
|
end
|
||||||
|
|
||||||
|
if dataset.sectors == "*" then
|
||||||
|
if wildcard_dataset ~= nil then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"Only one partition may have a " ..
|
||||||
|
"capacity of '*'."
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
wildcard_dataset = dataset
|
||||||
|
else
|
||||||
|
result, size = pcall(function()
|
||||||
|
local s = tonumber(dataset.sectors)
|
||||||
|
assert(dataset.sectors == tostring(s))
|
||||||
|
return s
|
||||||
|
end)
|
||||||
|
if not result then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"'%s' is not a valid size in sectors.",
|
||||||
|
dataset.sectors
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
size = align_to_disk_size(dd, size, i, used_size, disk_size,
|
||||||
|
i == table.getn(datasets_list) and wildcard_dataset == nil)
|
||||||
|
if not size then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
size = align_to_boundary(dd, size, i, used_size)
|
||||||
|
if not size then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
dataset.sectors = tostring(size)
|
||||||
|
|
||||||
|
used_size = used_size + size
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if not active_dataset then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"One partition must be marked 'active'."
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Fill in the wildcard dataset.
|
||||||
|
--
|
||||||
|
if wildcard_dataset ~= nil then
|
||||||
|
wildcard_dataset.sectors = tostring(disk_size - used_size)
|
||||||
|
used_size = used_size + tonumber(wildcard_dataset.sectors)
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Assert that the sizes total up exactly.
|
||||||
|
--
|
||||||
|
-- XXX in the future, we may want to allow passing through "bad"
|
||||||
|
-- sizes, to not disturb existing whacky partitionings.
|
||||||
|
-- In which case, we'll need to drop this check.
|
||||||
|
--
|
||||||
|
assert(used_size == disk_size)
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Return a list of partitions that have been changed by the user's edits,
|
||||||
|
-- as well as a list of partitions that have been added by the user.
|
||||||
|
-- Assumes check_datasets has already been called successfully.
|
||||||
|
--
|
||||||
|
local find_changed_and_added_partitions = function(dd, datasets_list)
|
||||||
|
local i, dataset
|
||||||
|
local offset = dd:get_geometry_sec() -- initial offset
|
||||||
|
local changed = {}
|
||||||
|
local added = {}
|
||||||
|
|
||||||
|
for i, dataset in ipairs(datasets_list) do
|
||||||
|
local pd = dd:get_part_by_number(i)
|
||||||
|
local size = tonumber(dataset.sectors)
|
||||||
|
|
||||||
|
local descriptor = {
|
||||||
|
pd = pd,
|
||||||
|
size = size,
|
||||||
|
offset = offset
|
||||||
|
}
|
||||||
|
|
||||||
|
if not pd then
|
||||||
|
table.insert(added, descriptor)
|
||||||
|
elseif pd:get_capacity():in_units("S") ~= size or
|
||||||
|
pd:get_start() ~= offset then
|
||||||
|
table.insert(changed, descriptor)
|
||||||
|
end
|
||||||
|
|
||||||
|
offset = offset + size
|
||||||
|
end
|
||||||
|
|
||||||
|
return changed, added
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Given the list of datasets, actually create the Storage.Partition objects.
|
||||||
|
-- This function assumes that check_datasets has already been called.
|
||||||
|
-- This function can never fail.
|
||||||
|
--
|
||||||
|
local create_partitions_from_datasets = function(dd, datasets_list)
|
||||||
|
local i, dataset
|
||||||
|
local part_no = 1
|
||||||
|
local disk_size = dd:get_capacity():in_units("S")
|
||||||
|
local offset = dd:get_geometry_sec() -- initial offset
|
||||||
|
local size
|
||||||
|
local sysid
|
||||||
|
|
||||||
|
dd:clear_parts()
|
||||||
|
for i, dataset in ipairs(datasets_list) do
|
||||||
|
size = tonumber(dataset.sectors)
|
||||||
|
|
||||||
|
dd:add_part(Storage.Partition.new{
|
||||||
|
parent = dd,
|
||||||
|
number = part_no,
|
||||||
|
start = offset,
|
||||||
|
size = size,
|
||||||
|
sysid = name_to_sysid_map[dataset.sysid] or tonumber(dataset.sysid),
|
||||||
|
active = (dataset.active == "Y")
|
||||||
|
})
|
||||||
|
|
||||||
|
offset = offset + size
|
||||||
|
part_no = part_no + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Actually confirm with the user and make changes to the disk.
|
||||||
|
--
|
||||||
|
local alter_disk = function(dd, datasets_list, changed)
|
||||||
|
--
|
||||||
|
-- Generate text from the list of changed partitions
|
||||||
|
--
|
||||||
|
local i, tab
|
||||||
|
local changed_list = ""
|
||||||
|
for i, tab in ipairs(changed) do
|
||||||
|
changed_list = changed_list .. _(
|
||||||
|
"Partition #%d (was %d long at %d; now %d long at %d)\n",
|
||||||
|
tab.pd:get_number(),
|
||||||
|
tab.pd:get_capacity():in_units("S"), tab.pd:get_start(),
|
||||||
|
tab.size, tab.offset
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Confirm that this is what the user wants to do
|
||||||
|
--
|
||||||
|
local confirm = function()
|
||||||
|
local response = App.ui:present{
|
||||||
|
id = "confirm_alter_disk",
|
||||||
|
name = _("Alter these Partitions?"),
|
||||||
|
short_desc = _(
|
||||||
|
"WARNING! The parameters of the following " ..
|
||||||
|
"partitions have been MODIFIED for the disk" ..
|
||||||
|
"\n\n%s\n\n" ..
|
||||||
|
"ANY meaningful data that may currently be " ..
|
||||||
|
"on ANY of them will NOT remain meaningful " ..
|
||||||
|
"after this operation has completed. " ..
|
||||||
|
"In other words, they should be considered " ..
|
||||||
|
"IRREVOCABLY ERASED if you proceed!\n\n%s\n" ..
|
||||||
|
"Are you ABSOLUTELY SURE you wish to take " ..
|
||||||
|
"this action? This is your LAST CHANCE " ..
|
||||||
|
"to cancel!",
|
||||||
|
dd:get_desc(),
|
||||||
|
changed_list
|
||||||
|
),
|
||||||
|
actions = {
|
||||||
|
{
|
||||||
|
id = "ok",
|
||||||
|
name = _("Alter these Partitions")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
accelerator = "ESC",
|
||||||
|
name = _("Return to Edit Partitions")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return response.action_id == "ok"
|
||||||
|
end
|
||||||
|
|
||||||
|
if dd:has_been_touched() or confirm() then
|
||||||
|
local cmds = CmdChain.new()
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Create partition descriptors under the disk,
|
||||||
|
-- then create the commands to partition based on
|
||||||
|
-- them, then execute those commands.
|
||||||
|
-- XXX might be better to:
|
||||||
|
-- - create the partition descriptors under a
|
||||||
|
-- temporary disk descriptor, or
|
||||||
|
-- - refresh the partition descriptors if the
|
||||||
|
-- partitioning fails, or
|
||||||
|
-- - create the commands directly from the
|
||||||
|
-- datasets
|
||||||
|
-- ... so that it is possible/easy to restore the
|
||||||
|
-- list of partition descriptors back to what is
|
||||||
|
-- really on the disk.
|
||||||
|
--
|
||||||
|
create_partitions_from_datasets(dd, datasets_list)
|
||||||
|
dd:cmds_partition(cmds)
|
||||||
|
|
||||||
|
if not cmds:execute() then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"The disk\n\n%s\n\nwas " ..
|
||||||
|
"not correctly partitioned, and may " ..
|
||||||
|
"now be in an inconsistent state. " ..
|
||||||
|
"We recommend partitioning it again" ..
|
||||||
|
"before attempting to install " ..
|
||||||
|
"%s on it.",
|
||||||
|
dd:get_desc(),
|
||||||
|
App.conf.product.name
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- The extents of the Storage.System have probably
|
||||||
|
-- changed, so refresh our knowledge of it.
|
||||||
|
--
|
||||||
|
local result
|
||||||
|
result, App.state.sel_disk, App.state.sel_part, dd =
|
||||||
|
StorageUI.refresh_storage(
|
||||||
|
App.state.sel_disk, App.state.sel_part, dd
|
||||||
|
)
|
||||||
|
if not result then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- XXX mark all changed partitions as having been
|
||||||
|
-- changed, here.
|
||||||
|
--
|
||||||
|
|
||||||
|
--[[
|
||||||
|
App.ui:inform(_(
|
||||||
|
"The disk\n\n%s\n\nwas successfully partitioned.",
|
||||||
|
dd:get_desc()
|
||||||
|
))
|
||||||
|
--]]
|
||||||
|
|
||||||
|
print("\nThe disk was successfully partitioned...\n")
|
||||||
|
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
App.ui:inform(_(
|
||||||
|
"Action cancelled. No partitions were changed."
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- High-level function which drives all others:
|
||||||
|
-- populate_from_disk
|
||||||
|
-- edit_partitions
|
||||||
|
-- check_datasets
|
||||||
|
-- create_partitions_from_datasets
|
||||||
|
--
|
||||||
|
local let_user_edit_partitions = function(step, population_function)
|
||||||
|
local ok = false
|
||||||
|
local datasets_list = population_function(App.state.sel_disk)
|
||||||
|
|
||||||
|
while not ok do
|
||||||
|
ok, datasets_list = edit_partitions(step, datasets_list)
|
||||||
|
if not ok then -- user cancelled
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
ok = check_datasets(App.state.sel_disk, datasets_list)
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Determine what changed.
|
||||||
|
--
|
||||||
|
local changed, added =
|
||||||
|
find_changed_and_added_partitions(App.state.sel_disk, datasets_list)
|
||||||
|
|
||||||
|
--[[
|
||||||
|
if table.getn(changed) == 0 and table.getn(added) == 0 then
|
||||||
|
response = App.ui:present{
|
||||||
|
id = "partition_anyway",
|
||||||
|
name = _("Partition Anyway?"),
|
||||||
|
short_desc = _(
|
||||||
|
"No changes appear to have been made to the " ..
|
||||||
|
"partition table layout.\n\n" ..
|
||||||
|
"Do you want to execute the commands to " ..
|
||||||
|
"partition the disk anyway?"
|
||||||
|
),
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
{
|
||||||
|
id = "ok",
|
||||||
|
name = _("Yes, partition %s",
|
||||||
|
App.state.sel_disk:get_name())
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "skip",
|
||||||
|
name = _("No, Skip to Next Step")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
accelerator = "ESC",
|
||||||
|
name = _("No, Return to Edit Partitions")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if response.action_id == "cancel" then
|
||||||
|
return step
|
||||||
|
elseif response.action_id == "skip" then
|
||||||
|
return step:next()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
--]]
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Actually write the partitions to the disk, with accompanying warnings
|
||||||
|
-- and such in the user interface.
|
||||||
|
--
|
||||||
|
if alter_disk(App.state.sel_disk, datasets_list, changed) then
|
||||||
|
return step:next()
|
||||||
|
else
|
||||||
|
return step
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- The Flow.Step descriptor itself follows.
|
||||||
|
--
|
||||||
|
return {
|
||||||
|
id = "partition_disk",
|
||||||
|
name = _("Partition Disk"),
|
||||||
|
req_state = { "storage", "sel_disk" },
|
||||||
|
effect = function(step)
|
||||||
|
--[[--
|
||||||
|
if App.state.sel_disk:has_been_touched() then
|
||||||
|
return let_user_edit_partitions(step, populate_from_disk)
|
||||||
|
end
|
||||||
|
--]]--
|
||||||
|
|
||||||
|
if App.state.sel_disk:is_mounted() then
|
||||||
|
local response = App.ui:present{
|
||||||
|
id = "partition_disk",
|
||||||
|
name = _("Partition Disk?"),
|
||||||
|
short_desc = _(
|
||||||
|
"One or more subpartitions of one or more " ..
|
||||||
|
"primary partitions of the selected disk " ..
|
||||||
|
"are already in use (they are currently " ..
|
||||||
|
"mounted on mountpoints in the filesystem.) " ..
|
||||||
|
"You cannot repartition the disk under " ..
|
||||||
|
"these circumstances. If you wish to do so, " ..
|
||||||
|
"you must unmount the subpartitions before " ..
|
||||||
|
"proceeding."
|
||||||
|
),
|
||||||
|
actions = {
|
||||||
|
{
|
||||||
|
id = "unmount",
|
||||||
|
name = _("Unmount Subpartitions"),
|
||||||
|
effect = function()
|
||||||
|
local cmds = CmdChain.new()
|
||||||
|
App.state.sel_disk:cmds_unmount_all_under(cmds)
|
||||||
|
cmds:execute()
|
||||||
|
return step
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "skip",
|
||||||
|
name = _("Skip this Step"),
|
||||||
|
effect = function()
|
||||||
|
return step:next()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
name = _("Return to %s", step:get_prev_name()),
|
||||||
|
accelerator = "ESC",
|
||||||
|
effect = function()
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return response.result
|
||||||
|
end
|
||||||
|
|
||||||
|
if App.state.sel_disk:get_part_count() == 0 then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"No valid partitions were found on this disk. " ..
|
||||||
|
"You will have to create at least one in which " ..
|
||||||
|
"to install %s." ..
|
||||||
|
"\n\n" ..
|
||||||
|
"A single partition covering the entire disk " ..
|
||||||
|
"will be selected for you by default, but if you " ..
|
||||||
|
"wish, you may create multiple partitions instead.",
|
||||||
|
App.conf.product.name
|
||||||
|
))
|
||||||
|
return let_user_edit_partitions(step, populate_one_big_partition)
|
||||||
|
end
|
||||||
|
|
||||||
|
return let_user_edit_partitions(step, populate_from_disk)
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,105 @@
|
||||||
|
-- $Id: 300_select_part.lua,v 1.37 2005/08/26 04:25:24 cpressey Exp $
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Select partition onto which to install.
|
||||||
|
--
|
||||||
|
|
||||||
|
return {
|
||||||
|
id = "select_part",
|
||||||
|
name = _("Select Partition"),
|
||||||
|
req_state = { "storage", "sel_disk" },
|
||||||
|
effect = function(step)
|
||||||
|
pd = App.state.sel_part
|
||||||
|
|
||||||
|
if pd then
|
||||||
|
if pd:is_mounted() then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"One or more subpartitions on the selected " ..
|
||||||
|
"primary partition already in use (they are " ..
|
||||||
|
"currently mounted in the filesystem.) " ..
|
||||||
|
"You should either unmount them before " ..
|
||||||
|
"proceeding, or select a different partition " ..
|
||||||
|
"or disk on which to install %s.",
|
||||||
|
App.conf.product.name
|
||||||
|
))
|
||||||
|
return step
|
||||||
|
end
|
||||||
|
|
||||||
|
if pd:get_activated_swap():in_units("K") > 0 then
|
||||||
|
local response = App.ui:present{
|
||||||
|
name = _("Cannot swapoff; reboot?"),
|
||||||
|
short_desc = _(
|
||||||
|
"Some subpartitions on the selected primary " ..
|
||||||
|
"partition are already activated as swap. " ..
|
||||||
|
"Since there is no way to deactivate swap in " ..
|
||||||
|
"%s once it is activated, in order " ..
|
||||||
|
"to edit the subpartition layout of this " ..
|
||||||
|
"primary partition, you must first reboot.",
|
||||||
|
App.conf.product.name
|
||||||
|
),
|
||||||
|
actions = {
|
||||||
|
{
|
||||||
|
id = "reboot",
|
||||||
|
name = _("Reboot"),
|
||||||
|
effect = function() return "reboot" end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
name = _("Return to %s", step:get_prev_name()),
|
||||||
|
accelerator = "ESC",
|
||||||
|
effect = function() return step:prev() end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return response.result
|
||||||
|
end
|
||||||
|
|
||||||
|
App.state.sel_part = pd
|
||||||
|
|
||||||
|
local part_min_capacity = Storage.Capacity.new(
|
||||||
|
App.conf.limits.part_min
|
||||||
|
)
|
||||||
|
if part_min_capacity:exceeds(pd:get_capacity()) then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"WARNING: primary partition #%d appears to have " ..
|
||||||
|
"a capacity of %s, which is less than the minimum " ..
|
||||||
|
"recommended capacity, %s. You may encounter " ..
|
||||||
|
"problems while trying to install %s onto it.",
|
||||||
|
pd:get_number(),
|
||||||
|
pd:get_capacity():format(),
|
||||||
|
part_min_capacity:format(),
|
||||||
|
App.conf.product.name)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
local cmds = CmdChain.new()
|
||||||
|
|
||||||
|
pd:cmds_set_sysid(cmds, App.conf.default_sysid)
|
||||||
|
pd:cmds_initialize_disklabel(cmds)
|
||||||
|
|
||||||
|
if cmds:execute() then
|
||||||
|
--[[
|
||||||
|
App.ui:inform(_(
|
||||||
|
"Primary partition #%d was formatted.",
|
||||||
|
pd:get_number())
|
||||||
|
)
|
||||||
|
--]]
|
||||||
|
return step:next()
|
||||||
|
else
|
||||||
|
--[[
|
||||||
|
App.ui:inform(_(
|
||||||
|
"Primary partition #%d was " ..
|
||||||
|
"not correctly formatted, and may " ..
|
||||||
|
"now be in an inconsistent state. " ..
|
||||||
|
"We recommend re-formatting it " ..
|
||||||
|
"before proceeding.",
|
||||||
|
pd:get_number())
|
||||||
|
)
|
||||||
|
--]]
|
||||||
|
return step
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,357 @@
|
||||||
|
-- $Id: 400_select_subparts.lua,v 1.50 2005/08/27 08:35:58 cpressey Exp $
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Subpartition editor.
|
||||||
|
--
|
||||||
|
-- XXX This should probably be available from StorageUI so that we
|
||||||
|
-- can do it during configuration, too. But that will get ugly if
|
||||||
|
-- we attempt to allow existing subpartitions to be retained, etc.
|
||||||
|
--
|
||||||
|
|
||||||
|
local expert_mode = false
|
||||||
|
|
||||||
|
local datasets_list = nil
|
||||||
|
|
||||||
|
return {
|
||||||
|
id = "select_subparts",
|
||||||
|
name = _("Select Subpartitions"),
|
||||||
|
req_state = { "sel_disk", "sel_part" },
|
||||||
|
effect = function(step)
|
||||||
|
local part_no, pd
|
||||||
|
local part_actions = {}
|
||||||
|
local i, letter
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
-- Local functions --
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
local fillout_missing_expert_values = function()
|
||||||
|
local i, dataset
|
||||||
|
|
||||||
|
for i, dataset in ipairs(datasets_list) do
|
||||||
|
if not dataset.softupdates and
|
||||||
|
not dataset.fsize and not dataset.bsize then
|
||||||
|
if dataset.mountpoint == "/" then
|
||||||
|
dataset.softupdates = "N"
|
||||||
|
else
|
||||||
|
dataset.softupdates = "Y"
|
||||||
|
end
|
||||||
|
|
||||||
|
if dataset.capstring == "*" or
|
||||||
|
(Storage.Capacity.is_valid_capstring(dataset.capstring) and
|
||||||
|
Storage.Capacity.new(dataset.capstring):in_units("G") >= 1.0) then
|
||||||
|
dataset.fsize = "2048"
|
||||||
|
dataset.bsize = "16384"
|
||||||
|
else
|
||||||
|
dataset.fsize = "1024"
|
||||||
|
dataset.bsize = "8192"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Make sure all the given subpart descriptors are OK.
|
||||||
|
--
|
||||||
|
local validate_subpart_descriptors = function(pd)
|
||||||
|
local spd, k, v
|
||||||
|
local part_size = pd:get_capacity():in_units("S")
|
||||||
|
local used_size = 0
|
||||||
|
local min_size = {}
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Read the minimum required subpart capacities from the conf file.
|
||||||
|
--
|
||||||
|
for k, v in App.conf.limits.subpart_min do
|
||||||
|
min_size[k] = Storage.Capacity.new(v):in_units("S")
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- If the user didn't select a /usr partition, / is going to
|
||||||
|
-- have to hold all that stuff - so make sure it's big enough.
|
||||||
|
--
|
||||||
|
if not pd:get_subpart_by_mountpoint("/usr") then
|
||||||
|
min_size["/"] = min_size["/"] + min_size["/usr"]
|
||||||
|
end
|
||||||
|
|
||||||
|
for spd in pd:get_subparts() do
|
||||||
|
local spd_size = spd:get_capacity():in_units("S")
|
||||||
|
local mtpt = spd:get_mountpoint()
|
||||||
|
local min_mt_size = min_size[mtpt]
|
||||||
|
|
||||||
|
used_size = used_size + spd_size
|
||||||
|
|
||||||
|
if min_mt_size and spd_size < min_mt_size then
|
||||||
|
if not App.ui:confirm(_(
|
||||||
|
"WARNING: the %s subpartition should " ..
|
||||||
|
"be at least %s in size or you will " ..
|
||||||
|
"risk running out of space during " ..
|
||||||
|
"the installation.\n\n" ..
|
||||||
|
"Proceed anyway?",
|
||||||
|
mtpt,
|
||||||
|
Storage.Capacity.new(min_mt_size, "S"):format()
|
||||||
|
)) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if used_size > part_size then
|
||||||
|
if not App.ui:confirm(_(
|
||||||
|
"WARNING: The total number of sectors needed " ..
|
||||||
|
"for the requested subpartitions (%d) exceeds the " ..
|
||||||
|
"number of sectors available in the partition (%d) " ..
|
||||||
|
"by %d sectors (%s.)\n\n" ..
|
||||||
|
"This is an invalid configuration; we " ..
|
||||||
|
"recommend shrinking the size of one or " ..
|
||||||
|
"more subpartitions before proceeding.\n\n" ..
|
||||||
|
"Proceed anyway?",
|
||||||
|
used_size, part_size, used_size - part_size,
|
||||||
|
Storage.Capacity.new(used_size - part_size, "S"):format()
|
||||||
|
)) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if used_size < part_size - App.conf.limits.waste_max then
|
||||||
|
if not App.ui:confirm(_(
|
||||||
|
"Note: the total capacity required " ..
|
||||||
|
"for the requested subpartitions (%s) does not make " ..
|
||||||
|
"full use of the capacity available in the " ..
|
||||||
|
"partition (%s.) %d sectors (%s) of space will go " ..
|
||||||
|
"unused.\n\n" ..
|
||||||
|
"You may wish to expand one or more subpartitions " ..
|
||||||
|
"before proceeding.\n\n" ..
|
||||||
|
"Proceed anyway?",
|
||||||
|
Storage.Capacity.new(used_size, "S"):format(),
|
||||||
|
Storage.Capacity.new(part_size, "S"):format(),
|
||||||
|
part_size - used_size,
|
||||||
|
Storage.Capacity.new(part_size - used_size, "S"):format()
|
||||||
|
)) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if App.conf.enable_crashdumps then
|
||||||
|
local num_swap_subparts = 0
|
||||||
|
local num_dumponable = 0
|
||||||
|
|
||||||
|
for spd in pd:get_subparts() do
|
||||||
|
if spd:is_swap() then
|
||||||
|
num_swap_subparts = num_swap_subparts + 1
|
||||||
|
if spd:get_capacity():exceeds_or_equals(
|
||||||
|
App.state.storage:get_ram_capacity()
|
||||||
|
) then
|
||||||
|
num_dumponable = num_dumponable + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if num_swap_subparts > 0 and num_dumponable == 0 then
|
||||||
|
if not App.ui:confirm(_(
|
||||||
|
"Note: none of the swap subpartitions that " ..
|
||||||
|
"you have selected are large enough to hold " ..
|
||||||
|
"the contents of memory, and thus cannot be " ..
|
||||||
|
"used to hold a crash dump (an image of the " ..
|
||||||
|
"computers' memory at the time of failure.) " ..
|
||||||
|
"Because this complicates troubleshooting, " ..
|
||||||
|
"we recommend that you increase the size of " ..
|
||||||
|
"one of your swap subpartitions.\n\n" ..
|
||||||
|
"Proceed anyway?",
|
||||||
|
mtpt, min_cap)) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Take a list of tables representing the user's choices and
|
||||||
|
-- create a matching set of subpartition descriptors under
|
||||||
|
-- the given partition description from them. In the process,
|
||||||
|
-- the desired subpartitions are checked for validity.
|
||||||
|
--
|
||||||
|
local create_subpart_descriptors = function(pd, list)
|
||||||
|
local i, letter, dataset
|
||||||
|
local result, size
|
||||||
|
local offset, fstype
|
||||||
|
local total_size = 0
|
||||||
|
local wildcard_size = false
|
||||||
|
|
||||||
|
pd:clear_subparts()
|
||||||
|
|
||||||
|
offset = 0
|
||||||
|
for i, dataset in list do
|
||||||
|
if dataset.capstring == "*" then
|
||||||
|
if wildcard_size then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"Only one subpartition may have " ..
|
||||||
|
"a capacity of '*'."
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
wildcard_size = true
|
||||||
|
else
|
||||||
|
if Storage.Capacity.is_valid_capstring(dataset.capstring) then
|
||||||
|
total_size = total_size +
|
||||||
|
Storage.Capacity.new(dataset.capstring):in_units("S")
|
||||||
|
else
|
||||||
|
App.ui:inform(_(
|
||||||
|
"'%s' is not a valid capacity specifier. " ..
|
||||||
|
"Capacity must either end in 'M' " ..
|
||||||
|
"for megabytes, 'G' for gigabytes, " ..
|
||||||
|
"or be '*' to indicate 'use all " ..
|
||||||
|
"remaining space.'",
|
||||||
|
dataset.capstring
|
||||||
|
))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local next_letter = function(letter)
|
||||||
|
local done = false
|
||||||
|
while not done do
|
||||||
|
done = true
|
||||||
|
letter = string.char(string.byte(letter) + 1)
|
||||||
|
local i, test
|
||||||
|
for i, test in ipairs(App.conf.window_subpartitions) do
|
||||||
|
if test == letter then
|
||||||
|
done = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return letter
|
||||||
|
end
|
||||||
|
|
||||||
|
offset = 0
|
||||||
|
letter = nil
|
||||||
|
for i, dataset in ipairs(list) do
|
||||||
|
if not letter then
|
||||||
|
letter = "a"
|
||||||
|
else
|
||||||
|
letter = next_letter(letter)
|
||||||
|
end
|
||||||
|
|
||||||
|
if dataset.capstring == "*" then
|
||||||
|
size = pd:get_capacity():in_units("S") - total_size
|
||||||
|
else
|
||||||
|
-- This has already been determined to be valid
|
||||||
|
size = Storage.Capacity.new(dataset.capstring):in_units("S")
|
||||||
|
end
|
||||||
|
|
||||||
|
if dataset.mountpoint == "swap" then
|
||||||
|
fstype = "swap"
|
||||||
|
else
|
||||||
|
fstype = "4.2BSD"
|
||||||
|
end
|
||||||
|
|
||||||
|
pd:add_subpart(Storage.Subpartition.new{
|
||||||
|
parent = pd,
|
||||||
|
letter = letter,
|
||||||
|
size = size,
|
||||||
|
offset = offset,
|
||||||
|
fstype = fstype,
|
||||||
|
fsize = tonumber(dataset.fsize),
|
||||||
|
bsize = tonumber(dataset.bsize),
|
||||||
|
mountpoint = dataset.mountpoint
|
||||||
|
})
|
||||||
|
|
||||||
|
offset = offset + size
|
||||||
|
end
|
||||||
|
|
||||||
|
return validate_subpart_descriptors(pd)
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Begin main logic!
|
||||||
|
--
|
||||||
|
|
||||||
|
if not datasets_list then
|
||||||
|
datasets_list = App.conf.mountpoints(
|
||||||
|
App.state.sel_part:get_capacity():in_units("M"),
|
||||||
|
App.state.storage:get_ram_capacity():in_units("M")
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
local fields_list = {
|
||||||
|
{
|
||||||
|
id = "mountpoint",
|
||||||
|
name = _("Mountpoint")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "capstring",
|
||||||
|
name = _("Capacity")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local actions_list = {
|
||||||
|
{
|
||||||
|
id = "ok",
|
||||||
|
name = _("Accept and Create"),
|
||||||
|
effect = function()
|
||||||
|
return step:next()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "cancel",
|
||||||
|
name = _("Return to %s", step:get_prev_name()),
|
||||||
|
accelerator = "ESC",
|
||||||
|
effect = function()
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if expert_mode then
|
||||||
|
table.insert(fields_list,
|
||||||
|
{
|
||||||
|
id = "softupdates",
|
||||||
|
name = _("Softupdates?"),
|
||||||
|
control = "checkbox"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
table.insert(fields_list,
|
||||||
|
{
|
||||||
|
id = "fsize",
|
||||||
|
name = _("Frag Size")
|
||||||
|
}
|
||||||
|
)
|
||||||
|
table.insert(fields_list,
|
||||||
|
{
|
||||||
|
id = "bsize",
|
||||||
|
name = _("Block Size")
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
table.insert(actions_list,
|
||||||
|
{
|
||||||
|
id = "switch",
|
||||||
|
name = _("Switch to Normal Mode"),
|
||||||
|
effect = function()
|
||||||
|
expert_mode = not expert_mode
|
||||||
|
return step
|
||||||
|
end
|
||||||
|
}
|
||||||
|
)
|
||||||
|
else
|
||||||
|
table.insert(actions_list,
|
||||||
|
{
|
||||||
|
id = "switch",
|
||||||
|
name = _("Switch to Expert Mode"),
|
||||||
|
effect = function()
|
||||||
|
expert_mode = not expert_mode
|
||||||
|
return step
|
||||||
|
end
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
fillout_missing_expert_values()
|
||||||
|
create_subpart_descriptors(App.state.sel_part, datasets_list)
|
||||||
|
return step:next()
|
||||||
|
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
-- $Id: 407_create_subparts.lua,v 1.3 2005/08/27 19:42:10 cpressey Exp $
|
||||||
|
|
||||||
|
return {
|
||||||
|
id = "create_subparts",
|
||||||
|
name = _("Create Subpartitions"),
|
||||||
|
req_state = { "sel_disk", "sel_part" },
|
||||||
|
interactive = false,
|
||||||
|
effect = function(step)
|
||||||
|
local cmds = CmdChain.new()
|
||||||
|
|
||||||
|
App.state.sel_part:cmds_disklabel(cmds)
|
||||||
|
App.state.sel_part:cmds_install_bootstrap(cmds)
|
||||||
|
App.state.sel_part:cmds_initialize_filesystems(cmds)
|
||||||
|
|
||||||
|
if not cmds:execute() then
|
||||||
|
App.ui:inform(_(
|
||||||
|
"The subpartitions you have chosen were " ..
|
||||||
|
"not correctly created, and the " ..
|
||||||
|
"primary partition may now be in an " ..
|
||||||
|
"inconsistent state. We recommend " ..
|
||||||
|
"re-formatting it before proceeding."
|
||||||
|
))
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
|
||||||
|
return step:next()
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
-- $Id: 420_preselect_packages.lua,v 1.8 2005/08/26 04:25:24 cpressey Exp $
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Select the initial or required packages to install.
|
||||||
|
--
|
||||||
|
|
||||||
|
return {
|
||||||
|
id = "preselect_packages",
|
||||||
|
name = _("Pre-select Packages"),
|
||||||
|
interactive = false,
|
||||||
|
req_state = { "source" },
|
||||||
|
effect = function(step)
|
||||||
|
--
|
||||||
|
-- If the user hasn't selected any packages yet, set them up with
|
||||||
|
-- the default packages.
|
||||||
|
--
|
||||||
|
if not App.state.sel_pkgs then
|
||||||
|
local def_pkgs = App.conf.default_packages or {}
|
||||||
|
local pkg, i, regexp
|
||||||
|
|
||||||
|
App.state.sel_pkgs = Package.Set.new()
|
||||||
|
for pkg in App.state.all_pkgs:each_pkg() do
|
||||||
|
for i, regexp in def_pkgs do
|
||||||
|
if string.find(pkg:get_name(), regexp) then
|
||||||
|
App.state.sel_pkgs:add(pkg)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return step:next()
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,279 @@
|
||||||
|
-- $Id: 500_install_os.lua,v 1.82 2006/07/27 21:47:52 sullrich Exp $
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Actually install the OS.
|
||||||
|
-- XXX this could probably be split up into further steps:
|
||||||
|
--
|
||||||
|
-- 2) activate swap
|
||||||
|
-- 3) create and mount the target system
|
||||||
|
-- 4) copy the files
|
||||||
|
-- 5) clean up
|
||||||
|
--
|
||||||
|
|
||||||
|
return {
|
||||||
|
id = "install_os",
|
||||||
|
name = _("Install OS"),
|
||||||
|
req_state = { "storage", "sel_disk", "sel_part", "sel_pkgs" },
|
||||||
|
effect = function(step)
|
||||||
|
local spd, cmds
|
||||||
|
|
||||||
|
--
|
||||||
|
-- If there is a target system mounted, unmount it before starting.
|
||||||
|
--
|
||||||
|
if App.state.target ~= nil and App.state.target:is_mounted() then
|
||||||
|
if not App.state.target:unmount() then
|
||||||
|
App.ui:inform(
|
||||||
|
_("Warning: already-mounted target system could " ..
|
||||||
|
"not be correctly unmounted first."))
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Create a command chain.
|
||||||
|
--
|
||||||
|
cmds = CmdChain.new()
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Activate swap, if there is none activated so far.
|
||||||
|
--
|
||||||
|
if App.state.storage:get_activated_swap():in_units("K") == 0 then
|
||||||
|
for spd in App.state.sel_part:get_subparts() do
|
||||||
|
if spd:get_fstype() == "swap" then
|
||||||
|
cmds:add{
|
||||||
|
cmdline = "${root}${SWAPON} ${root}dev/${dev}",
|
||||||
|
replacements = {
|
||||||
|
dev = spd:get_device_name()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Initialize the target system, create the mountpoint directories
|
||||||
|
-- configured for the selected partition (presumably set up by the
|
||||||
|
-- user,) and mount the appropriate subpartitions on them.
|
||||||
|
--
|
||||||
|
App.state.target = TargetSystem.new{
|
||||||
|
partition = App.state.sel_part,
|
||||||
|
base = "mnt"
|
||||||
|
}
|
||||||
|
if not App.state.target:create() then
|
||||||
|
App.ui:inform(
|
||||||
|
_("Could not create the skeletal target system.")
|
||||||
|
)
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
if not App.state.target:mount() then
|
||||||
|
App.ui:inform(
|
||||||
|
_("Could not mount the skeletal target system.")
|
||||||
|
)
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
cmds:set_replacements{
|
||||||
|
base = App.state.target:get_base(),
|
||||||
|
logfile = App.conf.log_filename,
|
||||||
|
devicename = App.state.sel_part:get_escaped_device_name(),
|
||||||
|
part = App.state.sel_part:get_device_name()
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Create the commands which will install the chosen directories
|
||||||
|
-- onto the target system.
|
||||||
|
--
|
||||||
|
App.state.target:cmds_install_srcs(cmds, App.conf.install_items)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Remove any databases that might have been copied over but
|
||||||
|
-- will no longer be accurate, e.g. the installed-package database.
|
||||||
|
--
|
||||||
|
cmds:add(
|
||||||
|
"${root}${RM} -rf ${root}${base}/var/db/pkg",
|
||||||
|
"${root}${MKDIR} -p ${root}${base}/var/db/pkg",
|
||||||
|
"${root}${CHMOD} 755 ${root}${base}/var/db/pkg"
|
||||||
|
)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Some directories may not have been copied to the HDD, but
|
||||||
|
-- may still be required/desired on a default install. For
|
||||||
|
-- example, we generally don't want to copy the entire
|
||||||
|
-- "local packages" hierarchy, because the user may not want
|
||||||
|
-- all those packages on their system. Instead, we can create
|
||||||
|
-- the heretofore uncopied directory trees using "mtree".
|
||||||
|
--
|
||||||
|
local mtree_dir, mtree_file
|
||||||
|
for mtree_dir, mtree_file in pairs(App.conf.mtrees_post_copy or {}) do
|
||||||
|
cmds:set_replacements{
|
||||||
|
mtree_dir = mtree_dir,
|
||||||
|
mtree_file = mtree_file
|
||||||
|
}
|
||||||
|
cmds:add(
|
||||||
|
"${root}${MKDIR} -p ${root}${base}${mtree_dir}",
|
||||||
|
{
|
||||||
|
cmdline = "${root}${MTREE} -deU -f ${root}${mtree_file} -p ${root}${base}${mtree_dir}",
|
||||||
|
log_mode = CmdChain.LOG_QUIET -- don't spam log
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Create symlinks to temporary directory.
|
||||||
|
--
|
||||||
|
|
||||||
|
local real_tmp_dir = "tmp"
|
||||||
|
|
||||||
|
if App.state.sel_part:get_subpart_by_mountpoint("/tmp") then
|
||||||
|
--
|
||||||
|
-- If the user has a /tmp subparition, regardless of whether
|
||||||
|
-- they also have a /var subpartition, we assume they would
|
||||||
|
-- like /var/tmp to be symlinked to /tmp.
|
||||||
|
--
|
||||||
|
cmds:add(
|
||||||
|
"${root}${RM} -rf ${root}${base}var/tmp",
|
||||||
|
"${root}${LN} -s /tmp ${root}${base}var/tmp"
|
||||||
|
)
|
||||||
|
else
|
||||||
|
--
|
||||||
|
-- If the user has no /tmp, but does have /var or /usr,
|
||||||
|
-- symlink /tmp to /var/tmp or /usr/tmp.
|
||||||
|
--
|
||||||
|
if App.state.sel_part:get_subpart_by_mountpoint("/var") then
|
||||||
|
real_tmp_dir = "var/tmp"
|
||||||
|
cmds:add(
|
||||||
|
"${root}${LN} -s /var/tmp ${root}${base}tmp"
|
||||||
|
)
|
||||||
|
elseif App.state.sel_part:get_subpart_by_mountpoint("/usr") then
|
||||||
|
real_tmp_dir = "usr/tmp"
|
||||||
|
cmds:add(
|
||||||
|
"${root}${LN} -s /usr/tmp ${root}${base}tmp"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- [Re]create the temporary directory in the desired place.
|
||||||
|
--
|
||||||
|
cmds:set_replacements{ real_tmp_dir = real_tmp_dir }
|
||||||
|
if not App.state.sel_part:get_subpart_by_mountpoint("/" .. real_tmp_dir) then
|
||||||
|
cmds:add(
|
||||||
|
"${root}${RM} -rf ${root}${base}${real_tmp_dir}",
|
||||||
|
"${root}${MKDIR} -p ${root}${base}${real_tmp_dir}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
cmds:add(
|
||||||
|
"${root}${CHMOD} 1777 ${root}${base}${real_tmp_dir}"
|
||||||
|
)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Create symlinks to home directory.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- If the user has no /home, but does have /usr or /var,
|
||||||
|
-- symlink /home to /usr/home or /var/home.
|
||||||
|
--
|
||||||
|
if not App.state.sel_part:get_subpart_by_mountpoint("/home") then
|
||||||
|
if App.state.sel_part:get_subpart_by_mountpoint("/usr") then
|
||||||
|
cmds:add(
|
||||||
|
"${root}${RM} -rf ${root}${base}/home",
|
||||||
|
"${root}${MKDIR} -p ${root}${base}/usr/home",
|
||||||
|
"${root}${LN} -s /usr/home ${root}${base}/home"
|
||||||
|
)
|
||||||
|
elseif App.state.sel_part:get_subpart_by_mountpoint("/var") then
|
||||||
|
cmds:add(
|
||||||
|
"${root}${RM} -rf ${root}${base}/home",
|
||||||
|
"${root}${MKDIR} -p ${root}${base}/var/home",
|
||||||
|
"${root}${LN} -s /var/home ${root}${base}/home"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Clean up unwanted/unneeded files.
|
||||||
|
-- Use 'rm -f' in case the file never existed in the first place.
|
||||||
|
--
|
||||||
|
local i, filename
|
||||||
|
for i, filename in ipairs(App.conf.cleanup_items or {}) do
|
||||||
|
cmds:add{
|
||||||
|
cmdline = "${root}${RM} -f ${root}${base}${filename}",
|
||||||
|
replacements = {
|
||||||
|
filename = filename
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Create missing directories.
|
||||||
|
--
|
||||||
|
cmds:add(
|
||||||
|
"${root}${MKDIR} -p ${root}${base}/mnt"
|
||||||
|
)
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Write the fstab.
|
||||||
|
--
|
||||||
|
App.state.target:cmds_write_fstab(cmds, {
|
||||||
|
extra_fs = App.state.extra_fs
|
||||||
|
})
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Install requested packages.
|
||||||
|
--
|
||||||
|
-- Note that we have to explicitly say what the temporary directory
|
||||||
|
-- will be, because the symlink (if any) won't be created yet.
|
||||||
|
--
|
||||||
|
local pkg_graph = App.state.sel_pkgs:to_graph(function(pkg)
|
||||||
|
return pkg:get_prerequisites(App.state.source)
|
||||||
|
end, true)
|
||||||
|
local pkg_list = pkg_graph:topological_sort()
|
||||||
|
pkg_list:cmds_install_all(cmds, App.state.target, {
|
||||||
|
tmp_dir = real_tmp_dir
|
||||||
|
})
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Backup the disklabel.
|
||||||
|
--
|
||||||
|
cmds:add{
|
||||||
|
"${root}${DISKLABEL} ${part} >${root}${base}/etc/disklabel.${devicename}"
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Finally, write the rc.conf modifications.
|
||||||
|
--
|
||||||
|
App.state.rc_conf:cmds_write(cmds,
|
||||||
|
cmds:expand("${root}${base}/etc/rc.conf"), "sh")
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Do it!
|
||||||
|
--
|
||||||
|
if cmds:execute() then
|
||||||
|
--
|
||||||
|
-- Success!
|
||||||
|
--
|
||||||
|
-- Put a copy of the log on the installed system.
|
||||||
|
-- It looks like it might be necessary to close the log
|
||||||
|
-- while copying it on some system, so we do that here.
|
||||||
|
--
|
||||||
|
App.close_log()
|
||||||
|
cmds = CmdChain.new()
|
||||||
|
cmds:set_replacements{
|
||||||
|
base = App.state.target:get_base(),
|
||||||
|
logfile = App.conf.log_filename
|
||||||
|
}
|
||||||
|
cmds:add(
|
||||||
|
"${root}${CP} ${tmp}${logfile} ${root}${base}/var/log/${logfile}",
|
||||||
|
"${root}${CHMOD} 600 ${root}${base}/var/log/${logfile}"
|
||||||
|
)
|
||||||
|
cmds:execute()
|
||||||
|
App.reopen_log()
|
||||||
|
|
||||||
|
return step:next()
|
||||||
|
else
|
||||||
|
App.ui:inform(
|
||||||
|
_("%s was not fully installed.", App.conf.product.name)
|
||||||
|
)
|
||||||
|
return step:prev()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue