Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Oct 2012 09:19:51 -0600
From:      Ian Lepore <freebsd@damnhippie.dyndns.org>
To:        Paul Schenkeveld <freebsd@psconsult.nl>
Cc:        freebsd-embedded@freebsd.org
Subject:   Re: some problems with nanobsd
Message-ID:  <1350487191.1123.216.camel@revolution.hippie.lan>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1350487191.1123.216.camel>