Module Name: src
Committed By: jnemeth
Date: Mon Sep 7 04:14:17 UTC 2009
Modified Files:
src: BUILDING build.sh
Log Message:
Add a modules operation to build.sh, which builds and installs kernel modules
into DESTDIR.
This is based on the patch provided by tsutsui@ on tech-toolch...@.
To generate a diff of this commit:
cvs rdiff -u -r1.85 -r1.86 src/BUILDING
cvs rdiff -u -r1.206 -r1.207 src/build.sh
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/BUILDING
diff -u src/BUILDING:1.85 src/BUILDING:1.86
--- src/BUILDING:1.85 Sun Jul 12 14:17:18 2009
+++ src/BUILDING Mon Sep 7 04:14:17 2009
@@ -688,6 +688,9 @@
This command will run ``make cleandir'' on the kernel in
question first unless the -u option is given.
+ modules This command will build kernel modules and install them
+ into DESTDIR.
+
releasekernel=kconf
Install a gzip(1)ed copy of the kernel previously built by
kernel=kconf into
Index: src/build.sh
diff -u src/build.sh:1.206 src/build.sh:1.207
--- src/build.sh:1.206 Fri Mar 13 16:23:31 2009
+++ src/build.sh Mon Sep 7 04:14:17 2009
@@ -1,5 +1,5 @@
#! /usr/bin/env sh
-# $NetBSD: build.sh,v 1.206 2009/03/13 16:23:31 perry Exp $
+# $NetBSD: build.sh,v 1.207 2009/09/07 04:14:17 jnemeth Exp $
#
# Copyright (c) 2001-2009 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -231,6 +231,7 @@
do_release=false
do_kernel=false
do_releasekernel=false
+ do_modules=false
do_install=false
do_sets=false
do_sourcesets=false
@@ -565,6 +566,7 @@
except \`etc'. Useful after "distribution" or "release"
kernel=conf Build kernel with config file \`conf'
releasekernel=conf Install kernel built by kernel=conf to RELEASEDIR.
+ modules Build and install kernel modules.
sets Create binary sets in
RELEASEDIR/RELEASEMACHINEDIR/binary/sets.
DESTDIR should be populated beforehand.
@@ -824,6 +826,10 @@
bomb "Must supply a kernel name with \`${op}=...'"
;;
+ modules)
+ op=modules
+ ;;
+
install=*)
arg=${op#*=}
op=${op%%=*}
@@ -1217,7 +1223,7 @@
eval cat <<EOF ${makewrapout}
#! ${HOST_SH}
# Set proper variables to allow easy "make" building of a NetBSD subtree.
-# Generated from: \$NetBSD: build.sh,v 1.206 2009/03/13 16:23:31 perry Exp $
+# Generated from: \$NetBSD: build.sh,v 1.207 2009/09/07 04:14:17 jnemeth Exp $
# with these arguments: ${_args}
#
@@ -1356,6 +1362,30 @@
done
}
+buildmodules()
+{
+ if ! ${do_tools} && ! ${buildmoduleswarned:-false}; then
+ # Building tools every time we build modules is clearly
+ # unnecessary as well as a kernel.
+ #
+ statusmsg "Building modules without building new tools"
+ buildmoduleswarned=true
+ fi
+
+ statusmsg "Building kernel modules for NetBSD/${MACHINE} ${DISTRIBVER}"
+ if [ "${MKOBJDIRS}" != "no" ]; then
+ make_in_dir sys/modules obj ||
+ bomb "Failed to make obj in sys/modules"
+ fi
+ if [ "${MKUPDATE}" = "no" ]; then
+ make_in_dir sys/modules cleandir
+ fi
+ ${runcmd} "${makewrapper}" ${parallel} do-sys-modules ||
+ bomb "Failed to make do-sys-modules"
+
+ statusmsg "Successful build kernel modules for NetBSD/${MACHINE} ${DISTRIBVER}"
+}
+
installworld()
{
dir="$1"
@@ -1430,6 +1460,10 @@
releasekernel "${arg}"
;;
+ modules)
+ buildmodules
+ ;;
+
install=*)
arg=${op#*=}
if [ "${arg}" = "/" ] && \