aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/genkernel.8.txt44
-rwxr-xr-xgen_cmdline.sh72
-rw-r--r--genkernel.conf38
3 files changed, 135 insertions, 19 deletions
diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index aa18496..262027b 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -246,15 +246,36 @@ LOW-LEVEL COMPILATION OPTIONS
*--kernel-as*=<assembler>::
Assembler to use for the kernel compilation.
+*--kernel-ar*=<archiver>::
+ Archiver to use for the kernel compilation.
+
*--kernel-cc*=<compiler>::
Compiler to use for the kernel compilation (e.g. distcc).
*--kernel-ld*=<linker>::
Linker to use for the kernel compilation.
-*--kernel-make*=<makeprg>::
+*--kernel-nm*=<nm>::
+ NM utility to use for the kernel compilation.
+
+*--kernel-make*=<makeprog>::
GNU Make to use for the kernel compilation.
+*--kernel-objcopy*=<objcopyprog>::
+ Objcopy utility to use for the kernel compilation.
+
+*--kernel-objdump*=<objdumpprog>::
+ Objdump utility to use for the kernel compilation.
+
+*--kernel-ranlib*=<ranlibprog>::
+ Ranlib utility to use for the kernel compilation.
+
+*--kernel-readelf*=<readelfprog>::
+ Readelf utility to use for the kernel compilation.
+
+*--kernel-strip*=<stripprog>::
+ Strip utility to use for the kernel compilation.
+
*--kernel-target*=<t>::
Override default make target (bzImage), note that values
like *--kernel-target=* are also valid (useful for Xen
@@ -272,6 +293,9 @@ LOW-LEVEL COMPILATION OPTIONS
*--utils-as*=<assembler>::
Assembler to use for utilities.
+*--utils-ar*=<archiver>::
+ Archiver to use for utilities.
+
*--utils-cflags*=<cflags>::
C compiler flags used to compile utilities.
@@ -287,6 +311,24 @@ LOW-LEVEL COMPILATION OPTIONS
*--utils-make*=<makeprog>::
GNU Make to use for utilities.
+*--utils-nm*=<nm>::
+ NM utility to use for utilities.
+
+*--utils-objcopy*=<objcopyprog>::
+ Objcopy utility to use for utilities.
+
+*--utils-objdump*=<objdumpprog>::
+ Objdump utility to use for utilities.
+
+*--utils-ranlib*=<ranlibprog>::
+ Ranlib utility to use for utilities.
+
+*--utils-readelf*=<readelfprof>::
+ Readelf utility to use for utilities.
+
+*--utils-strip*=<striprog>::
+ Strip utility to use for utilities.
+
*--makeopts*=<makeopts>::
GNU Make options such as -j2, etc.
diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 33bf1c5..b35750d 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -87,18 +87,22 @@ longusage() {
echo " --cross-compile=<target-triplet>"
echo " Target triple (i.e. aarch64-linux-gnu) to build for"
echo " --kernel-as=<assembler> Assembler to use for kernel"
+ echo " --kernel-ar=<archiver> Archiver to use for kernel"
echo " --kernel-cc=<compiler> Compiler to use for kernel (e.g. distcc)"
echo " --kernel-ld=<linker> Linker to use for kernel"
+ echo " --kernel-nm=<nm> NM utility to use for kernel"
echo " --kernel-make=<makeprg> GNU Make to use for kernel"
echo " --kernel-target=<t> Override default make target (bzImage)"
echo " --kernel-binary=<path> Override default kernel binary path (arch/foo/boot/bar)"
echo " --kernel-outputdir=<path>"
echo " Save output files outside the source tree"
echo " --utils-as=<assembler> Assembler to use for utils"
+ echo " --utils-ar=<archiver> Archiver to use for utils"
echo " --utils-cc=<compiler> C Compiler to use for utilities"
echo " --utils-cxx=<compiler> C++ Compiler to use for utilities"
echo " --utils-cflags=<cflags> C compiler flags used to compile utilities"
echo " --utils-ld=<linker> Linker to use for utils"
+ echo " --utils-nm=<nm> NM utility to use for utils"
echo " --utils-make=<makeprog> GNU Make to use for utils"
echo " --makeopts=<makeopts> Make options such as -j2, etc ..."
echo " --mountboot Mount BOOTDIR automatically if mountable"
@@ -288,6 +292,14 @@ parse_cmdline() {
CMD_CROSS_COMPILE="${*#*=}"
print_info 3 "CMD_CROSS_COMPILE: ${CMD_CROSS_COMPILE}"
;;
+ --kernel-as=*)
+ CMD_KERNEL_AS="${*#*=}"
+ print_info 3 "CMD_KERNEL_AS: ${CMD_KERNEL_AS}"
+ ;;
+ --kernel-ar=*)
+ CMD_KERNEL_AR="${*#*=}"
+ print_info 3 "CMD_KERNEL_AR: ${CMD_KERNEL_AR}"
+ ;;
--kernel-cc=*)
CMD_KERNEL_CC="${*#*=}"
print_info 3 "CMD_KERNEL_CC: ${CMD_KERNEL_CC}"
@@ -296,14 +308,34 @@ parse_cmdline() {
CMD_KERNEL_LD="${*#*=}"
print_info 3 "CMD_KERNEL_LD: ${CMD_KERNEL_LD}"
;;
- --kernel-as=*)
- CMD_KERNEL_AS="${*#*=}"
- print_info 3 "CMD_KERNEL_AS: ${CMD_KERNEL_AS}"
+ --kernel-nm=*)
+ CMD_KERNEL_NM="${*#*=}"
+ print_info 3 "CMD_KERNEL_NM: ${CMD_KERNEL_NM}"
;;
--kernel-make=*)
CMD_KERNEL_MAKE="${*#*=}"
print_info 3 "CMD_KERNEL_MAKE: ${CMD_KERNEL_MAKE}"
;;
+ --kernel-objcopy=*)
+ CMD_KERNEL_OBJCOPY="${*#*=}"
+ print_info 3 "CMD_KERNEL_OBJCOPY: ${CMD_KERNEL_OBJCOPY}"
+ ;;
+ --kernel-objdump=*)
+ CMD_KERNEL_OBJDUMP="${*#*=}"
+ print_info 3 "CMD_KERNEL_OBJDUMP: ${CMD_KERNEL_OBJDUMP}"
+ ;;
+ --kernel-ranlib=*)
+ CMD_KERNEL_RANLIB="${*#*=}"
+ print_info 3 "CMD_KERNEL_RANLIB: ${CMD_KERNEL_RANLIB}"
+ ;;
+ --kernel-readelf=*)
+ CMD_KERNEL_READELF="${*#*=}"
+ print_info 3 "CMD_KERNEL_READELF: ${CMD_KERNEL_READELF}"
+ ;;
+ --kernel-strip=*)
+ CMD_KERNEL_STRIP="${*#*=}"
+ print_info 3 "CMD_KERNEL_STRIP: ${CMD_KERNEL_STRIP}"
+ ;;
--kernel-target=*)
KERNEL_MAKE_DIRECTIVE_OVERRIDE="${*#*=}"
print_info 3 "KERNEL_MAKE_DIRECTIVE_OVERRIDE: ${KERNEL_MAKE_DIRECTIVE_OVERRIDE}"
@@ -316,6 +348,14 @@ parse_cmdline() {
CMD_KERNEL_OUTPUTDIR="${*#*=}"
print_info 3 "CMD_KERNEL_OUTPUTDIR: ${CMD_KERNEL_OUTPUTDIR}"
;;
+ --utils-as=*)
+ CMD_UTILS_AS="${*#*=}"
+ print_info 3 "CMD_UTILS_AS: ${CMD_UTILS_AS}"
+ ;;
+ --utils-ar=*)
+ CMD_UTILS_AR="${*#*=}"
+ print_info 3 "CMD_UTILS_AR: ${CMD_UTILS_AR}"
+ ;;
--utils-cc=*)
CMD_UTILS_CC="${*#*=}"
print_info 3 "CMD_UTILS_CC: ${CMD_UTILS_CC}"
@@ -332,14 +372,34 @@ parse_cmdline() {
CMD_UTILS_LD="${*#*=}"
print_info 3 "CMD_UTILS_LD: ${CMD_UTILS_LD}"
;;
- --utils-as=*)
- CMD_UTILS_AS="${*#*=}"
- print_info 3 "CMD_UTILS_AS: ${CMD_UTILS_AS}"
+ --utils-nm=*)
+ CMD_UTILS_NM="${*#*=}"
+ print_info 3 "CMD_UTILS_NM: ${CMD_UTILS_NM}"
;;
--utils-make=*)
CMD_UTILS_MAKE="${*#*=}"
print_info 3 "CMD_UTILS_MAKE: ${CMD_UTILS_MAKE}"
;;
+ --utils-objcopy=*)
+ CMD_UTILS_OBJCOPY="${*#*=}"
+ print_info 3 "CMD_UTILS_OBJCOPY: ${CMD_UTILS_OBJCOPY}"
+ ;;
+ --utils-objdump=*)
+ CMD_UTILS_OBJDUMP="${*#*=}"
+ print_info 3 "CMD_UTILS_OBJDUMP: ${CMD_UTILS_OBJDUMP}"
+ ;;
+ --utils-ranlib=*)
+ CMD_UTILS_RANLIB="${*#*=}"
+ print_info 3 "CMD_UTILS_RANLIB: ${CMD_UTILS_RANLIB}"
+ ;;
+ --utils-readelf=*)
+ CMD_UTILS_READELF="${*#*=}"
+ print_info 3 "CMD_UTILS_READELF: ${CMD_UTILS_READELF}"
+ ;;
+ --utils-strip=*)
+ CMD_UTILS_STRIP="${*#*=}"
+ print_info 3 "CMD_UTILS_STRIP: ${CMD_UTILS_STRIP}"
+ ;;
--makeopts=*)
CMD_MAKEOPTS="${*#*=}"
print_info 3 "CMD_MAKEOPTS: ${CMD_MAKEOPTS}"
diff --git a/genkernel.conf b/genkernel.conf
index 6c350a6..7d10496 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -193,23 +193,34 @@ NOCOLOR="false"
# =========Low Level Compile Settings=========
#
-# GNU Make to use for kernel. See also the --kernel-make command line option.
-#KERNEL_MAKE="make"
+# Assembler to use for the kernel. See also the --kernel-as command line
+# option.
+#KERNEL_AS="as"
+
+# Archiver to use for the kernel. See also the --kernel-ar command line
+# option.
+#KERNEL_AR="ar"
# Compiler to use for the kernel (e.g. distcc). See also the --kernel-cc
# command line option.
#KERNEL_CC="gcc"
-# Assembler to use for the kernel. See also the --kernel-as command line
-# option.
-#KERNEL_AS="as"
-
# Linker to use for the kernel. See also the --kernel-ld command line option.
#KERNEL_LD="ld"
-# GNU Make to use for the utilities. See also the --utils-make command line
+# NM utility to use for the kernel. See also the --kernel-nm command line option.
+#KERNEL_NM="nm"
+
+# GNU Make to use for kernel. See also the --kernel-make command line option.
+#KERNEL_MAKE="make"
+
+# Assembler to use for the utilities. See also the --utils-as command line
# option.
-#UTILS_MAKE="make"
+#UTILS_AS="as"
+
+# Archiver to use for the utilities. See also the --utils-ar command line
+# option.
+#UTILS_AR="ar"
# C Compiler to use for the utilities (e.g. distcc). See also the --utils-cc
# command line option.
@@ -219,14 +230,17 @@ NOCOLOR="false"
# command line option.
#UTILS_CXX="g++"
-# Assembler to use for the utilities. See also the --utils-as command line
-# option.
-#UTILS_AS="as"
-
# Linker to use for the utilities. See also the --utils-ld command line
# option.
#UTILS_LD="ld"
+# NM utility to use for the utilities. See also the --utils-nm command line option.
+#UTILS_NM="nm"
+
+# GNU Make to use for the utilities. See also the --utils-make command line
+# option.
+#UTILS_MAKE="make"
+
# Target triple (i.e. aarch64-linux-gnu) to build for. If you do not
# cross-compile, leave blank for auto detection.
#CROSS_COMPILE=""