svn commit: r189122 - in
projects/vap7/tools/tools/nanobsd/gateworks: . Files
Files/root Files/usr Files/usr/local Files/usr/local/bin cfg cfg/ssh
Sam Leffler
sam at FreeBSD.org
Fri Feb 27 13:00:25 PST 2009
Author: sam
Date: Fri Feb 27 21:00:24 2009
New Revision: 189122
URL: http://svn.freebsd.org/changeset/base/189122
Log:
sample 2348 config
Added:
projects/vap7/tools/tools/nanobsd/gateworks/
projects/vap7/tools/tools/nanobsd/gateworks/Files/
projects/vap7/tools/tools/nanobsd/gateworks/Files/root/
projects/vap7/tools/tools/nanobsd/gateworks/Files/root/.profile
projects/vap7/tools/tools/nanobsd/gateworks/Files/usr/
projects/vap7/tools/tools/nanobsd/gateworks/Files/usr/local/
projects/vap7/tools/tools/nanobsd/gateworks/Files/usr/local/bin/
projects/vap7/tools/tools/nanobsd/gateworks/G2348
projects/vap7/tools/tools/nanobsd/gateworks/avila
projects/vap7/tools/tools/nanobsd/gateworks/cfg/
projects/vap7/tools/tools/nanobsd/gateworks/cfg/motd
projects/vap7/tools/tools/nanobsd/gateworks/cfg/rc.conf (contents, props changed)
projects/vap7/tools/tools/nanobsd/gateworks/cfg/ssh/
projects/vap7/tools/tools/nanobsd/gateworks/cfg/ssh/sshd_config
projects/vap7/tools/tools/nanobsd/gateworks/cfg/ttys
projects/vap7/tools/tools/nanobsd/gateworks/common
Added: projects/vap7/tools/tools/nanobsd/gateworks/Files/root/.profile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/vap7/tools/tools/nanobsd/gateworks/Files/root/.profile Fri Feb 27 21:00:24 2009 (r189122)
@@ -0,0 +1,15 @@
+# $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/games:/usr/local/sbin:/usr/local/bin:~/bin
+export PATH
+HOME=/root; export HOME
+TERM=${TERM:-cons25}; 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
Added: projects/vap7/tools/tools/nanobsd/gateworks/G2348
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/vap7/tools/tools/nanobsd/gateworks/G2348 Fri Feb 27 21:00:24 2009 (r189122)
@@ -0,0 +1,134 @@
+#
+# Gateworks Avila IXP425 XScale board
+# kernel configuration file for FreeBSD/arm
+#
+# $FreeBSD$
+
+machine arm
+ident G2348
+
+options PHYSADDR=0x10000000
+options KERNPHYSADDR=0x10200000
+options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm
+options FLASHADDR=0x50000000
+options LOADERRAMADDR=0x00000000
+
+options STARTUP_PAGETABLE_ADDR=0x10000000
+include "../xscale/ixp425/std.avila"
+options XSCALE_CACHE_READ_WRITE_ALLOCATE
+#options ARM_USE_SMALL_ALLOC
+hints "AVILA.hints"
+makeoptions MODULES_OVERRIDE="ath_tx99"
+
+# 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 NFSCLIENT #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 nexus
+device mem
+#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_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
+options ATH_SUPPORT_TDMA
+options ATH_DEBUG # enable athdebug msgs
+options ATH_DIAGAPI # enable api for athregs
+#options ATH_TX99_DIAG # enable ath_tx99 hooks
+device ath_rate_sample # SampleRate tx rate control for ath
+
+#device ath_hal # Atheros HAL
+#options AH_SUPPORT_AR5416
+device ath_ar5212
+device ath_rf5413 # used by all high-power cards
+options AH_DEBUG
+options AH_ASSERT
+
+#device crypto
+#device cryptodev
+#device hifn # NB: Soekris minipci card known to work
+
+device usb
+options USB_DEBUG
+device ohci
+device ehci
+device ugen
+device umass
+device scbus # SCSI bus (required for SCSI)
+device da # Direct Access (disks)
Added: projects/vap7/tools/tools/nanobsd/gateworks/avila
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/vap7/tools/tools/nanobsd/gateworks/avila Fri Feb 27 21:00:24 2009 (r189122)
@@ -0,0 +1,8 @@
+NANO_NAME="avila-vap7"
+NANO_SRC=`pwd | sed 's/.tools.tools.nanobsd.*//'`
+NANO_KERNEL="G2348"
+
+NANO_IMAGES=2
+FlashDevice Sandisk 512
+
+. common
Added: projects/vap7/tools/tools/nanobsd/gateworks/cfg/motd
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/vap7/tools/tools/nanobsd/gateworks/cfg/motd Fri Feb 27 21:00:24 2009 (r189122)
@@ -0,0 +1 @@
+FreeBSD 7.1-PRERELEASE (G2348) #1: Fri Sep 26 14:37:41 PDT 2008
Added: projects/vap7/tools/tools/nanobsd/gateworks/cfg/rc.conf
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/vap7/tools/tools/nanobsd/gateworks/cfg/rc.conf Fri Feb 27 21:00:24 2009 (r189122)
@@ -0,0 +1,24 @@
+#!/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
Added: projects/vap7/tools/tools/nanobsd/gateworks/cfg/ssh/sshd_config
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/vap7/tools/tools/nanobsd/gateworks/cfg/ssh/sshd_config Fri Feb 27 21:00:24 2009 (r189122)
@@ -0,0 +1,126 @@
+# $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
Added: projects/vap7/tools/tools/nanobsd/gateworks/cfg/ttys
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/vap7/tools/tools/nanobsd/gateworks/cfg/ttys Fri Feb 27 21:00:24 2009 (r189122)
@@ -0,0 +1,309 @@
+#
+# $FreeBSD: head/etc/etc.arm/ttys 188535 2009-02-12 19:21:48Z ed $
+# @(#)ttys 5.1 (Berkeley) 4/17/89
+#
+# This file specifies various information about terminals on the system.
+# It is used by several different programs. Common entries for the
+# various columns include:
+#
+# name The name of the terminal device.
+#
+# getty The program to start running on the terminal. Typically a
+# getty program, as the name implies. Other common entries
+# include none, when no getty is needed, and xdm, to start the
+# X Window System.
+#
+# type The initial terminal type for this port. For hardwired
+# terminal lines, this will contain the type of terminal used.
+# For virtual consoles, the correct type is typically cons25, but
+# vt220 will work better if you need interoperability with other
+# systems like Solaris or GNU/Linux.
+# Other common values include network for network connections on
+# pseudo-terminals, dialup for incoming modem ports, and unknown
+# when the terminal type cannot be predetermined.
+#
+# status Must be on or off. If on, init will run the getty program on
+# the specified port. If the word "secure" appears, this tty
+# allows root login.
+#
+# name getty type status comments
+#
+# If console is marked "insecure", then init will ask for the root password
+# when going to single-user mode.
+console none unknown off secure
+#
+ttyv0 "/usr/libexec/getty Pc" cons25 off secure
+# Virtual terminals
+ttyv1 "/usr/libexec/getty Pc" cons25 off secure
+ttyv2 "/usr/libexec/getty Pc" cons25 off secure
+ttyv3 "/usr/libexec/getty Pc" cons25 off secure
+ttyv4 "/usr/libexec/getty Pc" cons25 off secure
+ttyv5 "/usr/libexec/getty Pc" cons25 off secure
+ttyv6 "/usr/libexec/getty Pc" cons25 off secure
+ttyv7 "/usr/libexec/getty Pc" cons25 off secure
+#ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
+# Serial terminals
+# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
+ttyu0 "/usr/libexec/getty std.9600" vt100 on secure
+ttyu1 "/usr/libexec/getty std.9600" dialup off secure
+ttyu2 "/usr/libexec/getty std.9600" dialup off secure
+ttyu3 "/usr/libexec/getty std.9600" dialup off secure
+# Dumb console
+dcons "/usr/libexec/getty std.9600" vt100 off secure
+# Pseudo terminals
+ttyp0 none network
+ttyp1 none network
+ttyp2 none network
+ttyp3 none network
+ttyp4 none network
+ttyp5 none network
+ttyp6 none network
+ttyp7 none network
+ttyp8 none network
+ttyp9 none network
+ttypa none network
+ttypb none network
+ttypc none network
+ttypd none network
+ttype none network
+ttypf none network
+ttypg none network
+ttyph none network
+ttypi none network
+ttypj none network
+ttypk none network
+ttypl none network
+ttypm none network
+ttypn none network
+ttypo none network
+ttypp none network
+ttypq none network
+ttypr none network
+ttyps none network
+ttypt none network
+ttypu none network
+ttypv none network
+ttyq0 none network
+ttyq1 none network
+ttyq2 none network
+ttyq3 none network
+ttyq4 none network
+ttyq5 none network
+ttyq6 none network
+ttyq7 none network
+ttyq8 none network
+ttyq9 none network
+ttyqa none network
+ttyqb none network
+ttyqc none network
+ttyqd none network
+ttyqe none network
+ttyqf none network
+ttyqg none network
+ttyqh none network
+ttyqi none network
+ttyqj none network
+ttyqk none network
+ttyql none network
+ttyqm none network
+ttyqn none network
+ttyqo none network
+ttyqp none network
+ttyqq none network
+ttyqr none network
+ttyqs none network
+ttyqt none network
+ttyqu none network
+ttyqv none network
+ttyr0 none network
+ttyr1 none network
+ttyr2 none network
+ttyr3 none network
+ttyr4 none network
+ttyr5 none network
+ttyr6 none network
+ttyr7 none network
+ttyr8 none network
+ttyr9 none network
+ttyra none network
+ttyrb none network
+ttyrc none network
+ttyrd none network
+ttyre none network
+ttyrf none network
+ttyrg none network
+ttyrh none network
+ttyri none network
+ttyrj none network
+ttyrk none network
+ttyrl none network
+ttyrm none network
+ttyrn none network
+ttyro none network
+ttyrp none network
+ttyrq none network
+ttyrr none network
+ttyrs none network
+ttyrt none network
+ttyru none network
+ttyrv none network
+ttys0 none network
+ttys1 none network
+ttys2 none network
+ttys3 none network
+ttys4 none network
+ttys5 none network
+ttys6 none network
+ttys7 none network
+ttys8 none network
+ttys9 none network
+ttysa none network
+ttysb none network
+ttysc none network
+ttysd none network
+ttyse none network
+ttysf none network
+ttysg none network
+ttysh none network
+ttysi none network
+ttysj none network
+ttysk none network
+ttysl none network
+ttysm none network
+ttysn none network
+ttyso none network
+ttysp none network
+ttysq none network
+ttysr none network
+ttyss none network
+ttyst none network
+ttysu none network
+ttysv none network
+ttyP0 none network
+ttyP1 none network
+ttyP2 none network
+ttyP3 none network
+ttyP4 none network
+ttyP5 none network
+ttyP6 none network
+ttyP7 none network
+ttyP8 none network
+ttyP9 none network
+ttyPa none network
+ttyPb none network
+ttyPc none network
+ttyPd none network
+ttyPe none network
+ttyPf none network
+ttyPg none network
+ttyPh none network
+ttyPi none network
+ttyPj none network
+ttyPk none network
+ttyPl none network
+ttyPm none network
+ttyPn none network
+ttyPo none network
+ttyPp none network
+ttyPq none network
+ttyPr none network
+ttyPs none network
+ttyPt none network
+ttyPu none network
+ttyPv none network
+ttyQ0 none network
+ttyQ1 none network
+ttyQ2 none network
+ttyQ3 none network
+ttyQ4 none network
+ttyQ5 none network
+ttyQ6 none network
+ttyQ7 none network
+ttyQ8 none network
+ttyQ9 none network
+ttyQa none network
+ttyQb none network
+ttyQc none network
+ttyQd none network
+ttyQe none network
+ttyQf none network
+ttyQg none network
+ttyQh none network
+ttyQi none network
+ttyQj none network
+ttyQk none network
+ttyQl none network
+ttyQm none network
+ttyQn none network
+ttyQo none network
+ttyQp none network
+ttyQq none network
+ttyQr none network
+ttyQs none network
+ttyQt none network
+ttyQu none network
+ttyQv none network
+ttyR0 none network
+ttyR1 none network
+ttyR2 none network
+ttyR3 none network
+ttyR4 none network
+ttyR5 none network
+ttyR6 none network
+ttyR7 none network
+ttyR8 none network
+ttyR9 none network
+ttyRa none network
+ttyRb none network
+ttyRc none network
+ttyRd none network
+ttyRe none network
+ttyRf none network
+ttyRg none network
+ttyRh none network
+ttyRi none network
+ttyRj none network
+ttyRk none network
+ttyRl none network
+ttyRm none network
+ttyRn none network
+ttyRo none network
+ttyRp none network
+ttyRq none network
+ttyRr none network
+ttyRs none network
+ttyRt none network
+ttyRu none network
+ttyRv none network
+ttyS0 none network
+ttyS1 none network
+ttyS2 none network
+ttyS3 none network
+ttyS4 none network
+ttyS5 none network
+ttyS6 none network
+ttyS7 none network
+ttyS8 none network
+ttyS9 none network
+ttySa none network
+ttySb none network
+ttySc none network
+ttySd none network
+ttySe none network
+ttySf none network
+ttySg none network
+ttySh none network
+ttySi none network
+ttySj none network
+ttySk none network
+ttySl none network
+ttySm none network
+ttySn none network
+ttySo none network
+ttySp none network
+ttySq none network
+ttySr none network
+ttySs none network
+ttySt none network
+ttySu none network
+ttySv none network
Added: projects/vap7/tools/tools/nanobsd/gateworks/common
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/vap7/tools/tools/nanobsd/gateworks/common Fri Feb 27 21:00:24 2009 (r189122)
@@ -0,0 +1,344 @@
+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=arm
+TARGET_CPUTYPE=xscale; export TARGET_CPUTYPE # XXX
+TARGET_BIG_ENDIAN=true; export TARGET_BIG_ENDIAN # 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} \
+ 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"
+
+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_ACPI=true
+WITHOUT_ATM=true
+WITHOUT_AUDIT=true
+WITHOUT_BIND_DNSSEC=true
+WITHOUT_BIND_ETC=true
+WITHOUT_BIND_LIBS_LWRES=true
+WITHOUT_BLUETOOTH=true
+WITHOUT_CALENDAR=true
+WITHOUT_CDDL=true
+WITHOUT_CVS=true
+WITHOUT_DICT=true
+WITHOUT_EXAMPLES=true
+WITHOUT_FORTRAN=true
+WITHOUT_GAMES=true
+WITHOUT_GCOV=true
+WITHOUT_GPIB=true
+WITHOUT_HTML=true
+WITHOUT_I4B=true
+WITHOUT_INET6=true
+WITHOUT_INFO=true
+WITHOUT_IPFILTER=true
+WITHOUT_IPX=true
+WITHOUT_KERBEROS=true
+WITHOUT_LIBKSE=true
+WITHOUT_LOCALES=true
+WITHOUT_LPR=true
+WITHOUT_MAN=true
+WITHOUT_NETCAT=true
+WITHOUT_NIS=true
+WITHOUT_NLS=true
+WITHOUT_NS_CACHING=true
+WITHOUT_OBJC=true
+WITHOUT_PROFILE=true
+WITHOUT_RCMDS=true
+WITHOUT_RCS=true
+WITHOUT_RESCUE=true
+WITHOUT_SENDMAIL=true
+WITHOUT_SHAREDOCS=true
+WITHOUT_SSP=true
+WITHOUT_SYSCONS=true
+WITHOUT_TCSH=true
+"
+CONF_INSTALL="$CONF_BUILD
+WITHOUT_TOOLCHAIN=true
+WITHOUT_INSTALLLIB=true
+"
+
+# NB: override to suppress install of kernel.symbols
+install_kernel()
+{
+ pprint 2 "install kernel"
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.ik"
+
+ cd ${NANO_SRC}
+ env TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} installkernel \
+ INSTALL_NODEBUG=true \
+ DESTDIR=${NANO_WORLDDIR} \
+ __MAKE_CONF=${NANO_MAKE_CONF} KERNCONF=`basename ${NANO_KERNEL}` \
+ > ${MAKEOBJDIRPREFIX}/_.ik 2>&1
+}
+
+# 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
+}
More information about the svn-src-projects
mailing list