Remove gateworks nanobsd support.

A quick test of this shows multiple problems. Rather than fix the
problems, just retire this board's support. It's for a 12 year old
board that's been out of production for at least 7 years and generally
lacks the memory to run even a stripped down NanoBSD image well. It's
not really relevant anymore.
This commit is contained in:
Warner Losh 2018-07-09 18:02:35 +00:00
parent 405111fde0
commit f12495bbfa
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=336136
12 changed files with 0 additions and 911 deletions

View File

@ -528,10 +528,6 @@ std_amd64 ( ) {
std_arm ( ) {
}
std_armeb ( ) {
NANO_ENDIAN=big
}
std_armv6 ( ) {
}

View File

@ -1,15 +0,0 @@
# $FreeBSD: src/etc/root/dot.profile,v 1.21 2007/05/29 06:33:10 dougb Exp $
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:~/bin
export PATH
HOME=/root; export HOME
TERM=${TERM:-xterm}; export TERM
PAGER=more; export PAGER
#set -o vi
set -o emacs
if [ `id -u` = 0 ]; then
PS1="`hostname -s`# "
else
PS1="`hostname -s`% "
fi

View File

@ -1,54 +0,0 @@
#!/bin/sh
#
# Copyright (c) 2004-2005 Poul-Henning Kamp.
# 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$
#
# Script to update partition 1 on a NanoBSD system.
#
# usage:
# ssh somewhere cat image.s1 | sh updatep1
#
set -e
. /etc/nanobsd.conf
if mount | grep ${NANO_DRIVE}s1 > /dev/null ; then
echo "You are running partition 1 already"
echo "you probably want to use 'updatep2' instead"
exit 1
fi
# Blow away old system.
dd if=/dev/zero of=/dev/${NANO_DRIVE}s1 bs=1m count=1 > /dev/null 2>&1
# Copy in new system
dd of=/dev/${NANO_DRIVE}s1 obs=64k
# Check that it worked
fsck_ffs -n /dev/${NANO_DRIVE}s1
gpart set -a active -i 1 ${NANO_DRIVE}

View File

@ -1,62 +0,0 @@
#!/bin/sh
#
# Copyright (c) 2004-2005 Poul-Henning Kamp.
# 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$
#
# Script to update partition 2 on a NanoBSD system.
#
# usage:
# ssh somewhere cat image.s1 | sh updatep2
#
set -e
. /etc/nanobsd.conf
if mount | grep ${NANO_DRIVE}s2 > /dev/null ; then
echo "You are running partition 2 already"
echo "you probably want to use 'updatep1' instead"
exit 1
fi
# Blow away old system.
dd if=/dev/zero of=/dev/${NANO_DRIVE}s2 bs=1m count=1 > /dev/null 2>&1
# Copy in new system
dd of=/dev/${NANO_DRIVE}s2 obs=64k
# Check that it worked
fsck_ffs -n /dev/${NANO_DRIVE}s2
# Update the /etc/fstab
trap "umount /mnt" 1 2 15 EXIT
mount /dev/${NANO_DRIVE}s2 /mnt
sed -i "" "s/${NANO_DRIVE}s1/${NANO_DRIVE}s2/" /mnt/conf/base/etc/fstab
sed -i "" "s/${NANO_DRIVE}s1/${NANO_DRIVE}s2/" /mnt/etc/fstab
umount /mnt
trap 1 2 15 EXIT
gpart set -a active -i 2 ${NANO_DRIVE}

View File

@ -1,119 +0,0 @@
#
# Gateworks Avila IXP425 XScale board
# kernel configuration file for FreeBSD/arm
#
# $FreeBSD$
machine arm
ident G2348
include "../xscale/ixp425/std.ixp425"
include "../xscale/ixp425/std.avila"
options XSCALE_CACHE_READ_WRITE_ALLOCATE
#options ARM_USE_SMALL_ALLOC
hints "AVILA.hints"
makeoptions MODULES_OVERRIDE=""
# NB: patched by boot2 to reflect boot/root partition
options ROOTDEVNAME=\"ufs:ad0s1\"
makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
makeoptions CONF_CFLAGS=-mcpu=xscale
options HZ=100
#options DEVICE_POLLING
# Debugging for use in -current
options KDB
options DDB #Enable the kernel debugger
#options INVARIANTS #Enable calls of extra sanity checking
#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS
#options WITNESS #Enable checks to detect deadlocks and cycles
#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed
#options DIAGNOSTIC
options SCHED_4BSD #4BSD scheduler
options PREEMPTION
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 NFSCL #Network Filesystem Client
options NFSLOCKD #Network Lock Manager
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 VERBOSE_SYSINIT
#device saarm
device pci
device uart
# I2C support
device iicbus
device iicbb
device iic
device ixpiic
device ds1672 # DS1672 on ipxiic
device ad7418 # AD7418 on ipxiic
device ixpwdog # watchdog timer
device avila_led
device cfi # flash support
#options CFI_SUPPORT_STRATAFLASH
device ata
device atadisk # ATA disk drives
device avila_ata # Gateworks CF/IDE support
device npe # Network Processing Engine
device npe_fw
device firmware
device qmgr # Q Manager (required by npe)
device mii # NB: required by npe
device ether
device bpf
device pty
device loop
device if_bridge
device md
device random # Entropy device
# Wireless NIC cards
device wlan # 802.11 support
options IEEE80211_DEBUG # enable debugging msgs
options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
options IEEE80211_SUPPORT_MESH
options IEEE80211_SUPPORT_TDMA
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
device ath # Atheros pci/cardbus NIC's
device ath_rate_sample # SampleRate tx rate control for ath
options ATH_DEBUG # enable athdebug msgs
options ATH_DIAGAPI # enable api for athregs
device ath_hal # Atheros HAL (includes binary component)
options AH_DEBUG
#options AH_ASSERT
options AH_SUPPORT_AR5416
device usb
#options USB_DEBUG
device ohci
device ehci
device umass
device scbus # SCSI bus (required for SCSI)
device da # Direct Access (disks)

View File

@ -1,130 +0,0 @@
#
# Gateworks Cambria IXP435 XScale board
# kernel configuration file for FreeBSD/arm
#
# $FreeBSD$
machine arm
ident G2358
include "../xscale/ixp425/std.ixp435"
include "../xscale/ixp425/std.avila"
options XSCALE_CACHE_READ_WRITE_ALLOCATE
#options ARM_USE_SMALL_ALLOC
hints "CAMBRIA.hints"
makeoptions MODULES_OVERRIDE=""
# NB: patched by boot2 to reflect boot/root partition
options ROOTDEVNAME=\"ufs:ad0s1\"
makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
makeoptions CONF_CFLAGS=-mcpu=xscale
options HZ=100
#options DEVICE_POLLING
# Debugging for use in -current
options KDB
options DDB #Enable the kernel debugger
#options INVARIANTS #Enable calls of extra sanity checking
#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS
#options WITNESS #Enable checks to detect deadlocks and cycles
#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed
#options DIAGNOSTIC
options SCHED_4BSD #4BSD scheduler
options PREEMPTION
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 NFSCL #New Network Filesystem Client
options NFSLOCKD #Network Lock Manager
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 VERBOSE_SYSINIT
#device saarm
device pci
device uart
# I2C support
device iicbus
device iicbb
device iic
device ixpiic
device ds1672 # DS1672 on ipxiic
device ad7418 # AD7418 on ipxiic
device ixpwdog # watchdog timer
device cambria_fled # front panel led
device cambria_led # octal led latch
device ata
device atadisk # ATA disk drives
device avila_ata # Gateworks CF/IDE support
device cfi # flash support
#options CFI_SUPPORT_STRATAFLASH
device npe # Network Processing Engine
device npe_fw
device firmware
device qmgr # Q Manager (required by npe)
device mii # NB: required by npe
device ether
device bpf
device pty
device loop
device if_bridge
device md
device random # Entropy device
# Wireless NIC cards
device wlan # 802.11 support
options IEEE80211_DEBUG # enable debugging msgs
options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
options IEEE80211_SUPPORT_MESH
options IEEE80211_SUPPORT_TDMA
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
device ath # Atheros pci/cardbus NIC's
device ath_rate_sample # SampleRate tx rate control for ath
options ATH_DEBUG # enable athdebug msgs
options ATH_DIAGAPI # enable api for athregs
device ath_hal # Atheros HAL (includes binary component)
options AH_DEBUG
#options AH_ASSERT
options AH_SUPPORT_AR5416
#device crypto
#device cryptodev
#device hifn # NB: Soekris minipci card known to work
# NB: 2 USB 2.0 ports standard
device usb
options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order
#options USB_DEBUG
device ehci
device umass
device scbus # SCSI bus (required for SCSI)
device da # Direct Access (disks)
#device ural
#device zyd
#device wlan_amrr
device axe

View File

@ -1,10 +0,0 @@
# $FreeBSD$
NANO_NAME="avila-HEAD"
NANO_SRC=`pwd | sed 's/.tools.tools.nanobsd.*//'`
NANO_KERNEL="G2348"
NANO_IMAGES=2
FlashDevice Sandisk 512
. common

View File

@ -1,10 +0,0 @@
# $FreeBSD$
NANO_NAME="cambria-HEAD"
NANO_SRC=`pwd | sed 's/.tools.tools.nanobsd.*//'`
NANO_KERNEL="G2358"
NANO_IMAGES=1
FlashDevice Sandisk 64
. common

View File

@ -1 +0,0 @@
FreeBSD 7.1-PRERELEASE (G2348) #1: Fri Sep 26 14:37:41 PDT 2008

View File

@ -1,24 +0,0 @@
#!/bin/sh
hostname="avila"
ifconfig_npe0="DHCP"
background_dhclient_npe0="YES" # Start dhcp client in the background.
#ifconfig_npe1="DHCP"
background_dhclient_npe1="YES" # Start dhcp client in the background.
wlans_ath0="wlan0"
sshd_enable="YES"
nfs_client_enable="YES"
sendmail_enable="NO" # Run the sendmail inbound daemon (YES/NO).
sendmail_submit_enable="NO" # Start a localhost-only MTA for mail submission
sendmail_outbound_enable="NO" # Dequeue stuck mail (YES/NO).
sendmail_msp_queue_enable="NO" # Dequeue stuck clientmqueue mail (YES/NO).
dumpdev="NO" # Device to crashdump to (device name, AUTO, or NO).
background_fsck="NO"
harvest_interrupt="NO" # Entropy device harvests interrupt randomness
harvest_ethernet="NO" # Entropy device harvests ethernet randomness
harvest_p_to_p="NO" # Entropy device harvests point-to-point randomness

View File

@ -1,126 +0,0 @@
# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
# $FreeBSD: src/crypto/openssh/sshd_config,v 1.48 2008/08/01 02:48:36 des Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
# Note that some of FreeBSD's defaults differ from OpenBSD's, and
# FreeBSD has a few additional options.
#VersionAddendum FreeBSD-20080801
#Port 22
#Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# Change to yes to enable built-in password authentication.
PasswordAuthentication yes
PermitEmptyPasswords yes
# Change to no to disable PAM authentication
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
# Set this to 'no' to disable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
#UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no
#ChrootDirectory none
# no default banner path
#Banner none
# override default of no subsystems
Subsystem sftp /usr/libexec/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server

View File

@ -1,356 +0,0 @@
# $FreeBSD$
NANO_CFGDIR=${NANO_CFGDIR:-${NANO_SRC}/${NANO_TOOLS}/gateworks/cfg}
test -d ${NANO_CFGDIR} || NANO_CFGDIR=/var/empty
NANO_PMAKE="make" # NB: disable -j 3
NANO_ARCH=armeb
TARGET_CPUTYPE=xscale; export TARGET_CPUTYPE # XXX
NANO_CUSTOMIZE="cust_allow_ssh_root"
clean_usr_local()
{
LOCAL_DIR=${NANO_WORLDDIR}/usr/local
pprint 2 "Clean and create world directory (${LOCAL_DIR})"
if rm -rf ${LOCAL_DIR}/ > /dev/null 2>&1 ; then
true
else
chflags -R noschg ${LOCAL_DIR}/
rm -rf ${LOCAL_DIR}/
fi
for f in bin etc lib libdata libexec sbin share; do
mkdir -p ${LOCAL_DIR}/$f
done
}
NANO_CUSTOMIZE="$NANO_CUSTOMIZE clean_usr_local"
cust_install_machine_files()
{
echo "cd ${NANO_TOOLS}/gateworks/Files"
cd ${NANO_TOOLS}/gateworks/Files
find . -print | grep -Ev '/(CVS|\.svn)' | cpio -dumpv ${NANO_WORLDDIR}
}
NANO_CUSTOMIZE="$NANO_CUSTOMIZE cust_install_files cust_install_machine_files"
buildenv()
{
cd ${NANO_SRC}
env TARGET_ARCH=${NANO_ARCH} __MAKE_CONF=${NANO_MAKE_CONF_BUILD} \
DESTDIR=${NANO_WORLDDIR} make buildenv
}
net80211_tools()
{
for f in wlanstats wlanwds wlanwatch; do
echo "(cd tools/tools/net80211/$f; make $1)";
done | buildenv
}
net80211_clean_tools()
{
net80211_tools "clean"
}
net80211_build_tools()
{
net80211_tools ""
}
net80211_install_tools()
{
net80211_tools "install"
}
NANO_CUSTOMIZE="$NANO_CUSTOMIZE net80211_clean_tools"
NANO_CUSTOMIZE="$NANO_CUSTOMIZE net80211_build_tools"
NANO_CUSTOMIZE="$NANO_CUSTOMIZE net80211_install_tools"
ath_clean_tools()
{
echo "cd tools/tools/ath; make clean" | buildenv
}
ath_build_tools()
{
echo "cd tools/tools/ath; make" | buildenv
}
ath_install_tools()
{
echo "cd tools/tools/ath; make install" | buildenv
}
NANO_CUSTOMIZE="$NANO_CUSTOMIZE ath_clean_tools"
NANO_CUSTOMIZE="$NANO_CUSTOMIZE ath_build_tools"
NANO_CUSTOMIZE="$NANO_CUSTOMIZE ath_install_tools"
npe_clean_tools()
{
echo "cd tools/tools/npe; make clean" | buildenv
}
npe_build_tools()
{
echo "cd tools/tools/npe; make" | buildenv
}
npe_install_tools()
{
echo "cd tools/tools/npe; make install" | buildenv
}
NANO_CUSTOMIZE="$NANO_CUSTOMIZE npe_clean_tools"
NANO_CUSTOMIZE="$NANO_CUSTOMIZE npe_build_tools"
NANO_CUSTOMIZE="$NANO_CUSTOMIZE npe_install_tools"
NANO_MAKEFS="makefs -B big \
-o bsize=4096,fsize=512,density=8192,optimization=space"
export NANO_MAKEFS
# NB: leave c++ enabled so devd can be built
CONF_BUILD="
WITHOUT_ACCT=true
WITHOUT_ACPI=true
WITHOUT_APM=true
WITHOUT_ATM=true
WITHOUT_AUDIT=true
WITHOUT_BIND_DNSSEC=true
WITHOUT_BIND_ETC=true
WITHOUT_BIND_LIBS_LWRES=true
WITHOUT_BLUETOOTH=true
WITHOUT_BSNMP=true
WITHOUT_CALENDAR=true
WITHOUT_CDDL=true
WITHOUT_CTM=true
WITHOUT_DICT=true
WITHOUT_EXAMPLES=true
WITHOUT_FLOPPY=true
WITHOUT_FORTRAN=true
WITHOUT_GAMES=true
WITHOUT_GCOV=true
WITHOUT_GPIB=true
WITHOUT_GROFF=true
WITHOUT_HTML=true
WITHOUT_INET6=true
WITHOUT_INFO=true
WITHOUT_IPFILTER=true
WITHOUT_KERBEROS=true
WITHOUT_LOCALES=true
WITHOUT_LPR=true
WITHOUT_MAN=true
WITHOUT_MAIL=true
WITHOUT_MAILWRAPPER=true
WITHOUT_NETCAT=true
WITHOUT_NIS=true
WITHOUT_NLS=true
WITHOUT_NS_CACHING=true
WITHOUT_OBJC=true
WITHOUT_PMC=true
WITHOUT_PORTSNAP=true
WITHOUT_PROFILE=true
WITHOUT_QUOTAS=true
WITHOUT_RCS=true
WITHOUT_RESCUE=true
WITHOUT_SENDMAIL=true
WITHOUT_SHAREDOCS=true
WITHOUT_SSP=true
WITHOUT_SYSCONS=true
WITHOUT_TCSH=true
WITHOUT_TFTPD=true
WITHOUT_ZFS=true
"
CONF_INSTALL="$CONF_BUILD
WITHOUT_TOOLCHAIN=true
WITHOUT_INSTALLLIB=true
INSTALL_NODEBUG=true
"
# NB: override to force / on s1 instead of s1a
setup_nanobsd_etc()
{
pprint 2 "configure nanobsd /etc"
(
cd ${NANO_WORLDDIR}
# create diskless marker file
touch etc/diskless
# Make root filesystem R/O by default
echo "root_rw_mount=NO" >> etc/defaults/rc.conf
# save config file for scripts
echo "NANO_DRIVE=${NANO_DRIVE}" > etc/nanobsd.conf
echo "/dev/${NANO_DRIVE}s1 / ufs ro 1 1" > etc/fstab
echo "/dev/${NANO_DRIVE}s3 /cfg ufs rw,noauto 2 2" >> etc/fstab
mkdir -p cfg
)
}
create_arm_diskimage()
{
pprint 2 "build diskimage"
pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.di"
(
echo "NANO_MEDIASIZE: $NANO_MEDIASIZE"
echo "NANO_IMAGES: $NANO_IMAGES"
echo "NANO_SECTS: $NANO_SECTS"
echo "NANO_HEADS: $NANO_HEADS"
echo "NANO_CODESIZE: $NANO_CODESIZE"
echo "NANO_CONFSIZE: $NANO_CONFSIZE"
echo "NANO_DATASIZE: $NANO_DATASIZE"
echo $NANO_MEDIASIZE $NANO_IMAGES \
$NANO_SECTS $NANO_HEADS \
$NANO_CODESIZE $NANO_CONFSIZE $NANO_DATASIZE |
awk '
{
printf "# %s\n", $0
# size of cylinder in sectors
cs = $3 * $4
# number of full cylinders on media
cyl = int ($1 / cs)
# output fdisk geometry spec, truncate cyls to 1023
if (cyl <= 1023)
print "g c" cyl " h" $4 " s" $3
else
print "g c" 1023 " h" $4 " s" $3
if ($7 > 0) {
# size of data partition in full cylinders
dsl = int (($7 + cs - 1) / cs)
} else {
dsl = 0;
}
# size of config partition in full cylinders
csl = int (($6 + cs - 1) / cs)
if ($5 == 0) {
# size of image partition(s) in full cylinders
isl = int ((cyl - dsl - csl) / $2)
} else {
isl = int (($5 + cs - 1) / cs)
}
# First image partition start at second track
print "p 1 165 " $3, isl * cs - $3
c = isl * cs;
# Second image partition (if any) also starts offset one
# track to keep them identical.
if ($2 > 1) {
print "p 2 165 " $3 + c, isl * cs - $3
c += isl * cs;
}
# Config partition starts at cylinder boundary.
print "p 3 165 " c, csl * cs
c += csl * cs
# Data partition (if any) starts at cylinder boundary.
if ($7 > 0) {
print "p 4 165 " c, dsl * cs
} else if ($7 < 0 && $1 > c) {
print "p 4 165 " c, $1 - c
} else if ($1 < c) {
print "Disk space overcommitted by", \
c - $1, "sectors" > "/dev/stderr"
exit 2
}
# Force slice 1 to be marked active. This is necessary
# for booting the image from a USB device to work.
print "a 1"
}
' > ${MAKEOBJDIRPREFIX}/_.fdisk
IMG=${NANO_DISKIMGDIR}/${NANO_IMGNAME}
BS=${NANO_SECTS}b
if [ "${NANO_MD_BACKING}" = "swap" ] ; then
MD=`mdconfig -a -t swap -s ${NANO_MEDIASIZE} -x ${NANO_SECTS} \
-y ${NANO_HEADS}`
else
echo ""; echo "Creating md backing file ${IMG} ..."
_c=`expr ${NANO_MEDIASIZE} / ${NANO_SECTS}`
pprint 2 "dd if=/dev/zero of=${IMG} bs=${BS} count=${_c}"
dd if=/dev/zero of=${IMG} bs=${BS} count=${_c}
pprint 2 "mdconfig -a -t vnode -f ${IMG} -x ${NANO_SECTS} -y ${NANO_HEADS}"
MD=`mdconfig -a -t vnode -f ${IMG} -x ${NANO_SECTS} \
-y ${NANO_HEADS}`
fi
trap "mdconfig -d -u $MD" 1 2 15 EXIT
echo ""; echo "Write partition table ..."
FDISK=${MAKEOBJDIRPREFIX}/_.fdisk
pprint 2 "fdisk -i -f ${FDISK} ${MD}"
fdisk -i -f ${FDISK} ${MD}
pprint 2 "fdisk ${MD}"
fdisk ${MD}
# Create first image
IMG1=${NANO_DISKIMGDIR}/_.disk.image1
echo ""; echo "Create first image ${IMG1} ..."
SIZE=`awk '/^p 1/ { print $5 "b" }' ${FDISK}`
pprint 2 "${NANO_MAKEFS} -s ${SIZE} ${IMG1} ${NANO_WORLDDIR}"
${NANO_MAKEFS} -s ${SIZE} ${IMG1} ${NANO_WORLDDIR}
pprint 2 "dd if=${IMG1} of=/dev/${MD}s1 bs=${BS}"
dd if=${IMG1} of=/dev/${MD}s1 bs=${BS}
if [ $NANO_IMAGES -gt 1 -a $NANO_INIT_IMG2 -gt 0 ] ; then
IMG2=${NANO_DISKIMGDIR}/_.disk.image2
echo ""; echo "Create second image ${IMG2}..."
for f in ${NANO_WORLDDIR}/etc/fstab ${NANO_WORLDDIR}/conf/base/etc/fstab
do
sed -i "" "s/${NANO_DRIVE}s1/${NANO_DRIVE}s2/g" $f
done
SIZE=`awk '/^p 2/ { print $5 "b" }' ${FDISK}`
pprint 2 "${NANO_MAKEFS} -s ${SIZE} ${IMG2} ${NANO_WORLDDIR}"
${NANO_MAKEFS} -s ${SIZE} ${IMG2} ${NANO_WORLDDIR}
pprint 2 "dd if=${IMG2} of=/dev/${MD}s2 bs=${BS}"
dd if=${IMG2} of=/dev/${MD}s2 bs=${BS}
fi
# Create Config slice
CFG=${NANO_DISKIMGDIR}/_.disk.cfg
echo ""; echo "Creating config partition ${CFG}..."
SIZE=`awk '/^p 3/ { print $5 "b" }' ${FDISK}`
# XXX: fill from where ?
pprint 2 "${NANO_MAKEFS} -s ${SIZE} ${CFG} ${NANO_CFGDIR}"
${NANO_MAKEFS} -s ${SIZE} ${CFG} ${NANO_CFGDIR}
pprint 2 "dd if=${CFG} of=/dev/${MD}s3 bs=${BS}"
dd if=${CFG} of=/dev/${MD}s3 bs=${BS}
pprint 2 "rm ${CFG}"
rm ${CFG}; CFG= # NB: disable printing below
# Create Data slice, if any.
if [ $NANO_DATASIZE -gt 0 ] ; then
DATA=${NANO_DISKIMGDIR}/_.disk.data
echo ""; echo "Creating data partition ${DATA}..."
SIZE=`awk '/^p 4/ { print $5 "b" }' ${FDISK}`
# XXX: fill from where ?
pprint 2 "${NANO_MAKEFS} -s ${SIZE} ${DATA} /var/empty"
${NANO_MAKEFS} -s ${SIZE} ${DATA} /var/empty
pprint 2 "dd if=${DATA} of=/dev/${MD}s4 bs=${BS}"
dd if=${DATA} of=/dev/${MD}s4 bs=${BS}
pprint 2 "rm ${DATA}"
rm ${DATA}; DATA= # NB: disable printing below
fi
if [ "${NANO_MD_BACKING}" = "swap" ] ; then
echo "Writing out _.disk.full..."
dd if=/dev/${MD} of=${IMG} bs=${BS}
fi
echo ""
echo "Completed images in:"
echo ""
echo "Full disk: ${IMG}"
echo "Primary partition: ${IMG1}"
test "${IMG2}" && echo "2ndary partition: ${IMG2}"
test "${CFG}" && echo "/cfg partition: ${CFG}"
test "${DATA}" && echo "/data partition: ${DATA}"
echo ""
echo "Use dd if=<file> of=/dev/<somewhere> bs=${BS} to transfer an"
echo "image to bootable media /dev/<somewhere>."
) > ${MAKEOBJDIRPREFIX}/_.di 2>&1
}