From owner-freebsd-embedded@FreeBSD.ORG Wed Oct 17 15:19:55 2012 Return-Path: Delivered-To: freebsd-embedded@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 35DE47AD for ; Wed, 17 Oct 2012 15:19:55 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from duck.symmetricom.us (duck.symmetricom.us [206.168.13.214]) by mx1.freebsd.org (Postfix) with ESMTP id 85E1E8FC1A for ; Wed, 17 Oct 2012 15:19:54 +0000 (UTC) Received: from damnhippie.dyndns.org (daffy.symmetricom.us [206.168.13.218]) by duck.symmetricom.us (8.14.5/8.14.5) with ESMTP id q9HFJrg8025084 for ; Wed, 17 Oct 2012 09:19:53 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q9HFJpWa090004; Wed, 17 Oct 2012 09:19:51 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) Subject: Re: some problems with nanobsd From: Ian Lepore To: Paul Schenkeveld In-Reply-To: <20121017144719.GA94848@psconsult.nl> References: <1350471464.96400.YahooMailNeo@web126006.mail.ne1.yahoo.com> <507E9077.6000207@farrokhi.net> <1350474085.65221.YahooMailNeo@web126004.mail.ne1.yahoo.com> <1350474956.88226.YahooMailNeo@web126001.mail.ne1.yahoo.com> <1350484097.1123.207.camel@revolution.hippie.lan> <20121017144719.GA94848@psconsult.nl> Content-Type: text/plain; charset="us-ascii" Date: Wed, 17 Oct 2012 09:19:51 -0600 Message-ID: <1350487191.1123.216.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: freebsd-embedded@freebsd.org X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Oct 2012 15:19:55 -0000 On Wed, 2012-10-17 at 16:47 +0200, Paul Schenkeveld wrote: > On Wed, Oct 17, 2012 at 08:28:17AM -0600, Ian Lepore wrote: > > The other thing we do is specify an explicit list of directories to > > visit and run 'make install' during the installworld; this lets us > > control things that have no WITHOUT knobs. I don't know if nanobsd > > allows that level of customization (we don't use it to build products). > > What mechnism (variable?) do you use to control that list of directories? > I'm on dangerous ground here... if I demonstrate too much knowledge of our crazy-complex build system, suddenly I'm going to find that I'm the new buildmeister. :) But, it didn't take me too long to find where we do this stuff... We have a variable that contains a list of dirs under build-chroot/usr/src and in our script that populates the image we have this loop: for i in ${FreeBSDProgramDirs}; do echo "==> $i" (cd $i && eval env ${mkenv} ${mkcmd} INSTALL=install \ NOINSTALLLIB=yes NO_INSTALLLIB=yes install) done So I gather we never do a full installworld at all, we just run that loop instead. Here's our basic list; we add to this list for some products, others need just this stuff. FREEBSDMIN+= \ bin/cat \ bin/chflags \ bin/chmod \ bin/cp \ bin/csh \ bin/date \ bin/dd \ bin/df \ bin/echo \ bin/expr \ bin/hostname \ bin/kenv \ bin/kill \ bin/ln \ bin/ls \ bin/mkdir \ bin/mv \ bin/pkill \ bin/ps \ bin/pwait \ bin/pwd \ bin/rcp \ bin/realpath \ bin/rm \ bin/rmdir \ bin/sh \ bin/sleep \ bin/stty \ bin/sync \ bin/test \ gnu/lib/libgcc \ gnu/lib/libstdc++ \ lib/libarchive \ lib/libbsm \ lib/libbz2 \ lib/libc \ lib/libcrypt \ lib/libdevstat \ lib/libedit \ lib/libelf \ lib/libexpat \ lib/libgeom \ lib/libipsec \ lib/libipx \ lib/libjail \ lib/libkvm \ lib/liblzma \ lib/libmd \ lib/libmemstat \ lib/libmp \ lib/libnetgraph \ lib/libpam \ lib/libpam/modules \ lib/libpcap \ lib/libradius \ lib/librt \ lib/libsbuf \ lib/libtacplus \ lib/libthr \ lib/libthread_db \ lib/libufs \ lib/libusb \ lib/libutil \ lib/libwrap \ lib/libypclnt \ lib/libz \ lib/libopie \ lib/msun \ lib/ncurses/ncurses \ libexec/ftpd \ libexec/getty \ libexec/rlogind \ libexec/rshd \ libexec/rtld-elf \ libexec/telnetd \ sbin/adjkerntz \ sbin/devd \ sbin/devfs \ sbin/dhclient \ sbin/dmesg \ sbin/dumpon \ sbin/fsck \ sbin/fsck_ffs \ sbin/geom \ sbin/ifconfig \ sbin/init \ sbin/ipfw \ sbin/kldload \ sbin/kldstat \ sbin/kldunload \ sbin/ldconfig \ sbin/md5 \ sbin/mdconfig \ sbin/mdmfs \ sbin/mknod \ sbin/mount \ sbin/mount_nullfs \ sbin/mount_nfs \ sbin/newfs \ sbin/ping \ sbin/rcorder \ sbin/reboot \ sbin/route \ sbin/savecore \ sbin/swapon \ sbin/sysctl \ sbin/umount \ secure/lib/libcrypto \ secure/lib/libssh \ secure/libexec/sftp-server \ secure/usr.bin/scp \ secure/usr.bin/ssh-add \ secure/usr.bin/ssh-agent \ secure/usr.bin/ssh-keygen \ secure/usr.bin/ssh \ secure/usr.sbin/sshd \ share/termcap \ sys/boot \ usr.bin/awk \ usr.bin/basename \ usr.bin/bzip2 \ usr.bin/dirname \ usr.bin/du \ usr.bin/env \ usr.bin/ftp \ usr.bin/find \ usr.bin/fstat \ usr.bin/grep \ usr.bin/gzip \ usr.bin/head \ usr.bin/hexdump \ usr.bin/id \ usr.bin/jot \ usr.bin/killall \ usr.bin/ldd \ usr.bin/less \ usr.bin/logger \ usr.bin/login \ usr.bin/mktemp \ usr.bin/nc \ usr.bin/nice \ usr.bin/netstat \ usr.bin/procstat \ usr.bin/rsh \ usr.bin/rlogin \ usr.bin/script \ usr.bin/sed \ usr.bin/sort \ usr.bin/sockstat \ usr.bin/stat \ usr.bin/su \ usr.bin/tail \ usr.bin/tar \ usr.bin/telnet \ usr.bin/tip \ usr.bin/top \ usr.bin/touch \ usr.bin/tr \ usr.bin/tty \ usr.bin/uname \ usr.bin/vi \ usr.bin/wc \ usr.bin/xargs \ usr.bin/xz \ usr.bin/xzdec \ usr.sbin/arp \ usr.sbin/chown \ usr.sbin/cron \ usr.sbin/daemon \ usr.sbin/gstat \ usr.sbin/inetd \ usr.sbin/mtree \ usr.sbin/newsyslog \ usr.sbin/nologin \ usr.sbin/ntp/ntpd \ usr.sbin/ntp/ntpdate \ usr.sbin/ntp/ntpq \ usr.sbin/kbdcontrol \ usr.sbin/pciconf \ usr.sbin/pstat \ usr.sbin/pwd_mkdb \ usr.sbin/service \ usr.sbin/syslogd \ usr.sbin/tcpdump \ usr.sbin/traceroute \ usr.sbin/usbconfig \ usr.sbin/vidcontrol \ usr.sbin/vipw \ usr.sbin/watchdogd -- Ian