Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jan 2005 12:19:14 +0100
From:      Daniel Johansson <donnex@donnex.net>
To:        bsdaemon@comcast.net
Cc:        freebsd-questions@freebsd.org
Subject:   re: re: make: don't know how to make when trying to make world for a jail
Message-ID:  <20050124111913.GB28665@donnex.net>

next in thread | raw e-mail | index | archive | help
I was running a small script I wrote to set up a jail. I've used it before and
it works. It does just the same thing that the manpage for jail tells you to
do.

make_jail.sh:
#!/bin/sh

D=$1 &&
cd /usr/src &&
mkdir -p $D &&
make world DESTDIR=$D &&
cd etc &&
make distribution DESTDIR=$D &&
mount_devfs devfs $D/dev &&
cd $D &&
ln -sf dev/null kernel


Then I just run that script with ./make_jail.sh
/usr/jail/jail.henrikssons.net.

I get the exact same output if I run make world
DESTDIR=/usr/jail/jail.henrikssons.net manually or with any other path.

make.conf:
# $FreeBSD: src/share/examples/etc/make.conf,v 1.218 2003/09/24 04:19:26 gshapiro Exp $
#
# NOTE:  Please would any committer updating this file also update the
# make.conf(5) manual page, if necessary, which is located in
# src/share/man/man5/make.conf.5.
#
# /etc/make.conf, if present, will be read by make (see
# /usr/share/mk/sys.mk).  It allows you to override macro definitions
# to make without changing your source tree, or anything the source
# tree installs.
#
# This file must be in valid Makefile syntax.
#
# There are additional things you can put into /etc/make.conf.
# You have to find those in the Makefiles and documentation of
# the source tree.
#
#
# The CPUTYPE variable controls which processor should be targeted for
# generated code.  This controls processor-specific optimizations in
# certain code (currently only OpenSSL) as well as modifying the value
# of CFLAGS to contain the appropriate optimization directive to gcc.
# The automatic setting of CFLAGS may be overridden using the
# NO_CPU_CFLAGS variable below.
# Currently the following CPU types are recognized:
#   Intel x86 architecture:
#       (AMD CPUs)	athlon-mp athlon-xp athlon-4 athlon-tbird athlon k6-3
#			k6-2 k6 k5
#       (Intel CPUs)	p4 p3 p2 i686 i586/mmx i586 i486 i386
#   Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4
#   Intel ia64 architecture: itanium
#
# (?= allows to buildworld for a different CPUTYPE.)
#
CPUTYPE=p3
#NO_CPU_CFLAGS=	true	# Don't add -march=<cpu> to CFLAGS automatically
#NO_CPU_COPTFLAGS=true	# Don't add -march=<cpu> to COPTFLAGS automatically
#
# CFLAGS controls the compiler settings used when compiling C code.
# Note that optimization settings above -O (-O2, ...) are not recommended
# or supported for compiling the world or the kernel - please revert any
# nonstandard optimization settings to "-O" before submitting bug reports
# to the developers.
# Note also that at this time the -O2 setting is known to produce BROKEN
# CODE on the Alpha platform.
#
CFLAGS= -O -pipe
#
# CXXFLAGS controls the compiler settings used when compiling C++ code.
# Note that CXXFLAGS is initially set to the value of CFLAGS.  If you wish
# to add to CXXFLAGS value, "+=" must be used rather than "=".  Using "="
# alone will remove the often needed contents of CFLAGS from CXXFLAGS.
#
#CXXFLAGS+= -fmemoize-lookups -fsave-memoized
#
# MAKE_SHELL controls the shell used internally by make(1) to process the
# command scripts in makefiles.  Three shells are supported, sh, ksh, and
# csh.  Using sh is most common, and advised.  Using ksh *may* work, but is
# not guaranteed to.  Using csh is absurd.  The default is to use sh.
#
#MAKE_SHELL?=sh
#
# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
# for use in developing FreeBSD and testing changes.  They can be used by
# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf.  -Wconversion is not
# included here due to compiler bugs, e.g., mkdir()'s mode_t argument.
#
#BDECFLAGS=	-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
#		-Wcast-qual -Wchar-subscripts -Winline \
#		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
#		-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
#
# To compile just the kernel with special optimizations, you should use
# this instead of CFLAGS (which is not applicable to kernel builds anyway).
# There is very little to gain by using higher optimization levels, and doing
# so can cause problems.
#
COPTFLAGS= -O -pipe
#
# To build the system compiler such that it forces high optimization levels to
# a lower one.  GCC -O2+ is known to trigger known optimizer bugs at various
# times -- this is worse on the Alpha platform.  The value assigned here will
# be the highest optimization value used.
#WANT_FORCE_OPTIMIZATION_DOWNGRADE=1
#
# Compare before install
#INSTALL=install -C
#
# Mtree will follow symlinks
#MTREE_FOLLOWS_SYMLINKS= -L
#
# To build ppp with normal permissions
#PPP_NOSUID=	true
#
# To enable installing ssh(1) with the setuid bit turned on
#ENABLE_SUID_SSH=	true
#
# To enable installing newgrp(1) with the setuid bit turned on.
# Without the setuid bit, newgrp cannot change users' groups.
#ENABLE_SUID_NEWGRP=	true
#
# To avoid building various parts of the base system:
#NO_CVS=	true	# do not build CVS
#NO_CXX=	true	# do not build C++ and friends
NO_BIND=	true	# do not build BIND
NO_FORTRAN=	true	# do not build g77 and related libraries
#NO_GDB=	true	# do not build GDB
#NO_I4B=	true	# do not build isdn4bsd package
NO_IPFILTER=	true	# do not build IP Filter package
NO_KERBEROS=	true	# do not build and install Kerberos 5 (KTH Heimdal)
#NO_LPR=	true	# do not build lpr and related programs
#NO_MAILWRAPPER=true	# do not build the mailwrapper(8) MTA selector
#NO_MODULES=	true	# do not build modules with the kernel
#NO_OBJC=	true	# do not build Objective C support
NO_OPENSSH=	true	# do not build OpenSSH
#NO_OPENSSL=	true	# do not build OpenSSL (implies NO_KERBEROS and
#			  NO_OPENSSH)
NO_SENDMAIL=	true	# do not build sendmail and related programs
#NO_SHAREDOCS=	true	# do not build the 4.4BSD legacy docs
#NO_TCSH=	true	# do not build and install /bin/csh (which is tcsh)
NO_X=		true	# do not compile in XWindows support (e.g. doscmd)
#NOCRYPT=	true	# do not build any crypto code
#NOGAMES=	true	# do not build games (games/ subdir)
#NOINFO=	true	# do not make or install info files
#NOLIBC_R=	true	# do not build libc_r (re-entrant version of libc)
#NOMAN=		true	# do not build manual pages
#NOPROFILE=	true	# Avoid compiling profiled libraries
#NOSHARE=	true	# do not go into the share subdir
#
# To build sys/modules when building the world (our old way of doing things)
#MODULES_WITH_WORLD=true	# do not build modules when building kernel
#
# The list of modules to build instead of all of them.
#MODULES_OVERRIDE=	linux ipfw
#
# If you always want to build the Linux ext2fs kernel module.
#WANT_EXT2FS_MODULE=yes
#
# The following controls building optional IDEA code in libcrypto and
# certain ports.  Patents are involved - you must not use this unless
# you either have a license or fall within patent 'fair use'
# provisions.
#
# *** It is YOUR RESPONSIBILITY to determine if you can use this! ***
#
# IDEA is patented in the USA and many European countries - thought to
# be OK to use for any non-commercial use.  This is optional.
#MAKE_IDEA=	YES	# IDEA (128 bit symmetric encryption)
#
# If you do not want unformatted manual pages to be compressed
# when they are installed:
#
#NOMANCOMPRESS=	true
#
#
# If you want the "compat" shared libraries installed as part of your normal
# builds, uncomment these:
#
#COMPAT1X=	yes
#COMPAT20=	yes
#COMPAT21=	yes
#COMPAT22=	yes
#COMPAT3X=	yes
#COMPAT4X=	yes
#
#
# Default format for system documentation, depends on your printer.
# Set this to "ascii" for simple printers or screen
#
#PRINTERDEVICE=	ps
#
#
# How long to wait for a console keypress before booting the default kernel.
# This value is approximately in milliseconds. Keypresses are accepted by the
# BIOS before booting from disk, making it possible to give custom boot
# parameters even when this is set to 0.
#
#BOOTWAIT=0
#BOOTWAIT=30000
#
# By default, the system will always use the keyboard/video card as system
# console.  However, the boot blocks may be dynamically configured to use a
# serial port in addition to or instead of the keyboard/video console.
#
# By default we use COM1 as our serial console port *if* we're going to use
# a serial port as our console at all.  Alter as necessary.
#
#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
#
#BOOT_COMCONSOLE_PORT=	0x3F8
#
# The default serial console speed is 9600.  Set the speed to a larger value
# for better interactive response.
#
#BOOT_COMCONSOLE_SPEED=	115200
#
# By default the 'pxeboot' loader retrieves the kernel via NFS.  Defining
# this and recompiling /usr/src/sys/boot will cause it to retrieve the kernel
# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
# still mount the server's '/' (i.e. rather than load the server's kernel).
#
#LOADER_TFTP_SUPPORT= YES
#
#
# Kerberos 5 su (k5su)
# If you want to use the k5su utility, define this to have it installed
# set-user-ID.
#ENABLE_SUID_K5SU=	yes
#
#
# Kerberos5
# If you want to install MIT Kerberos5 port somewhere other than /usr/local,
# define this (this is also used to tell ssh1 that kerberos is needed):
#
#KRB5_HOME=		/usr/local
#
#
# CVSup update flags.  Edit SUPFILE settings to reflect whichever distribution
# file(s) you use on your site (see /usr/share/examples/cvsup/README for more
# information on CVSup and these files).  To use, do "make update" in /usr/src.
#
SUP_UPDATE=     yes
#
SUP=            /usr/local/bin/cvsup
SUPFLAGS=       -g -L 2
SUPHOST=        cvsup3.se.FreeBSD.org
SUPFILE=        /usr/local/etc/cvsup/src-supfile
PORTSSUPFILE=   /usr/local/etc/cvsup/ports-supfile
#DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile
KERNCONF=ford
#
# top(1) uses a hash table for the user names.  The size of this hash
# can be tuned to match the number of local users.  The table size should
# be a prime number approximately twice as large as the number of lines in
# /etc/passwd.  The default number is 20011.
#
#TOP_TABLE_SIZE= 101
#
# Documentation
#
# The list of languages and encodings to build and install
#
#DOC_LANG=	en_US.ISO8859-1 ru_RU.KOI8-R
#
#
# sendmail
#
# The following sets the default m4 configuration file to use at
# install time.  Use with caution as a make install will overwrite
# any existing /etc/mail/sendmail.cf.  Note that SENDMAIL_CF is now
# deprecated.  The value should be a fully qualified path name.
#
#SENDMAIL_MC=/etc/mail/myconfig.mc
#
# The following sets the default m4 configuration file for mail
# submission to use at install time.  Use with caution as a make
# install will overwrite any existing /etc/mail/submit.cf.  The
# value should be a fully qualified path name.
#
#SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
#
# If you need to build additional .cf files during a make buildworld,
# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
#
#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
#
# The following overrides the default location for the m4 configuration
# files used to build a .cf file from a .mc file.
#
#SENDMAIL_CF_DIR=/usr/local/share/sendmail/cf
#
# Setting the following variable modifies the flags passed to m4 when
# building a .cf file from a .mc file.  It can be used to enable
# features disabled by default.
#
#SENDMAIL_M4_FLAGS=
#
# Setting the following variables modifies the build environment for
# sendmail and its related utilities. For example, SASL support can be
# added with settings such as:
#
#    with SASLv1:
#	SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
#	SENDMAIL_LDFLAGS=-L/usr/local/lib
#	SENDMAIL_LDADD=-lsasl
#
#    with SASLv2:
#	SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
#	SENDMAIL_LDFLAGS=-L/usr/local/lib
#	SENDMAIL_LDADD=-lsasl2
#
# Note: If you are using Cyrus SASL with other applications which require
#	access to the sasldb file, you should add the following to your
#	sendmail.mc file:
#
#	define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')
#
#SENDMAIL_CFLAGS=
#SENDMAIL_LDFLAGS=
#SENDMAIL_LDADD=
#SENDMAIL_DPADD=
#
# Setting SENDMAIL_SET_USER_ID will install the sendmail binary as a
# set-user-ID root binary instead of a set-group-ID smmsp binary and will
# prevent the installation of /etc/mail/submit.cf.
# This is a deprecated mode of operation.  See etc/mail/README for more
# information.
#
#SENDMAIL_SET_USER_ID=
#
# The permissions to use on alias and map databases generated using
# /etc/mail/Makefile.  Defaults to 0640.
#
#SENDMAIL_MAP_PERMS=

NO_X=1
WITHOUT_X=1
WITHOUT_X11=1
WITHOUT_GUI=1

# -- use.perl generated deltas -- #
# Created: Fri Sep 17 22:32:50 2004
# Setting to use base perl from ports:
PERL_VER=5.6.1
PERL_VERSION=5.6.1
PERL_ARCH=mach
NOPERL=yo
NO_PERL=yo
NO_PERL_WRAPPER=yo

-- 
Daniel Johansson - <donnex@donnex.net>



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