remove unused "package" entry.
default to use devfs (we do that anyways) Many small changes in comments
This commit is contained in:
parent
ff1fdd77ff
commit
babec003ec
@ -3,17 +3,17 @@
|
||||
# $FreeBSD$
|
||||
# This file requires sysutils/makefs to run
|
||||
#
|
||||
# The new PicoBSD build script. Invoked as
|
||||
# The PicoBSD build script. Invoked as
|
||||
#
|
||||
# picobsd [options] floppy_type site_name
|
||||
# picobsd [options] image_type [site_name]
|
||||
#
|
||||
# Where floppy_type is a directory where the picobsd config info
|
||||
# is held, and ${floppy_type}/floppy.tree.${site_name} contains
|
||||
# Where image_type is a directory with the picobsd config info,
|
||||
# and ${image_type}/floppy.tree.${site_name} contains
|
||||
# optional site-specific configuration.
|
||||
#
|
||||
# For Options, see the bottom of the file where the processing is
|
||||
# done. The picobsd(8) manpage might be of some help, but code and docs
|
||||
# tend to lose sync over time...
|
||||
# tend to lose sync over time.
|
||||
#
|
||||
# This script depends on the following files:
|
||||
#
|
||||
@ -33,36 +33,42 @@
|
||||
# floppy.tree/ local additions to ${PICO_TREE}/mfs_free
|
||||
# floppy.tree.${site}/ same as above, site specific.
|
||||
# mfs_tree/ local additions to the mfs_free
|
||||
# buildtree.mk optional makefile to build an extension for floppy tree
|
||||
# buildtree.mk optional Makefile to build an extension for floppy tree
|
||||
# (generated in buildtree/ )
|
||||
|
||||
#
|
||||
#--- The main entry point is at the end.
|
||||
#
|
||||
|
||||
# There are two set of initialization. The first one (set_defaults)
|
||||
# is done on entry to the script, and is used to set default values
|
||||
# for all variables which do not depend on floppy type and source tree.
|
||||
# There are two initialization functions:
|
||||
#
|
||||
# The second set is done after command line parsing, e.g.
|
||||
# to resolve dependencies on the source tree.
|
||||
# + set_defaults
|
||||
# is run on entry to the script, and is used to set default values
|
||||
# for all variables that do not depend on image type and source tree.
|
||||
#
|
||||
# Naming:
|
||||
# + set_build_parameters
|
||||
# is run after command line parsing
|
||||
#
|
||||
# VARIABLE NAMES:
|
||||
# + variables that control operation (e.g. verbosity) and are generally
|
||||
# set from the command line have o_ ("option") as a name prefix
|
||||
#
|
||||
# + variables which contain pathnames and values that should not change
|
||||
# + variables that contain pathnames and values that should not change
|
||||
# have c_ ("constant") as a name prefix
|
||||
#
|
||||
# + variables exported to Makefiles and subshells are CAPITAL
|
||||
#
|
||||
# + variables local to the script are lowercase, possibly with
|
||||
# an l_ ("local") prefix
|
||||
# an l_ ("local") prefix.
|
||||
#
|
||||
# There are unfortunately exceptions:
|
||||
# name, l_usrtree, l_objtree
|
||||
|
||||
# SRC points to your FreeBSD source tree.
|
||||
# l_usrtree points to the /usr subdir for the source tree.
|
||||
# Normally /usr or ${SRC}/../usr
|
||||
# l_objtree points to the obj tree. Normally ${l_usrtree}/obj-pico
|
||||
# c_label is either bsdlabel or disklabel
|
||||
# PICO_TREE is where standard picobsd stuff resides.
|
||||
# Normally ${SRC}/release/picobsd
|
||||
# You can set SRC with --src <directory>
|
||||
@ -71,28 +77,27 @@
|
||||
# MY_TREE (set later) is where this floppy type resides.
|
||||
# BUILDDIR is the build directory
|
||||
|
||||
# set some default values for variables.
|
||||
# needs to be done as the first thing in the script.
|
||||
|
||||
# log something on stdout if verbose.
|
||||
o_verbose=0 # this needs to be here!
|
||||
log() {
|
||||
log() { # message
|
||||
local foo
|
||||
[ ${o_verbose} -gt 0 ] && printf "\n*** %s\n" "$*"
|
||||
[ ${o_verbose} -gt 1 ] && read -p "=== Press enter to continue" foo
|
||||
return 0
|
||||
}
|
||||
|
||||
logverbose() {
|
||||
# unconditionally log and wait for input
|
||||
logverbose() { # message
|
||||
local foo
|
||||
printf "\n*** %s\n" "$*"
|
||||
read -p "=== Press enter to continue" foo
|
||||
return 0
|
||||
}
|
||||
|
||||
set_defaults() {
|
||||
# no way to use logging in this function, variable not set yet.
|
||||
# set some default values for variables.
|
||||
# needs to be done as the first thing in the script.
|
||||
|
||||
set_defaults() { # no arguments
|
||||
# EDITOR is the editor you use
|
||||
# fd_size floppy size in KB (default to 1440). You can use 1480,
|
||||
# 1720, 2880, etc. but beware that only 1440 and 1480 will boot
|
||||
@ -101,15 +106,20 @@ set_defaults() {
|
||||
fd_size=${fd_size:-1440}
|
||||
|
||||
o_use_loader="yes" # use /boot/loader
|
||||
o_all_in_mfs="yes" # put all files in mfs so you can boot and run
|
||||
# the image via diskless boot.
|
||||
o_clean="" # do not clean
|
||||
# You should not change it unless you are really short
|
||||
# of space, and your kernel is small enough that the
|
||||
# bootblocks manage to load it.
|
||||
|
||||
o_all_in_mfs="yes" # put all files in mfs so you can boot
|
||||
# and run the image via diskless boot.
|
||||
o_clean="" # set if you want to clean prev.builds.
|
||||
o_interactive="" # default is interactive
|
||||
o_verbose=0 # verbose level, 0 is silent
|
||||
o_tarv="" # tar verbose flag, "" or "v"
|
||||
o_init_src="" # non "" if we need to init libs and includes.
|
||||
o_init_src="" # set to build libs and includes.
|
||||
o_makeopts=${MAKEOPTS:--s} # make options, be silent by default
|
||||
o_no_devfs=yes # we do not want devfs
|
||||
o_no_devfs= # default is use devfs.
|
||||
# You should only set it when building 4.x images
|
||||
o_do_modules="" # do not build modules
|
||||
|
||||
SRC="/usr/src" # default location for sources
|
||||
@ -132,13 +142,13 @@ set_defaults() {
|
||||
c_img=picobsd.bin # filename used for the picobsd image
|
||||
generate_iso="NO" # don't generate the iso image
|
||||
|
||||
# select the right memory disk name
|
||||
# select the right disklabel program
|
||||
case `uname -r` in
|
||||
7.*|6.*|5.*)
|
||||
l_label="bsdlabel"
|
||||
4.*)
|
||||
c_label="disklabel"
|
||||
;;
|
||||
*)
|
||||
l_label="disklabel"
|
||||
c_label="bsdlabel"
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -173,7 +183,7 @@ create_includes_and_libraries() {
|
||||
|
||||
log "create_includes_and_libraries() for ${SRC}"
|
||||
# Optionally creates include directory and libraries.
|
||||
mkdir -p ${l_usrtree}/include # the include directory...
|
||||
mkdir -p ${l_usrtree}/include # the include directory...
|
||||
mkdir -p ${l_usrtree}/share/misc # a few things go here
|
||||
mkdir -p ${l_usrtree}/lib # libraries
|
||||
mkdir -p ${l_usrtree}/sbin # some binaries
|
||||
@ -210,11 +220,12 @@ create_includes_and_libraries() {
|
||||
log "Libraries done"
|
||||
}
|
||||
|
||||
# set_type <type> looks in user or system directories for the floppy type
|
||||
# specified as first argument, and sets variables according to the config.
|
||||
# file. Also sets MY_TREE and BUILDDIR and SITE
|
||||
# set_type <the_type> [the_site] looks in user or system directories
|
||||
# for the directory named as the first argument, reads the configuration
|
||||
# files and sets variables according to the config.
|
||||
# Also sets MY_TREE and BUILDDIR and SITE
|
||||
|
||||
set_type() {
|
||||
set_type() { # the_type the_site
|
||||
local a i
|
||||
|
||||
log "set_type() : Type '$1' site '$2'"
|
||||
@ -312,27 +323,6 @@ build_image() {
|
||||
fill_floppy_image # copies everything into the floppy
|
||||
}
|
||||
|
||||
build_package() {
|
||||
local z msg
|
||||
|
||||
log "build_package()"
|
||||
rm -rf build.status
|
||||
echo "##############################################" >>build.status
|
||||
echo "## `date` ">>build.status
|
||||
echo "##############################################" >>build.status
|
||||
for z in bridge dial router net isp ; do
|
||||
set_type ${z}
|
||||
echo "---------------------------------------------">>build.status
|
||||
echo "Building TYPE=${z}, SIZE=${MFS_SIZE}" >>build.status
|
||||
msg="(ok)" # error message
|
||||
build_image || msg="** FAILED! **"
|
||||
echo " ${msg}">>build.status
|
||||
# where do i put things ?
|
||||
# clean_tree
|
||||
done
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Set build parameters interactively
|
||||
|
||||
main_dialog() {
|
||||
@ -664,6 +654,7 @@ populate_mfs_tree() {
|
||||
if [ -n "${copy_files}" ] ; then
|
||||
do_copyfiles ${dst} copy_files
|
||||
fi
|
||||
do_copyfiles_user ${dst} || true
|
||||
|
||||
# The 'import_files' mechanism is deprecated, as it requires
|
||||
# root permissions to follow the symlinks, and also does
|
||||
@ -829,22 +820,22 @@ fill_floppy_image() {
|
||||
(cd ${BUILDDIR}
|
||||
makefs -t ffs -o bsize=4096 -o fsize=512 \
|
||||
-s ${blocks}k -f 50 ${c_img} ${dst}
|
||||
# ${l_label} -f `pwd`/${c_img}
|
||||
${l_label} -w -f `pwd`/${c_img} auto # write in a label
|
||||
|
||||
${c_label} -w -f `pwd`/${c_img} auto # write in a label
|
||||
# copy partition c: into a: with some sed magic
|
||||
${l_label} -f `pwd`/${c_img} | sed -e '/ c:/{p;s/c:/a:/;}' | \
|
||||
${l_label} -R -f `pwd`/${c_img} /dev/stdin
|
||||
${l_label} -f `pwd`/${c_img}
|
||||
${c_label} -f `pwd`/${c_img} | sed -e '/ c:/{p;s/c:/a:/;}' | \
|
||||
${c_label} -R -f `pwd`/${c_img} /dev/stdin
|
||||
${c_label} -f `pwd`/${c_img}
|
||||
|
||||
ls -l ${c_img}
|
||||
${l_label} -f `pwd`/${c_img}
|
||||
${c_label} -f `pwd`/${c_img}
|
||||
logverbose "after disklabel"
|
||||
)
|
||||
|
||||
echo "BUILDDIR ${BUILDDIR}"
|
||||
if [ "${generate_iso}" = "YES" ]; then
|
||||
echo "generate_iso ${generate_iso}"
|
||||
#build_iso_image()
|
||||
# build_iso_image # XXX not implemented yet
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -968,12 +959,10 @@ while [ true ]; do
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
set_build_parameters # things that depend on ${SRC}
|
||||
set_type $1 $2 # type and site, respectively
|
||||
|
||||
# If $1="package", it creates a neat set of floppies
|
||||
[ "$1" = "package" ] && build_package
|
||||
|
||||
[ "${o_interactive}" != "NO" ] && main_dialog
|
||||
|
||||
if [ "${o_clean}" = "YES" ] ; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user