From owner-freebsd-questions@FreeBSD.ORG Sat Nov 14 00:42:30 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BED6C1065672 for ; Sat, 14 Nov 2009 00:42:30 +0000 (UTC) (envelope-from the.real.david.allen@gmail.com) Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by mx1.freebsd.org (Postfix) with ESMTP id 92D998FC21 for ; Sat, 14 Nov 2009 00:42:30 +0000 (UTC) Received: by pwj15 with SMTP id 15so2515969pwj.3 for ; Fri, 13 Nov 2009 16:42:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=mN0rGZVkWrq7N3ALt5KQ5PS+/q7HQSM1wzuFlLPKwuw=; b=mYcoFUGwUw9PtXboF/NWkJkYjvxjTjk3kYa+OCVejQXLKrYLP3qlfHKGPDnXC6K/5F Lpq8TbNbQmfz0mZ0DNcWUn14YIAAC+3GQ7evBI7Tk0Mufkx3BL6L+9B+euc1R7/ShkiY 4w1+oBoyYaZ/uq3CxGTwJFZSgdqLfydxWiMts= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=ods90i23UHkQrzL1qI2kUdOHXqPmuFeSZ5OoZQg3SYLSnQNYD/ctQNNzZ9Svip08Yu DGnzyhMFX2U4VUi7glGjYhpkpP2jLYehldbBgKEKRGl12327sJun9+RoVomwUtMpY+Ng e1CA1B+afT669UoP4mFULsZ9RR9QuCLSDL670= MIME-Version: 1.0 Received: by 10.142.5.28 with SMTP id 28mr528422wfe.82.1258159350309; Fri, 13 Nov 2009 16:42:30 -0800 (PST) In-Reply-To: References: <474730.92984.qm@web65506.mail.ac4.yahoo.com> <2daa8b4e0911131448h3444444ag67ad05bbbf7df60@mail.gmail.com> <07E2B7F8-3B7B-4B1C-AE6E-B5219BEDE769@mac.com> <2daa8b4e0911131554g1e13bdbbh123f52fb2572d5a0@mail.gmail.com> Date: Fri, 13 Nov 2009 17:42:30 -0700 Message-ID: <2daa8b4e0911131642p4d5935d1vff9cac77a43610ea@mail.gmail.com> From: David Allen To: Chuck Swiger Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-questions@freebsd.org, James Phillips Subject: Re: APM X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Nov 2009 00:42:30 -0000 On 11/13/09, Chuck Swiger wrote: > Hi-- > > On Nov 13, 2009, at 3:54 PM, David Allen wrote: >>> I'd consider adding something to /etc/rc.d/mountcritlocal (which >>> normally mounts the local filesystems) to setup a RAMdisk on /var and >>> then do "rsync -a /var_template /var" (or use a dump/restore or tar >>> pipeline). >> >> At the risk of sounding obtuse while asking for more help, I can work >> out the rsync or dump part, but the rest I don't get. The >> mountcritremote essentially just does a mount -a -t ..., yes? To >> insert a few mdmfs commands followed by rsync commands, for example, >> would require re-writing most the script. Is there a better place to >> this? > > Quite possibly. I used NetBSD for a flash-based Soerkris boxes a > while back, rather than NanoBSD. It looks like reading /etc/ > rc.initdiskless might be informative. > >> The reason I ask is that some time ago I had a look at nanobsd which >> is designed to run on RO flash media. The /var and /tmp directories >> are created as memory devices that supposedly get re-populated from a >> /cfg directory at boot. > > Right... > >> The /usr/src/tools/tools/nanobsd/nanobsd.sh setup script has a >> function named setup_nanobsd_etc. Essentially, it writes out an >> /etc/fstab file and does a 'touch /etc/diskless'. Unless there's >> magic that happens behind the scenes with that /etc/diskless file, I >> don't see how anything gets re-populated. > > The existence of /etc/diskless means /etc/rc runs /etc/rc.initdiskless: Aaaargh! For those following along at home, that's /etc/rc.initdiskless and not /etc/rc.d/somethingdiskless > % grep diskless /etc/rc > dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` > if [ ${dlv:=0} -ne 0 -o -f /etc/diskless ]; then > sh /etc/rc.initdiskless > # Run these after determining whether we are booting diskless in order > # to minimize the number of files that are needed on a diskless system, The answer finally appears! A note to the OP. The only way I've found to keep a disk spun down under FreeBSD is using memory devices for both /var and /tmp. Disabling syslogd isn't enough, nor is modifying /etc/crontab, root's crontab (or even disabling cron) to limit disk access. But to use memory devices and have a "normal" system, you'll need to re-populate both /var and /tmp at startup. Which, it turns out, means starting with /etc/diskless. Someone should add a section named "Non-Diskless Diskless Operation" to the Handbook. Thanks again for all the help!