public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2011-05-31  1:48 Sebastian Pipping
  0 siblings, 0 replies; 23+ messages in thread
From: Sebastian Pipping @ 2011-05-31  1:48 UTC (permalink / raw
  To: gentoo-commits

commit:     d7d509f4e9e28b089f7110ad1b9a09d574a8bf44
Author:     Sebastian Pipping <sebastian <AT> pipping <DOT> org>
AuthorDate: Tue May 31 01:36:45 2011 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Tue May 31 01:36:45 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=d7d509f4

Document boot parameter domdadm (bug #369415)

---
 ChangeLog           |    4 ++++
 doc/genkernel.8.txt |    3 +++
 genkernel           |    1 +
 3 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2101b7e..af5d371 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,10 @@
 # Distributed under the GPL v2
 # $Id$
 
+  31 May 2011; Sebastian Pipping <sping@gentoo.org> doc/genkernel.8.txt,
+  genkernel:
+  Document boot parameter domdadm (bug #369415)
+
   28 Mar 2011; Sebastian Pipping <sping@gentoo.org> genkernel:
   Bump to 3.4.15
 

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 9091d95..c435646 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -420,6 +420,9 @@ which the ramdisk scripts would recognize.
 *dolvm*::
     Activate LVM volumes on bootup
 
+*domdadm*::
+    Scan for RAID arrays on bootup
+
 *doscsi*::
     Activate SCSI devices on bootup, necessary when SCSI support is
     compiled as modules and you're using SCSI or SATA devices.

diff --git a/genkernel b/genkernel
index b779032..c74ef60 100755
--- a/genkernel
+++ b/genkernel
@@ -350,6 +350,7 @@ then
 	[ "${LVM}" = '1' ] && print_info 1 'add "dolvm" for lvm support'
 	[ "${EVMS}" = '1' ] && print_info 1 'add "doevms" for evms support'
 	[ "${DMRAID}" = '1' ] && print_info 1 'add "dodmraid" for dmraid support'
+	[ "${MDADM}" = '1' ] && print_info 1 'add "domdadm" for RAID support'
 	[ "${DMRAID}" = '1' ] && print_info 1 '	or "dodmraid=<additional options>"'
 	[ "${ISCSI}" = '1' ] && print_info 1 'add at least "iscsi_initiatorname=<initiator name> iscsi_target=<target name> and iscsi_address=<target ip>" for iscsi support'
 fi



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2011-06-07  0:29 Sebastian Pipping
  0 siblings, 0 replies; 23+ messages in thread
From: Sebastian Pipping @ 2011-06-07  0:29 UTC (permalink / raw
  To: gentoo-commits

commit:     0992082d0577733d1e70f8522f0e68b9bce9d2c4
Author:     Sebastian Pipping <sebastian <AT> pipping <DOT> org>
AuthorDate: Tue Jun  7 00:28:55 2011 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 00:28:55 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=0992082d

Docs: Fix mixup of boot parameters real_init= and init_opts=

---
 ChangeLog           |    3 +++
 doc/genkernel.8.txt |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b5aba8d..62e1249 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
 # Distributed under the GPL v2
 # $Id$
 
+  07 Jun 2011; Sebastian Pipping <sping@gentoo.org> doc/genkernel.8.txt:
+  Docs: Fix mixup of boot parameters real_init= and init_opts=
+
   04 Jun 2011; Sebastian Pipping <sping@gentoo.org> genkernel.conf,
   maintenance/docmatcher.py:
   Document remaining options inside genkiernel.conf (bug #367233)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 2287b6f..fab006e 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -398,6 +398,9 @@ which the ramdisk scripts would recognize.
     Passes arguments to dmraid on bootup.
 
 *real_init*=<...>::
+    Override location of init script, default is "/sbin/init".
+
+*init_opts*=<...>::
     Passes arguments to init on bootup.
 
 *scandelay*=<...>::



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2011-06-07 19:14 Sebastian Pipping
  0 siblings, 0 replies; 23+ messages in thread
From: Sebastian Pipping @ 2011-06-07 19:14 UTC (permalink / raw
  To: gentoo-commits

commit:     6051fcf1ee05cb14171b27dd25d5532f08dbc5b3
Author:     Sebastian Pipping <sebastian <AT> pipping <DOT> org>
AuthorDate: Tue Jun  7 19:13:50 2011 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 19:13:50 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=6051fcf1

Document most undocumented boot parameters (bug #370369)

---
 ChangeLog           |    3 ++
 doc/genkernel.8.txt |   78 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 62e1249..b136d87 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,9 @@
 # $Id$
 
   07 Jun 2011; Sebastian Pipping <sping@gentoo.org> doc/genkernel.8.txt:
+  Document most undocumented boot parameters (bug #370369)
+
+  07 Jun 2011; Sebastian Pipping <sping@gentoo.org> doc/genkernel.8.txt:
   Docs: Fix mixup of boot parameters real_init= and init_opts=
 
   04 Jun 2011; Sebastian Pipping <sping@gentoo.org> genkernel.conf,

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 73f9697..fac87ab 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -452,6 +452,84 @@ which the ramdisk scripts would recognize.
     This can be useful when support for ext2/ext3/ext4 are
     in competition.  Default is "auto".
 
+*docache*::
+*nocache*::
+    Enables/disables caching of CD contents in RAM.
+
+*root*=<...>::
+    Omit or specify as "/dev/ram0".
+    For other values be sure to know what you're doing.
+
+*subdir*=<...>::
+    switch_root into "<CHROOT>/<SUBDIR>" instead of "<CHROOT>/".
+    <CHROOT> is "/newroot" (or "/union") usually.
+
+*debug*::
+    Drop into a debug shell early in the process.
+
+*noload*=<...>::
+    List of modules to skip loading.
+    Separate using commas or spaces.
+
+*nodetect*::
+    Skipping scanning modules using "modprobe <MODULE> -n".
+    Use *doload=* for specifying a whitelist of exceptions.
+
+*doload*=<...>::
+    List of modules to load despite *nodetect*.
+
+*domodules*::
+*nomodules*::
+    Enables/disables loading of modules in general.
+
+*CONSOLE*=<...>::
+*console*=<...>::
+    Override location of console, default is "/dev/console".
+
+*part*=<...>::
+    Specify part for mdadm to start.  This is the relevant code in mdstart:
+------------------------------------------
+    fd = open("/dev/md<MD_NUMBER>", 0, 0);
+    ioctl(fd, RAID_AUTORUN, <MDPART>);
+------------------------------------------
+
+*iscsi_initiatorname*=<...>::
+*iscsi_target*=<...>::
+*iscsi_tgpt*=<...>::
+*iscsi_address*=<...>::
+*iscsi_port*=<...>::
+*iscsi_username*=<...>::
+*iscsi_password*=<...>::
+*iscsi_username_in*=<...>::
+*iscsi_password_in*=<...>::
+*iscsi_debug*=<...>::
+*iscsi_noibft*::
+    Specify iSCSI parameters.
+
+*unionfs*::
+*nounionfs*::
+    Enables/disables UnionFS.
+
+*real_rootflags*=<...>::
+    Additional flags to mount the real root system with.
+    For expamle *real_rootflags*=noatime would make "-o ro,noatime".
+
+*real_resume*=<...>::
+*resume*=<...>::
+*noresume*::
+    TO BE DOCUMENTED
+
+*cdroot*[=<...>]::
+*cdroot_type*=<...>::
+    TO BE DOCUMENTED
+
+*loop*=<...>::
+*looptype*=<...>::
+    TO BE DOCUMENTED
+
+*isoboot*=<...>::
+    TO BE DOCUMENTED
+
 
 NETBOOTING
 ----------



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2011-07-31  3:47 Sebastian Pipping
  0 siblings, 0 replies; 23+ messages in thread
From: Sebastian Pipping @ 2011-07-31  3:47 UTC (permalink / raw
  To: gentoo-commits

commit:     7748657a874d4e6422ad57e17a0d4707ce7678e7
Author:     Sebastian Pipping <sebastian <AT> pipping <DOT> org>
AuthorDate: Sun Jul 31 03:43:25 2011 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Sun Jul 31 03:43:25 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=7748657a

Improve doc on filing bugs

---
 ChangeLog           |    3 +++
 doc/genkernel.8.txt |   13 ++++++++++---
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8da0510..bb75a15 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
 # Distributed under the GPL v2
 # $Id$
 
+  31 Jul 2011; Sebastian Pipping <sping@gentoo.org> doc/genkernel.8.txt:
+  Improve doc on filing bugs
+
   28 Jul 2011; Sebastian Pipping <sping@gentoo.org> genkernel:
   Bump version to 3.4.18
 

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 39e82f9..21c7919 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -548,12 +548,19 @@ kernel modules.
 REPORTING BUGS
 --------------
 If you believe you have found a bug in the genkernel scripts,  then
-please file a bug on the Gentoo Linux Bugzilla: 'http://bugs.gentoo.org',
-assigning your bug to genkernel@gentoo.org. We cannot assist you with
+please file a bug on the Gentoo Linux Bugzilla against product
+"Gentoo Hosted Projects" component "genkernel", i.e. at
+'https://bugs.gentoo.org/enter_bug.cgi?product=Gentoo%20Hosted%20Projects&component=genkernel'.
+
+If you're somewhat unsure if you hit a bug or not, file a bug an we'll find out together.
+For general questions the is the gentoo-genkernel mailing list.  You can join the list
+by sending empty mail to 'gentoo-genkernel+subscribe@lists.gentoo.org'.
+
+We cannot assist you with
 kernel compilation failures unless they are caused by a genkernel bug.
 
 Kernel issues for Gentoo-supported kernels, including compilation failures
-should go to 'http://bugs.gentoo.org' and should be assigned to kernel@gentoo.org.
+should go to 'https://bugs.gentoo.org/' and should be assigned to 'kernel@gentoo.org'.
 Please check if an existing bug documents the same
 issue before opening a new bug. Issues for kernel sources not supported
 by Gentoo should go to their relevant authors.



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2012-02-06  9:42 Robin H. Johnson
  0 siblings, 0 replies; 23+ messages in thread
From: Robin H. Johnson @ 2012-02-06  9:42 UTC (permalink / raw
  To: gentoo-commits

commit:     4ac027367e849702fc7632a3de5a8cd5d58754d4
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  6 09:42:21 2012 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Mon Feb  6 09:42:21 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=4ac02736

Update documentation for new initramfs compression.

---
 ChangeLog           |    4 ++++
 doc/genkernel.8.txt |    7 ++++++-
 gen_cmdline.sh      |    5 ++++-
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e2cc9ab..ddc3844 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,10 @@
 # Distributed under the GPL v2
 # $Id$
 
+  06 Feb 2012; Robin H. Johnson <robbat2@gentoo.org> doc/genkernel.8.txt,
+  gen_cmdline.sh:
+  Update documentation for new initramfs compression.
+
   06 Feb 2012; Robin H. Johnson <robbat2@gentoo.org> defaults/config.sh,
   gen_cmdline.sh, gen_determineargs.sh, gen_initramfs.sh, genkernel.conf:
   Import customizable compression for initramfs, based on Pentoo development.

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 67edbd9..384d4f5 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -364,9 +364,14 @@ OUTPUT SETTINGS
 	Builds or does not build the generated initramfs into the kernel instead
 	of keeping it as a separate file.
 
-*--*[*no-*]*compress-initramfs*::
+*--*[*no-*]*compress-initramfs*, *--*[*no-*]*compress-initrd*::
 	Compresses or does not compress the generated initramfs.
 
+*--compress-initramfs-type*=<arg>::
+	Compression type for initramfs (best, xz, lzma, bzip2, gzip, lzop).
+	"Best" causes selection of the best available algorithm that is selected
+	in your kernel configuration.
+
 
 RAMDISK OPTIONS
 ---------------

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index aabaa7e..2e68882 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -151,8 +151,11 @@ longusage() {
   echo "	--integrated-initramfs, --no-integrated-initramfs"
   echo "				Include/exclude the generated initramfs in the kernel"
   echo "				instead of keeping it as a separate file"
-  echo "	--compress-initramfs, --no-compress-initramfs"
+  echo "	--compress-initramfs, --no-compress-initramfs,"
+  echo "	--compress-initrd, --no-compress-initrd"
   echo "				Compress or do not compress the generated initramfs"
+  echo "	--compress-initramfs-type=<arg>"
+  echo "				Compression type for initramfs (best, xz, lzma, bzip2, gzip, lzop)"
 }
 
 usage() {



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2012-07-16  2:08 Robin H. Johnson
  0 siblings, 0 replies; 23+ messages in thread
From: Robin H. Johnson @ 2012-07-16  2:08 UTC (permalink / raw
  To: gentoo-commits

commit:     3dc7107a12034c132b017026a7974124af77b568
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 16 02:08:59 2012 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Mon Jul 16 02:09:55 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=3dc7107a

Document the isoboot option, as designed for GRUB2 usage 3 years ago.

---
 ChangeLog           |    3 +++
 doc/genkernel.8.txt |    3 ++-
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 53bf29d..26b9a5a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,9 @@
 # - 2008-2011 Various authors (see AUTHORS)
 # Distributed under the GPL v2
 # $Id$
+  
+  15 July 2012; Robin H. Johnson <robbat2@gentoo.org> doc/genkernel.8.txt,
+  Document the isoboot option, as designed for GRUB2 usage 3 years ago.
 
   09 Jul 2012; Sebastian Pipping <sping@gentoo.org> genkernel:
   Bump version to 3.4.38

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 45c52b9..547b7fe 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -552,7 +552,8 @@ which the ramdisk scripts would recognize.
     TO BE DOCUMENTED
 
 *isoboot*=<...>::
-    TO BE DOCUMENTED
+    Loop-mount an ISO file from the boot device to get the filesystem image.
+    Useful with chain-loading environments and USB keys.
 
 
 NETBOOTING



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2012-07-17 20:05 Richard Yao
  0 siblings, 0 replies; 23+ messages in thread
From: Richard Yao @ 2012-07-17 20:05 UTC (permalink / raw
  To: gentoo-commits

commit:     edfe16e893c9ae98fe6e03aa0559063bb5da5d79
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 16 02:08:59 2012 +0000
Commit:     Richard Yao <ryao <AT> gentoo <DOT> org>
CommitDate: Tue Jul 17 20:03:36 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=edfe16e8

Document the isoboot option, as designed for GRUB2 usage 3 years ago.

---
 ChangeLog           |    3 +++
 doc/genkernel.8.txt |    3 ++-
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 53bf29d..26b9a5a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,9 @@
 # - 2008-2011 Various authors (see AUTHORS)
 # Distributed under the GPL v2
 # $Id$
+  
+  15 July 2012; Robin H. Johnson <robbat2@gentoo.org> doc/genkernel.8.txt,
+  Document the isoboot option, as designed for GRUB2 usage 3 years ago.
 
   09 Jul 2012; Sebastian Pipping <sping@gentoo.org> genkernel:
   Bump version to 3.4.38

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 45c52b9..547b7fe 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -552,7 +552,8 @@ which the ramdisk scripts would recognize.
     TO BE DOCUMENTED
 
 *isoboot*=<...>::
-    TO BE DOCUMENTED
+    Loop-mount an ISO file from the boot device to get the filesystem image.
+    Useful with chain-loading environments and USB keys.
 
 
 NETBOOTING



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2012-09-30 19:28 Sebastian Pipping
  0 siblings, 0 replies; 23+ messages in thread
From: Sebastian Pipping @ 2012-09-30 19:28 UTC (permalink / raw
  To: gentoo-commits

commit:     255c8e84983d5b0285651828938117ba1676802d
Author:     Rick Farina <sidhayn <AT> gmail <DOT> com>
AuthorDate: Sun Sep 30 19:17:30 2012 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Sun Sep 30 19:27:25 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=255c8e84

Make e2fsprogs optional (and off by default)

---
 doc/genkernel.8.txt  |    3 +++
 gen_cmdline.sh       |    6 ++++++
 gen_determineargs.sh |    1 +
 gen_initramfs.sh     |    4 ++--
 genkernel.conf       |    3 +++
 5 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 9a96f32..912f899 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -263,6 +263,9 @@ INITIALIZATION
 *--*[*no-*]*dmraid*::
     Includes or excludes DMRAID support.
 
+*--*[*no-*]*e2fsprogs*::
+    Includes or excludes e2fsprogs.
+
 *--*[*no-*]*zfs*::
     Includes or excludes ZFS support.
 

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 938b1a5..a305201 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -91,6 +91,8 @@ longusage() {
   echo "	--mdadm-config=<file>	Use file as mdadm.conf in initramfs"
   echo "	--dmraid		Include DMRAID support"
   echo "	--no-dmraid		Exclude DMRAID support"
+  echo "	--e2fsprogs		Include e2fsprogs"
+  echo "	--no-e2fsprogs		Exclude e2fsprogs"
   echo "	--zfs			Include ZFS support"
   echo "	--no-zfs		Exclude ZFS support"
   echo "	--multipath		Include Multipath support"
@@ -306,6 +308,10 @@ parse_cmdline() {
 			fi
 			print_info 2 "CMD_DMRAID: ${CMD_DMRAID}"
 			;;
+		--e2fsprogs|--no-e2fsprogs)
+			CMD_E2FSPROGS=`parse_optbool "$*"`
+			print_info 2 "CMD_E2FSPROGS: ${CMD_E2FSPROGS}"
+			;;
 		--zfs|--no-zfs)
 			CMD_ZFS=`parse_optbool "$*"`
 			print_info 2 "CMD_ZFS: ${CMD_ZFS}"

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index 7f352f8..92a6458 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -122,6 +122,7 @@ determine_real_args() {
 	set_config_with_override BOOL   GPG                  CMD_GPG
 	set_config_with_override BOOL   MDADM                CMD_MDADM
 	set_config_with_override STRING MDADM_CONFIG         CMD_MDADM_CONFIG
+	set_config_with_override BOOL   E2FSPROGS            CMD_E2FSPROGS            "no"
 	set_config_with_override BOOL   ZFS                  CMD_ZFS
 	set_config_with_override BOOL   MULTIPATH            CMD_MULTIPATH
 	set_config_with_override BOOL   FIRMWARE             CMD_FIRMWARE

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index ee21d2f..9d070f5 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -127,7 +127,7 @@ append_busybox() {
 	rm -rf "${TEMP}/initramfs-busybox-temp" > /dev/null
 }
 
-append_e2fstools(){
+append_e2fsprogs(){
 	if [ -d "${TEMP}"/initramfs-e2fsprogs-temp ]
 	then
 		rm -r "${TEMP}"/initramfs-e2fsprogs-temp
@@ -758,7 +758,7 @@ create_initramfs() {
 	append_data 'base_layout'
 	append_data 'auxilary' "${BUSYBOX}"
 	append_data 'busybox' "${BUSYBOX}"
-	append_data 'e2fstools'
+	isTrue "${CMD_E2FSPROGS}" && append_data 'e2fsprogs'
 	append_data 'lvm' "${LVM}"
 	append_data 'dmraid' "${DMRAID}"
 	append_data 'iscsi' "${ISCSI}"

diff --git a/genkernel.conf b/genkernel.conf
index 5d93a66..af73931 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -87,6 +87,9 @@ USECOLOR="yes"
 # Add iSCSI support.
 #ISCSI="no"
 
+# Add e2fsprogs support.
+#E2FSPROGS="no"
+
 # Include support for unionfs
 #UNIONFS="1"
 


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2012-10-13 23:31 Robin H. Johnson
  0 siblings, 0 replies; 23+ messages in thread
From: Robin H. Johnson @ 2012-10-13 23:31 UTC (permalink / raw
  To: gentoo-commits

commit:     360ce3baf9df88c95b55fdb4d2c3b71a23449667
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 13 23:31:31 2012 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Sat Oct 13 23:31:31 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=360ce3ba

Document resume parameters.

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

---
 ChangeLog           |    3 +++
 doc/genkernel.8.txt |    4 +++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index bb5e916..3a795e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
 # Distributed under the GPL v2
 # $Id$
 
+  13 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> doc/genkernel.8.txt:
+  Document resume parameters.
+
   13 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> arch/alpha/modules_load,
   arch/arm/modules_load, arch/ia64/modules_load, arch/mips/modules_load,
   arch/parisc/modules_load, arch/parisc64/modules_load, arch/ppc/modules_load,

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 0377828..0f88334 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -550,7 +550,9 @@ which the ramdisk scripts would recognize.
 *real_resume*=<...>::
 *resume*=<...>::
 *noresume*::
-    TO BE DOCUMENTED
+    *noresume* disables any default resume parameters. *resume* and
+    *real_resume* specify a device via LABEL or UUID to use for for loading a
+    TuxOnICE, SWSUSP or Suspend2 resume image.
 
 *cdroot*[=<...>]::
 *cdroot_type*=<...>::


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2012-10-16  0:01 Robin H. Johnson
  0 siblings, 0 replies; 23+ messages in thread
From: Robin H. Johnson @ 2012-10-16  0:01 UTC (permalink / raw
  To: gentoo-commits

commit:     a9a3c6d173b9e3e21080f7b493756fda359f8ebd
Author:     Peter Hjalmarsson <xake <AT> rymdraket <DOT> net>
AuthorDate: Mon Apr  9 18:36:56 2012 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Tue Oct 16 00:00:46 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=a9a3c6d1

Update the documentation to reflect current status

We only support creating initramfs nowdays, so RAM disk support is not needed.
Since initramfs does not need root=/dev/ram0 (and we actually ignore it if it is set),
we should not tell people to use it.
We should also stop tell people to use real_root.

Conflicts:
	genkernel

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

---
 ChangeLog           |    4 ++++
 README              |   11 +++--------
 doc/genkernel.8.txt |   16 ++++++++++------
 gen_bootloader.sh   |    7 ++-----
 genkernel           |    9 +++------
 5 files changed, 22 insertions(+), 25 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 10680da..dfe39e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,10 @@
 # Distributed under the GPL v2
 # $Id$
 
+  15 Oct 2012; Peter Hjalmarsson <xake@rymdraket.net> README,
+  doc/genkernel.8.txt, gen_bootloader.sh, genkernel:
+  Update the documentation to reflect current status re real_root/init.
+
   15 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> genkernel:
   Bump to 3.4.44.2 with depmod corner cases by xake.
 

diff --git a/README b/README
index 196e956..c202a54 100644
--- a/README
+++ b/README
@@ -21,18 +21,13 @@ PORTING:
 
 IMPORTANT KERNEL NOTES:
   - You MUST have /dev/pts turned on.
-    "Block devices->Loopback device support"  
-    "Block devices->RAM disk support"
   - To boot genkernel properly, the kernel config must have
-    RAM disk support and Initial RAM disk support. You should
-    also set your "Default RAM disk size to 8192"
+    Initial RAM disk support.
 
 BOOTING A KERNEL WITH INITRD:
 
   GRUB:
-    real_root=	needs to point to your root partition
-    root=	needs to point to the ramdisk (should stay at /dev/ram0)
-    init=	needs to point to the linuxrc file to execute on the ramdisk
+    root=	needs to point to your root partition
     vga=	should be the resolution you want your screen. 0x317 is
     		1024x768 - 16bpp and you'll get a pretty splash if
     		configured properly
@@ -40,5 +35,5 @@ BOOTING A KERNEL WITH INITRD:
   GRUB EXAMPLE ENTRY:
     title=2.6.0 [ Genkernel ]
     root (hd0,0)
-    kernel (hd0,0)/boot/kernel-2.6.0-gentoo root=/dev/ram0 init=/linuxrc real_root=/dev/hda3 vga=0x317
+    kernel (hd0,0)/boot/kernel-2.6.0-gentoo root=/dev/hda3 vga=0x317
     initrd (hd0,0)/boot/initrd-2.6.0-gentoo

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 0f88334..dc04240 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -384,9 +384,13 @@ RAMDISK OPTIONS
 The following options can be passed as kernel parameters from the bootloader,
 which the ramdisk scripts would recognize.
 
-*real_root*=<...>::
+*root*=<...>::
     Specifies the device node of the root filesystem to mount.
 
+*real_root*=<...>::
+    Legacy kernel parameter from kernel-2.4 initrd.
+    Does the same as *root*=, which should be used in its place.
+
 *crypt_root*=<...>::
     This specifies the device encrypted by Luks, which contains the
     root filesystem to mount.
@@ -423,9 +427,13 @@ which the ramdisk scripts would recognize.
 *dodmraid*[=<...>]::
     Activate Device-Mapper RAID and (optionally) pass arguments to it.
 
-*real_init*=<...>::
+*init*=<...>::
     Override location of init script, default is "/sbin/init".
 
+*real_init*=<...>::
+    Legacy kernel parameter from kernel-2.4 initrd.
+    Does the same as *init*=, which should be used in its place.
+
 *init_opts*=<...>::
     Passes arguments to init on bootup.
 
@@ -486,10 +494,6 @@ which the ramdisk scripts would recognize.
 *nocache*::
     Enables/disables caching of CD contents in RAM.
 
-*root*=<...>::
-    Omit or specify as "/dev/ram0".
-    For other values be sure to know what you're doing.
-
 *subdir*=<...>::
     switch_root into "<CHROOT>/<SUBDIR>" instead of "<CHROOT>/".
     <CHROOT> is "/newroot" (or "/union") usually.

diff --git a/gen_bootloader.sh b/gen_bootloader.sh
index 5b73d97..7a4f485 100755
--- a/gen_bootloader.sh
+++ b/gen_bootloader.sh
@@ -89,11 +89,8 @@ set_bootloader_grub() {
 			# Add grub configuration to grub.conf
 			echo "# Genkernel generated entry, see GRUB documentation for details" >> ${GRUB_CONF}
 			echo "title=Gentoo Linux ($KV)" >> ${GRUB_CONF}
-			if [ "${BUILD_INITRD}" = '0' ]
-			then
-				echo -e "\tkernel /kernel-${KNAME}-${ARCH}-${KV} root=${GRUB_ROOTFS}" >> ${GRUB_CONF}
-			else
-				echo -e "\tkernel /kernel-${KNAME}-${ARCH}-${KV} root=/dev/ram0 init=/linuxrc real_root=${GRUB_ROOTFS}" >> ${GRUB_CONF}
+			echo -e "\tkernel /kernel-${KNAME}-${ARCH}-${KV} root=${GRUB_ROOTFS}" >> ${GRUB_CONF}
+			if [ "${BUILD_INITRD}" = '1' ]
 				if [ "${PAT}" -gt '4' ]
 				then
 				    echo -e "\tinitrd /initramfs-${KNAME}-${ARCH}-${KV}" >> ${GRUB_CONF}

diff --git a/genkernel b/genkernel
index e84e089..ca634d4 100755
--- a/genkernel
+++ b/genkernel
@@ -331,23 +331,20 @@ then
 	print_info 1 "Kernel compiled successfully!"
 	print_info 1 ''
 	print_info 1 'Required Kernel Parameters:'
+	print_info 1 '    root=/dev/$ROOT'
 	if [ "${BUILD_RAMDISK}" = '0' ]
 	then
-		print_info 1 '    root=/dev/$ROOT'
 		print_info 1 '    [ And "vga=0x317 splash=verbose" if you use a framebuffer ]'
 		print_info 1 ''
 		print_info 1 '    Where $ROOT is the device node for your root partition as the'
 		print_info 1 '    one specified in /etc/fstab'
 	else
-		print_info 1 '    real_root=/dev/$ROOT'
 		print_info 1 ''
 		print_info 1 '    Where $ROOT is the device node for your root partition as the'
 		print_info 1 '    one specified in /etc/fstab'
 		print_info 1 ''
 		print_info 1 "If you require Genkernel's hardware detection features; you MUST"
-		print_info 1 'tell your bootloader to use the provided INITRAMFS file. Otherwise;'
-		print_info 1 'substitute the root argument for the real_root argument if you are'
-		print_info 1 'not planning to use the initramfs...'
+		print_info 1 'tell your bootloader to use the provided INITRAMFS file.'
 	fi
 fi
 
@@ -362,7 +359,7 @@ then
 	[ "${MDADM}" = '1' ] && print_warning 1 'add "domdadm" for RAID support'
 	[ "${DMRAID}" = '1' ] && print_warning 1 '	or "dodmraid=<additional options>"'
 	[ "${ZFS}" = '1' ] && print_warning 1 'add "dozfs" for ZFS volume management support'
-	[ "${ZFS}" = '1' ] && print_warning 1 'add either "real_root=ZFS" (bootfs autodetection) or "real_root=ZFS=<dataset>" to boot from a ZFS dataset'
+	[ "${ZFS}" = '1' ] && print_warning 1 '	and either "root=ZFS" to use bootfs autodetection or "root=ZFS=<dataset>" to force booting from a specific dataset'
 	[ "${ISCSI}" = '1' ] && print_warning 1 'add at least "iscsi_initiatorname=<initiator name> iscsi_target=<target name> and iscsi_address=<target ip>" for iscsi support'
 
 	if [[ "$(file --brief --mime-type "${KERNEL_CONFIG}")" == application/x-gzip ]]; then


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2015-02-08 21:39 Christoph Junghans
  0 siblings, 0 replies; 23+ messages in thread
From: Christoph Junghans @ 2015-02-08 21:39 UTC (permalink / raw
  To: gentoo-commits

commit:     c13e972b79864db27742fd9cdbd96be27d4f3462
Author:     Christoph Junghans <ottxor <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 18 00:57:55 2015 +0000
Commit:     Christoph Junghans <ottxor <AT> gentoo <DOT> org>
CommitDate: Sun Jan 18 16:57:18 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=c13e972b

Added --wrap-initrd option

This is useful in combination the u-boot bootloader which can only
load wrap initramfs.

Signed-off-by: Christoph Junghans <ottxor <AT> gentoo.org>

---
 doc/genkernel.8.txt  |  5 +++++
 gen_cmdline.sh       |  6 ++++++
 gen_determineargs.sh |  1 +
 gen_initramfs.sh     | 10 ++++++++++
 genkernel.conf       |  2 ++
 5 files changed, 24 insertions(+)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index b36b78d..f8d7a10 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -376,6 +376,11 @@ OUTPUT SETTINGS
 	Builds or does not build the generated initramfs into the kernel instead
 	of keeping it as a separate file.
 
+*--*[*no-*]*wrap-initrd*::
+  	Wrap initramfs using mkimage for u-boot boots. Please note that only 
+	certain compression types are supported by mkimage (see manpage).
+
+
 *--*[*no-*]*compress-initramfs*, *--*[*no-*]*compress-initrd*::
 	Compresses or does not compress the generated initramfs.
 

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 6ef6ae0..baa58fa 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -158,6 +158,8 @@ longusage() {
   echo "	--integrated-initramfs, --no-integrated-initramfs"
   echo "				Include/exclude the generated initramfs in the kernel"
   echo "				instead of keeping it as a separate file"
+  echo "	--wrap-initrd, --no-wrap-initrd"
+  echo "				Wrap initramfs using mkimage for u-boot boots"
   echo "	--compress-initramfs, --no-compress-initramfs,"
   echo "	--compress-initrd, --no-compress-initrd"
   echo "				Compress or do not compress the generated initramfs"
@@ -575,6 +577,10 @@ parse_cmdline() {
 			CMD_INTEGRATED_INITRAMFS=`parse_optbool "$*"`
 			print_info 2 "CMD_INTEGRATED_INITRAMFS=${CMD_INTEGRATED_INITRAMFS}"
 			;;
+		--wrap-initrd|--no-wrap-initrd)
+			CMD_WRAP_INITRD=`parse_optbool "$*"`
+			print_info 2 "CMD_WRAP_INITRD=${CMD_WRAP_INITRD}"
+			;;
 		--compress-initramfs|--no-compress-initramfs|--compress-initrd|--no-compress-initrd)
 			CMD_COMPRESS_INITRD=`parse_optbool "$*"`
 			print_info 2 "CMD_COMPRESS_INITRD=${CMD_COMPRESS_INITRD}"

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index dc6b2c4..59af78b 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -131,6 +131,7 @@ determine_real_args() {
 	set_config_with_override STRING FIRMWARE_DIR         CMD_FIRMWARE_DIR         "/lib/firmware"
 	set_config_with_override STRING FIRMWARE_FILES       CMD_FIRMWARE_FILES
 	set_config_with_override BOOL   INTEGRATED_INITRAMFS CMD_INTEGRATED_INITRAMFS
+	set_config_with_override BOOL   WRAP_INITRD          CMD_WRAP_INITRD
 	set_config_with_override BOOL   GENZIMAGE            CMD_GENZIMAGE
 	set_config_with_override BOOL   KEYMAP               CMD_KEYMAP               "yes"
 	set_config_with_override BOOL   DOKEYMAPAUTO         CMD_DOKEYMAPAUTO

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index b9ff518..254f21a 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -958,6 +958,16 @@ create_initramfs() {
 				print_info 1 "        >> Not compressing cpio data ..."
 			fi
 		fi
+		if isTrue "${WRAP_INITRD}"
+		then
+			local mkimage_cmd=$(type -p mkimage)
+			[[ -z ${mkimage_cmd} ]] && gen_die "mkimage is not available. Please install package 'dev-embedded/u-boot-tools'."
+			local mkimage_args="-A ${ARCH} -O linux -T ramdisk -C ${compression:-none} -a 0x00000000 -e 0x00000000"
+			print_info 1 "        >> Wrapping initramfs using mkimage..."
+			print_info 2 "${mkimage_cmd} ${mkimage_args} -n initramfs-${KV} -d ${CPIO} ${CPIO}.uboot" 
+			${mkimage_cmd} ${mkimage_args} -n "initramfs-${KV}" -d "${CPIO}" "${CPIO}.uboot" >> ${LOGFILE} 2>&1 || gen_die "Wrapping initramfs using mkimage failed"
+			mv -f "${CPIO}.uboot" "${CPIO}" || gen_die "Rename failed"
+		fi
 	fi
 
 	if isTrue "${CMD_INSTALL}"

diff --git a/genkernel.conf b/genkernel.conf
index 0c3955c..7f42b05 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -296,6 +296,8 @@ DEFAULT_KERNEL_SOURCE="/usr/src/linux"
 # "fastest" selects the fastest available compression method
 #COMPRESS_INITRD_TYPE="best"
 
+# wrap initramfs using mkimage for u-boot bootloader
+# WRAP_INITRD=no
 
 # Create a self-contained env in the initramfs
 #NETBOOT="1"


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2016-01-24  5:50 Robin H. Johnson
  0 siblings, 0 replies; 23+ messages in thread
From: Robin H. Johnson @ 2016-01-24  5:50 UTC (permalink / raw
  To: gentoo-commits

commit:     92cb275526ce94fb6118cb715622b4dd9a136444
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 24 05:49:13 2016 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Sun Jan 24 05:49:13 2016 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=92cb2755

Support nice(1) to affect the scheduling of the make invocations.

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 doc/genkernel.8.txt  |  3 +++
 gen_cmdline.sh       | 20 ++++++++++++++++++++
 gen_compile.sh       | 19 +++++++++++++------
 gen_determineargs.sh |  1 +
 genkernel.conf       |  3 +++
 5 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 45af60e..ef0aa1e 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -233,6 +233,9 @@ LOW-LEVEL COMPILATION OPTIONS
 *--makeopts*=<makeopts>::
     GNU Make options such as -j2, etc.
 
+*--*[*no-*]*nice*[=<niceness>]::
+	Runs the kernel make at the default niceness (reduction in priority) of
+	10, or in the case of --no-nice, runs the kernel make at normal priority.
 
 INITIALIZATION
 ~~~~~~~~~~~~~~

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index c4f027a..01adfdd 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -80,6 +80,9 @@ longusage() {
   echo "	--no-mountboot		Don't mount BOOTDIR automatically"
   echo "	--bootdir=<dir>		Set the location of the boot-directory, default is /boot"
   echo "	--modprobedir=<dir>	Set the location of the modprobe.d-directory, default is /etc/modprobe.d"
+  echo "	--nice			Run the kernel make at the default nice level (10)."
+  echo "	--nice=<0-19>		Run the kernel make at the selected nice level."
+  echo "	--no-nice		Don't be nice while running the kernel make."
   echo "  Initialization"
   echo "	--splash=<theme>	Enable framebuffer splash using <theme>"
   echo "	--splash-res=<res>	Select splash theme resolutions to install"
@@ -598,6 +601,23 @@ parse_cmdline() {
 		--config=*)
 			print_info 2 "CMD_GK_CONFIG: `parse_opt "$*"`"
 			;;
+		--nice)
+			CMD_NICE=10
+			print_info 2 "CMD_NICE: ${CMD_NICE}"
+			;;
+		--nice=*)
+			CMD_NICE=`parse_opt "$*"`
+			if [ ${CMD_NICE} -lt 0 -o ${CMD_NICE} -gt 19 ]
+			then
+				echo "Error:  Illegal value specified for --nice= parameter."
+				exit 1
+			fi
+			print_info 2 "CMD_NICE: ${CMD_NICE}"
+			;;
+		--no-nice)
+			CMD_NICE=0
+			print_info 2 "CMD_NICE: ${CMD_NICE}"
+			;;
 		all)
 			BUILD_KERNEL=1
 			BUILD_MODULES=1

diff --git a/gen_compile.sh b/gen_compile.sh
index 99cf37c..c26a652 100755
--- a/gen_compile.sh
+++ b/gen_compile.sh
@@ -261,25 +261,32 @@ compile_generic() {
 	esac
 	shift 2
 
+	if [ ${NICE} -ne 0 ]
+	then
+		NICEOPTS="nice -n${NICE} "
+	else
+		NICEOPTS=""
+	fi
+
 	# the eval usage is needed in the next set of code
 	# as ARGS can contain spaces and quotes, eg:
 	# ARGS='CC="ccache gcc"'
 	if [ "${argstype}" == 'kernelruntask' ]
 	then
 		# Silent operation, forced -j1
-		print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS} -j1 ${ARGS} ${target} $*" 1 0 1
-		eval ${MAKE} -s ${MAKEOPTS} -j1 "${ARGS}" ${target} $*
+		print_info 2 "COMMAND: ${NICEOPTS}${MAKE} ${MAKEOPTS} -j1 ${ARGS} ${target} $*" 1 0 1
+		eval ${NICEOPTS}${MAKE} -s ${MAKEOPTS} -j1 "${ARGS}" ${target} $*
 		RET=$?
 	elif [ "${LOGLEVEL}" -gt "1" ]
 	then
 		# Output to stdout and logfile
-		print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS} ${ARGS} ${target} $*" 1 0 1
-		eval ${MAKE} ${MAKEOPTS} ${ARGS} ${target} $* 2>&1 | tee -a ${LOGFILE}
+		print_info 2 "COMMAND: ${NICEOPTS}${MAKE} ${MAKEOPTS} ${ARGS} ${target} $*" 1 0 1
+		eval ${NICEOPTS}${MAKE} ${MAKEOPTS} ${ARGS} ${target} $* 2>&1 | tee -a ${LOGFILE}
 		RET=${PIPESTATUS[0]}
 	else
 		# Output to logfile only
-		print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS} ${ARGS} ${target} $*" 1 0 1
-		eval ${MAKE} ${MAKEOPTS} ${ARGS} ${target} $* >> ${LOGFILE} 2>&1
+		print_info 2 "COMMAND: ${NICEOPTS}${MAKE} ${MAKEOPTS} ${ARGS} ${target} $*" 1 0 1
+		eval ${NICEOPTS}${MAKE} ${MAKEOPTS} ${ARGS} ${target} $* >> ${LOGFILE} 2>&1
 		RET=$?
 	fi
 	[ ${RET} -ne 0 ] &&

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index cbc88ba..522996d 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -78,6 +78,7 @@ determine_real_args() {
 	set_config_with_override STRING COMPRESS_INITRD      CMD_COMPRESS_INITRD      "$DEFAULT_COMPRESS_INITRD"
 	set_config_with_override STRING COMPRESS_INITRD_TYPE CMD_COMPRESS_INITRD_TYPE "$DEFAULT_COMPRESS_INITRD_TYPE"
 	set_config_with_override STRING MAKEOPTS             CMD_MAKEOPTS             "$DEFAULT_MAKEOPTS"
+	set_config_with_override STRING NICE                 CMD_NICE                 "10"
 	set_config_with_override STRING KERNEL_MAKE          CMD_KERNEL_MAKE          "$DEFAULT_KERNEL_MAKE"
 	set_config_with_override STRING UTILS_MAKE           CMD_UTILS_MAKE           "$DEFAULT_UTILS_MAKE"
 	set_config_with_override STRING KERNEL_CC            CMD_KERNEL_CC            "$DEFAULT_KERNEL_CC"

diff --git a/genkernel.conf b/genkernel.conf
index 2e38e41..6b974e1 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -55,6 +55,9 @@ USECOLOR="yes"
 # argument is: <number of processors>*<number of cores per processor>+1
 #MAKEOPTS="$(portageq envvar MAKEOPTS)"
 
+# Run the kernel make at the following NICE level.  Default is 10.
+# NICE=10
+
 # Add in LVM support from static binaries if they exist on the system, or
 # compile static LVM binaries if static ones do not exist.
 #LVM="no"


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2016-10-12 13:52 Robin H. Johnson
  0 siblings, 0 replies; 23+ messages in thread
From: Robin H. Johnson @ 2016-10-12 13:52 UTC (permalink / raw
  To: gentoo-commits

commit:     c9855842ac422b8d3a6e7265b6a3c00efe3891e7
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 12 13:48:30 2016 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Wed Oct 12 13:48:30 2016 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c9855842

FIRMWARE_INSTALL control option.

Prefer sys-kernel/linux-firmware to be installed and used rather than
always running firmware_install and overwriting the root copy.

Defaults to FIRMWARE_INSTALL=no, with ebuild updated to RDEPEND on
sys-kernel/linux-firmware, via IUSE='+firmware'

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 doc/genkernel.8.txt  |  4 ++++
 gen_cmdline.sh       |  6 ++++++
 gen_compile.sh       | 20 ++++++++++++--------
 gen_determineargs.sh |  1 +
 genkernel.conf       |  4 ++++
 5 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index bab1034..071eecc 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -384,6 +384,10 @@ OUTPUT SETTINGS
     Specifies specific firmware files to copy. This overrides *--firmware-dir*.
     For multiple files, separate the filenames with a comma.
 
+*--*[*no-*]*firmware-install*::
+    Enable or disables installation of firmware onto root filesystem.
+	Installing sys-kernel/linux-firmware should be preferred instead.
+
 *--*[*no-*]*integrated-initramfs*::
 	Builds or does not build the generated initramfs into the kernel instead
 	of keeping it as a separate file.

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 94ff68c..e9f323c 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -160,6 +160,8 @@ longusage() {
   echo "				Specifies specific firmware files to copy. This"
   echo "				overrides --firmware-dir. For multiple files,"
   echo "				separate the filenames with a comma"
+  echo "	--firmware-install"
+  echo "				Enable installation firmware onto root filesystem."
   echo "	--integrated-initramfs, --no-integrated-initramfs"
   echo "				Include/exclude the generated initramfs in the kernel"
   echo "				instead of keeping it as a separate file"
@@ -600,6 +602,10 @@ parse_cmdline() {
 			CMD_FIRMWARE=1
 			print_info 2 "CMD_FIRMWARE_FILES: ${CMD_FIRMWARE_FILES}"
 			;;
+		--firmware-install|--no-firmware-install)
+			CMD_FIRMWARE_INSTALL=`parse_optbool "$*"`
+			print_info 2 "CMD_FIRMWARE_INSTALL: ${CMD_FIRMWARE_INSTALL}"
+			;;
 		--integrated-initramfs|--no-integrated-initramfs)
 			CMD_INTEGRATED_INITRAMFS=`parse_optbool "$*"`
 			print_info 2 "CMD_INTEGRATED_INITRAMFS=${CMD_INTEGRATED_INITRAMFS}"

diff --git a/gen_compile.sh b/gen_compile.sh
index 0bb1399..3a77a75 100755
--- a/gen_compile.sh
+++ b/gen_compile.sh
@@ -333,15 +333,19 @@ compile_kernel() {
 		compile_generic "${KERNEL_MAKE_DIRECTIVE_2}" kernel
 	fi
 
-	local firmware_in_kernel_line=`fgrep CONFIG_FIRMWARE_IN_KERNEL "${KERNEL_OUTPUTDIR}"/.config`
-	if [ -n "${firmware_in_kernel_line}" -a "${firmware_in_kernel_line}" != CONFIG_FIRMWARE_IN_KERNEL=y ]
-	then
-		print_info 1 "        >> Installing firmware ('make firmware_install') due to CONFIG_FIRMWARE_IN_KERNEL != y..."
-		[ "${INSTALL_MOD_PATH}" != '' ] && export INSTALL_MOD_PATH
-		[ "${INSTALL_FW_PATH}" != '' ] && export INSTALL_FW_PATH
-		MAKEOPTS="${MAKEOPTS} -j1" compile_generic "firmware_install" kernel
+	if isTrue "${FIRMWARE_INSTALL}" ; then
+		local firmware_in_kernel_line=`fgrep CONFIG_FIRMWARE_IN_KERNEL "${KERNEL_OUTPUTDIR}"/.config`
+		if [ -n "${firmware_in_kernel_line}" -a "${firmware_in_kernel_line}" != CONFIG_FIRMWARE_IN_KERNEL=y ]
+		then
+			print_info 1 "        >> Installing firmware ('make firmware_install') due to CONFIG_FIRMWARE_IN_KERNEL != y..."
+			[ "${INSTALL_MOD_PATH}" != '' ] && export INSTALL_MOD_PATH
+			[ "${INSTALL_FW_PATH}" != '' ] && export INSTALL_FW_PATH
+			MAKEOPTS="${MAKEOPTS} -j1" compile_generic "firmware_install" kernel
+		else
+			print_info 1 "        >> Not installing firmware as it's included in the kernel already (CONFIG_FIRMWARE_IN_KERNEL=y)..."
+		fi
 	else
-		print_info 1 "        >> Not installing firmware as it's included in the kernel already (CONFIG_FIRMWARE_IN_KERNEL=y)..."
+		print_info 1 "        >> Not installing firmware as requested by configuration FIRMWARE_INSTALL=no..."
 	fi
 
 	local tmp_kernel_binary=$(find_kernel_binary ${KERNEL_BINARY_OVERRIDE:-${KERNEL_BINARY}})

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index 522996d..5402b45 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -132,6 +132,7 @@ determine_real_args() {
 	set_config_with_override BOOL   FIRMWARE             CMD_FIRMWARE
 	set_config_with_override STRING FIRMWARE_DIR         CMD_FIRMWARE_DIR         "/lib/firmware"
 	set_config_with_override STRING FIRMWARE_FILES       CMD_FIRMWARE_FILES
+	set_config_with_override BOOL   FIRMWARE_INSTALL     CMD_FIRMWARE_INSTALL     "no"
 	set_config_with_override BOOL   INTEGRATED_INITRAMFS CMD_INTEGRATED_INITRAMFS
 	set_config_with_override BOOL   WRAP_INITRD          CMD_WRAP_INITRD
 	set_config_with_override BOOL   GENZIMAGE            CMD_GENZIMAGE

diff --git a/genkernel.conf b/genkernel.conf
index 6b974e1..e62d294 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -102,6 +102,10 @@ USECOLOR="yes"
 # Add BTRFS support.
 #BTRFS="no"
 
+# Install firmware onto root filesystem
+# Will conflict with sys-kernel/linux-firmware package
+#FIRMWARE_INSTALL="no"
+
 # Enable copying of firmware into initramfs
 #FIRMWARE="no"
 # Specify directory to pull from


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2017-07-14 18:50 Robin H. Johnson
  0 siblings, 0 replies; 23+ messages in thread
From: Robin H. Johnson @ 2017-07-14 18:50 UTC (permalink / raw
  To: gentoo-commits

commit:     fa341ebe57929d6f971359d3446fbcaa78301d11
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 14 18:48:45 2017 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri Jul 14 18:48:45 2017 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=fa341ebe

Fix unbootable kernels due to overzealous strip.

Manually stripping the kernel is obsolete, use kernel targets for it,
and only pass in argument for Kernel to strip modules itself.

Bug introduced in c2525c65b9f3d5849963bab6beb40817d7720218.

Fixes: https://bugs.gentoo.org/show_bug.cgi?id=622716
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 doc/genkernel.8.txt  | 4 ++--
 gen_cmdline.sh       | 4 ++--
 gen_determineargs.sh | 2 +-
 gen_funcs.sh         | 6 ------
 4 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 944d596..a0c638e 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -388,8 +388,8 @@ OUTPUT SETTINGS
     on >=2.6 kernels
 
 *--strip*=<all|kernel|modules|none>::
-    Strip debug symbols from the installed kernel, modules, all
-    (default) or none.
+    Strip debug symbols from none, all, installed kernel (obsolete) or
+    modules (default).
 
 *--no-strip*::
     Alias for *--strip=none*.

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 7e8853b..83b3829 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -181,8 +181,8 @@ longusage() {
   echo "	--compress-initramfs-type=<arg>"
   echo "				Compression type for initramfs (best, xz, lzma, bzip2, gzip, lzop)"
   echo "	--strip=(all|kernel|modules|none)"
-  echo "				Strip debug symbols from the installed kernel, modules,"
-  echo "				all (default) or none"
+  echo "				Strip debug symbols from none, all, installed kernel (obsolete) or"
+  echo "				modules (default)."
   echo "	--no-strip"
   echo "				Don't strip installed kernel or modules, alias for --strip=none"
   echo

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index 23084a1..41fbe63 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -144,7 +144,7 @@ determine_real_args() {
 	set_config_with_override BOOL   KEYMAP               CMD_KEYMAP               "yes"
 	set_config_with_override BOOL   DOKEYMAPAUTO         CMD_DOKEYMAPAUTO
 	set_config_with_override STRING BUSYBOX_CONFIG       CMD_BUSYBOX_CONFIG
-	set_config_with_override STRING STRIP_TYPE           CMD_STRIP_TYPE           "all"
+	set_config_with_override STRING STRIP_TYPE           CMD_STRIP_TYPE           "modules"
 	set_config_with_override BOOL   INSTALL              CMD_INSTALL              "yes"
 	set_config_with_override BOOL   DEBUGCLEANUP         CMD_DEBUGCLEANUP         "yes"
 

diff --git a/gen_funcs.sh b/gen_funcs.sh
index 0e22a86..6234189 100755
--- a/gen_funcs.sh
+++ b/gen_funcs.sh
@@ -388,12 +388,6 @@ copy_image_with_preserve() {
 	cp "${newSrceImage}" "${BOOTDIR}/${currDestImage}" ||
 	    gen_die "Could not copy the ${symlinkName} image to ${BOOTDIR}!"
 
-	if [ "${CMD_STRIP_TYPE}" = "all" -o "${CMD_STRIP_TYPE}" = "kernel" ]
-	then
-		print_info 5 "  Stripping ${BOOTDIR}/${currDestImage}"
-		strip --strip-debug "${BOOTDIR}/${currDestImage}" >/dev/null 2>&1
-	fi
-
 	if [ "${SYMLINK}" = '1' ]
 	then
 		print_info 5 "  Make new symlink(s) (from ${BOOTDIR}):"


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2017-11-15  3:08 Robin H. Johnson
  0 siblings, 0 replies; 23+ messages in thread
From: Robin H. Johnson @ 2017-11-15  3:08 UTC (permalink / raw
  To: gentoo-commits

commit:     fd38ac4fb57ca9bc95ab9511c6948d326bdf48de
Author:     Daniel Robbins <drobbins <AT> funtoo <DOT> org>
AuthorDate: Sun Nov 12 03:24:10 2017 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Wed Nov 15 03:05:17 2017 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=fd38ac4f

Add --hyperv option for Microsoft Hyper-V. Enable within kernel image to ensure modules are available early at boot.

 doc/genkernel.8.txt  |  3 +++
 gen_cmdline.sh       |  8 +++++++-
 gen_configkernel.sh  | 15 +++++++++++++++
 gen_determineargs.sh |  1 +
 4 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index a0c638e..7c653eb 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -303,6 +303,9 @@ INITIALIZATION
 *--*[*no-*]*iscsi*::
     Includes or excludes iSCSI support
 
+*--*[*no-*]*hyperv*::
+    Includes or excludes Microsoft Hyper-V support
+
 *--*[*no-*]*ssh*::
     Includes or excludes SSH (dropbear) support for remote LUKS keys.
 

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 83b3829..1091d4d 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -114,7 +114,9 @@ longusage() {
   echo "	--no-multipath	Exclude Multipath support"
   echo "	--iscsi			Include iSCSI support"
   echo "	--no-iscsi		Exclude iSCSI support"
-  echo "	--ssh           Include SSH (dropbear) support"
+  echo "	--hyperv		Include Microsoft Hyper-V support"
+  echo "	--no-hyperv		Exclude Microsoft Hyper-V support"
+  echo "	--ssh			Include SSH (dropbear) support"
   echo "	--no-ssh 		Exclude SSH (dropbear) support"
   echo "	--bootloader=grub	Add new kernel to GRUB configuration"
   echo "	--linuxrc=<file>	Specifies a user created linuxrc"
@@ -404,6 +406,10 @@ parse_cmdline() {
 			CMD_ISCSI=`parse_optbool "$*"`
 			print_info 2 "CMD_ISCSI: ${CMD_ISCSI}"
 			;;
+		--hyperv|--no-hyperv)
+			CMD_ISCSI=`parse_optbool "$*"`
+			print_info 2 "CMD_HYPERV: ${CMD_HYPERV}"
+			;;
 		--ssh|--no-ssh)
 			CMD_SSH=`parse_optbool "$*"`
 			print_info 2 "CMD_SSH: ${CMD_SSH}"

diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index 26e4610..697c478 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -219,6 +219,21 @@ config_kernel() {
 		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_SCSI_ISCSI_ATTRS" "${cfg_CONFIG_SCSI_ISCSI_ATTRS}"
 	fi
 
+	# Make sure HyperV modules are enabled in the kernel, if --hyperv
+	if isTrue ${CMD_HYPERV}
+	then
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_HYPERV" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_HYPERV_UTILS" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_HYPERV_BALLOON" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_HYPERV_STORAGE" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_HYPERV_NET" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_HYPERV_KEYBOARD" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_PCI_HYPERV" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_FB_HYPERV" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_HID_HYPERV_MOUSE" "y"
+		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_UIO_HV_GENERIC" "y"
+	fi
+
 	if isTrue ${SPLASH}
 	then
 		kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_FB_SPLASH" "y"

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index fe9f85b..b686fca 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -118,6 +118,7 @@ determine_real_args() {
 	set_config_with_override BOOL   LVM                  CMD_LVM
 	set_config_with_override BOOL   DMRAID               CMD_DMRAID
 	set_config_with_override BOOL   ISCSI                CMD_ISCSI
+	set_config_with_override BOOL   HYPERV               CMD_HYPERV
 	set_config_with_override BOOL   BUSYBOX              CMD_BUSYBOX              "yes"
 	set_config_with_override BOOL   NFS                  CMD_NFS                  "yes"
 	set_config_with_override BOOL   MICROCODE            CMD_MICROCODE


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2019-07-23 19:47 Thomas Deutschmann
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Deutschmann @ 2019-07-23 19:47 UTC (permalink / raw
  To: gentoo-commits

commit:     467c2e82e62b75b5cf9884f3d741926a65338f15
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 23 19:18:07 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 23 19:37:02 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=467c2e82

Add feature to check for free disk space early at genkernel start

To avoid preventable errors like running out of disk space while building
a new kernel, two new options, --check-free-disk-space-bootdir and
--check-free-disk-space-kerneloutputdir, were added.

When set, disabled by default, genkernel will check early before
starting to build kernel/initramfs for specified amount of free
disk space.

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 doc/genkernel.8.txt  |   8 +++
 gen_cmdline.sh       |  14 ++++
 gen_determineargs.sh | 191 ++++++++++++++++++++++++++-------------------------
 gen_funcs.sh         |  79 +++++++++++++++++++++
 genkernel            |   2 +
 genkernel.conf       |   6 ++
 6 files changed, 206 insertions(+), 94 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 72029d6..8650881 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -395,6 +395,14 @@ INTERNALS
 *--cachedir*=<dir>::
     Override the default cache location.
 
+*--check-free-disk-space-bootdir*=<MB>::
+    When set to a non-zero value, genkernel will check early on start for
+    specified amount of free disk space in megabyte in *BOOTDIR*.
+
+*--check-free-disk-space-kerneloutputdir*=<MB>::
+    When set to a non-zero value, genkernel will check early on start for
+    specified amount of free disk space in megabyte in *KERNEL_OUTPUTDIR*.
+
 *--*[*no-*]*clear-cachedir*::
     Clears or skips clearing all files in cache location on genkernel start.
 

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index a05e277..c93cffd 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -168,6 +168,12 @@ longusage() {
   echo "	--real-root=<foo>	Specify a default for real_root="
   echo "  Internals"
   echo "	--cachedir=<dir>	Override the default cache location"
+  echo "	--check-free-disk-space-bootdir=<MB>"
+  echo "				Check for specified amount of free disk space in MB in BOOTDIR"
+  echo "				at genkernel start"
+  echo "	--check-free-disk-space-kerneloutputdir=<MB>"
+  echo "				Check for specified amount of free disk space in MB in"
+  echo "				kernel outputdir at genkernel start"
   echo "	--clear-cachedir	Clear genkernel's cache location on start. Useful"
   echo "				if you want to force rebuild of included tools"
   echo "				like BusyBox, DMRAID, GnuPG, LVM, MDADM ..."
@@ -601,6 +607,14 @@ parse_cmdline() {
 			CMD_POSTCLEAR=$(parse_optbool "$*")
 			print_info 3 "CMD_POSTCLEAR: ${CMD_POSTCLEAR}"
 			;;
+		--check-free-disk-space-bootdir=*)
+			CMD_CHECK_FREE_DISK_SPACE_BOOTDIR="${*#*=}"
+			print_info 3 "CMD_CHECK_FREE_DISK_SPACE_BOOTDIR: ${CMD_CHECK_FREE_DISK_SPACE_BOOTDIR}"
+			;;
+		--check-free-disk-space-kerneloutputdir=*)
+			CMD_CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR="${*#*=}"
+			print_info 3 "CMD_CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR: ${CMD_CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR}"
+			;;
 		--color|--no-color)
 			CMD_COLOR=$(parse_optbool "$*")
 			if isTrue "${CMD_COLOR}"

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index eb0cd74..69a6ee7 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -95,100 +95,103 @@ determine_real_args() {
 
 	print_info 4 "Resolving config file, command line, and arch default settings."
 
-	#                               Dest / Config File   Command Line                     Arch Default
-	#                               ------------------   ------------                     ------------
-	set_config_with_override STRING TMPDIR                   CMD_TMPDIR                   "/var/tmp/genkernel"
-	set_config_with_override STRING LOGFILE                  CMD_LOGFILE                  "/var/log/genkernel.conf"
-	set_config_with_override STRING KERNEL_DIR               CMD_KERNEL_DIR               "${DEFAULT_KERNEL_SOURCE}"
-	set_config_with_override BOOL   KERNEL_SOURCES           CMD_KERNEL_SOURCES           "yes"
-	set_config_with_override STRING KNAME                    CMD_KERNNAME                 "genkernel"
-
-	set_config_with_override STRING COMPRESS_INITRD          CMD_COMPRESS_INITRD          "$DEFAULT_COMPRESS_INITRD"
-	set_config_with_override STRING COMPRESS_INITRD_TYPE     CMD_COMPRESS_INITRD_TYPE     "$DEFAULT_COMPRESS_INITRD_TYPE"
-	set_config_with_override STRING MAKEOPTS                 CMD_MAKEOPTS                 "$DEFAULT_MAKEOPTS"
-	set_config_with_override STRING NICE                     CMD_NICE                     "10"
-	set_config_with_override STRING KERNEL_MAKE              CMD_KERNEL_MAKE              "$DEFAULT_KERNEL_MAKE"
-	set_config_with_override STRING UTILS_CFLAGS             CMD_UTILS_CFLAGS             "$DEFAULT_UTILS_CFLAGS"
-	set_config_with_override STRING UTILS_MAKE               CMD_UTILS_MAKE               "$DEFAULT_UTILS_MAKE"
-	set_config_with_override STRING KERNEL_CC                CMD_KERNEL_CC                "$DEFAULT_KERNEL_CC"
-	set_config_with_override STRING KERNEL_LD                CMD_KERNEL_LD                "$DEFAULT_KERNEL_LD"
-	set_config_with_override STRING KERNEL_AS                CMD_KERNEL_AS                "$DEFAULT_KERNEL_AS"
-	set_config_with_override STRING UTILS_CC                 CMD_UTILS_CC                 "$DEFAULT_UTILS_CC"
-	set_config_with_override STRING UTILS_LD                 CMD_UTILS_LD                 "$DEFAULT_UTILS_LD"
-	set_config_with_override STRING UTILS_AS                 CMD_UTILS_AS                 "$DEFAULT_UTILS_AS"
-
-	set_config_with_override STRING CROSS_COMPILE            CMD_CROSS_COMPILE
-	set_config_with_override STRING BOOTDIR                  CMD_BOOTDIR                  "/boot"
-	set_config_with_override STRING KERNEL_OUTPUTDIR         CMD_KERNEL_OUTPUTDIR         "${KERNEL_DIR}"
-	set_config_with_override STRING KERNEL_LOCALVERSION      CMD_KERNEL_LOCALVERSION
-	set_config_with_override STRING MODPROBEDIR              CMD_MODPROBEDIR              "/etc/modprobe.d"
-
-	set_config_with_override BOOL   SPLASH                   CMD_SPLASH                   "no"
-	set_config_with_override BOOL   CLEAR_CACHEDIR           CMD_CLEAR_CACHEDIR           "no"
-	set_config_with_override BOOL   POSTCLEAR                CMD_POSTCLEAR                "no"
-	set_config_with_override BOOL   MRPROPER                 CMD_MRPROPER                 "yes"
-	set_config_with_override BOOL   MENUCONFIG               CMD_MENUCONFIG               "no"
-	set_config_with_override BOOL   GCONFIG                  CMD_GCONFIG                  "no"
-	set_config_with_override BOOL   NCONFIG                  CMD_NCONFIG                  "no"
-	set_config_with_override BOOL   XCONFIG                  CMD_XCONFIG                  "no"
-	set_config_with_override BOOL   CLEAN                    CMD_CLEAN                    "yes"
-
-	set_config_with_override STRING MINKERNPACKAGE           CMD_MINKERNPACKAGE
-	set_config_with_override STRING MODULESPACKAGE           CMD_MODULESPACKAGE
-	set_config_with_override BOOL   MODULEREBUILD            CMD_MODULEREBUILD            "yes"
-	set_config_with_override STRING KERNCACHE                CMD_KERNCACHE
-	set_config_with_override BOOL   RAMDISKMODULES           CMD_RAMDISKMODULES           "yes"
-	set_config_with_override BOOL   ALLRAMDISKMODULES        CMD_ALLRAMDISKMODULES        "no"
-	set_config_with_override STRING INITRAMFS_OVERLAY        CMD_INITRAMFS_OVERLAY
-	set_config_with_override BOOL   MOUNTBOOT                CMD_MOUNTBOOT                "yes"
-	set_config_with_override BOOL   BUILD_STATIC             CMD_STATIC                   "no"
-	set_config_with_override BOOL   SAVE_CONFIG              CMD_SAVE_CONFIG              "yes"
-	set_config_with_override BOOL   SYMLINK                  CMD_SYMLINK                  "no"
-	set_config_with_override STRING INSTALL_MOD_PATH         CMD_INSTALL_MOD_PATH
-	set_config_with_override BOOL   OLDCONFIG                CMD_OLDCONFIG                "yes"
-	set_config_with_override BOOL   SANDBOX                  CMD_SANDBOX                  "yes"
-	set_config_with_override BOOL   SSH                      CMD_SSH                      "no"
-	set_config_with_override STRING SSH_AUTHORIZED_KEYS_FILE CMD_SSH_AUTHORIZED_KEYS_FILE "/etc/dropbear/authorized_keys"
-	set_config_with_override STRING SSH_HOST_KEYS            CMD_SSH_HOST_KEYS            "create"
-	set_config_with_override BOOL   STRACE                   CMD_STRACE                   "no"
-	set_config_with_override BOOL   BCACHE                   CMD_BCACHE                   "no"
-	set_config_with_override BOOL   LVM                      CMD_LVM                      "no"
-	set_config_with_override BOOL   DMRAID                   CMD_DMRAID                   "no"
-	set_config_with_override BOOL   ISCSI                    CMD_ISCSI                    "no"
-	set_config_with_override BOOL   HYPERV                   CMD_HYPERV                   "no"
-	set_config_with_override STRING BOOTLOADER               CMD_BOOTLOADER               "no"
-	set_config_with_override BOOL   BUSYBOX                  CMD_BUSYBOX                  "yes"
-	set_config_with_override STRING BUSYBOX_CONFIG           CMD_BUSYBOX_CONFIG
-	set_config_with_override BOOL   NFS                      CMD_NFS                      "yes"
-	set_config_with_override STRING MICROCODE                CMD_MICROCODE                "all"
-	set_config_with_override BOOL   MICROCODE_INITRAMFS      CMD_MICROCODE_INITRAMFS      "yes"
-	set_config_with_override BOOL   UNIONFS                  CMD_UNIONFS                  "no"
-	set_config_with_override BOOL   NETBOOT                  CMD_NETBOOT                  "no"
-	set_config_with_override STRING REAL_ROOT                CMD_REAL_ROOT
-	set_config_with_override BOOL   DISKLABEL                CMD_DISKLABEL                "yes"
-	set_config_with_override BOOL   LUKS                     CMD_LUKS                     "no"
-	set_config_with_override BOOL   GPG                      CMD_GPG                      "no"
-	set_config_with_override BOOL   MDADM                    CMD_MDADM                    "no"
-	set_config_with_override STRING MDADM_CONFIG             CMD_MDADM_CONFIG
-	set_config_with_override BOOL   E2FSPROGS                CMD_E2FSPROGS                "no"
-	set_config_with_override BOOL   XFSPROGS                 CMD_XFSPROGS                 "no"
-	set_config_with_override BOOL   ZFS                      CMD_ZFS                      "$(rootfs_type_is zfs)"
-	set_config_with_override BOOL   BTRFS                    CMD_BTRFS                    "$(rootfs_type_is btrfs)"
-	set_config_with_override BOOL   VIRTIO                   CMD_VIRTIO                   "no"
-	set_config_with_override BOOL   MULTIPATH                CMD_MULTIPATH                "no"
-	set_config_with_override BOOL   FIRMWARE                 CMD_FIRMWARE                 "no"
-	set_config_with_override STRING FIRMWARE_DIR             CMD_FIRMWARE_DIR             "/lib/firmware"
-	set_config_with_override STRING FIRMWARE_FILES           CMD_FIRMWARE_FILES
-	set_config_with_override BOOL   FIRMWARE_INSTALL         CMD_FIRMWARE_INSTALL         "no"
-	set_config_with_override BOOL   INTEGRATED_INITRAMFS     CMD_INTEGRATED_INITRAMFS     "no"
-	set_config_with_override BOOL   WRAP_INITRD              CMD_WRAP_INITRD              "no"
-	set_config_with_override BOOL   GENZIMAGE                CMD_GENZIMAGE                "no"
-	set_config_with_override BOOL   KEYMAP                   CMD_KEYMAP                   "yes"
-	set_config_with_override BOOL   DOKEYMAPAUTO             CMD_DOKEYMAPAUTO             "no"
-	set_config_with_override STRING BUSYBOX_CONFIG           CMD_BUSYBOX_CONFIG
-	set_config_with_override STRING STRIP_TYPE               CMD_STRIP_TYPE               "modules"
-	set_config_with_override BOOL   INSTALL                  CMD_INSTALL                  "yes"
-	set_config_with_override BOOL   CLEANUP                  CMD_CLEANUP                  "yes"
+	#                               Dest / Config File                    Command Line                              Arch Default
+	#                               ------------------                    ------------                              ------------
+	set_config_with_override STRING TMPDIR                                CMD_TMPDIR                                "/var/tmp/genkernel"
+	set_config_with_override STRING LOGFILE                               CMD_LOGFILE                               "/var/log/genkernel.conf"
+	set_config_with_override STRING KERNEL_DIR                            CMD_KERNEL_DIR                            "${DEFAULT_KERNEL_SOURCE}"
+	set_config_with_override BOOL   KERNEL_SOURCES                        CMD_KERNEL_SOURCES                        "yes"
+	set_config_with_override STRING KNAME                                 CMD_KERNNAME                              "genkernel"
+
+	set_config_with_override STRING CHECK_FREE_DISK_SPACE_BOOTDIR         CMD_CHECK_FREE_DISK_SPACE_BOOTDIR
+	set_config_with_override STRING CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR CMD_CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR
+
+	set_config_with_override STRING COMPRESS_INITRD                       CMD_COMPRESS_INITRD                       "$DEFAULT_COMPRESS_INITRD"
+	set_config_with_override STRING COMPRESS_INITRD_TYPE                  CMD_COMPRESS_INITRD_TYPE                  "$DEFAULT_COMPRESS_INITRD_TYPE"
+	set_config_with_override STRING MAKEOPTS                              CMD_MAKEOPTS                              "$DEFAULT_MAKEOPTS"
+	set_config_with_override STRING NICE                                  CMD_NICE                                  "10"
+	set_config_with_override STRING KERNEL_MAKE                           CMD_KERNEL_MAKE                           "$DEFAULT_KERNEL_MAKE"
+	set_config_with_override STRING UTILS_CFLAGS                          CMD_UTILS_CFLAGS                          "$DEFAULT_UTILS_CFLAGS"
+	set_config_with_override STRING UTILS_MAKE                            CMD_UTILS_MAKE                            "$DEFAULT_UTILS_MAKE"
+	set_config_with_override STRING KERNEL_CC                             CMD_KERNEL_CC                             "$DEFAULT_KERNEL_CC"
+	set_config_with_override STRING KERNEL_LD                             CMD_KERNEL_LD                             "$DEFAULT_KERNEL_LD"
+	set_config_with_override STRING KERNEL_AS                             CMD_KERNEL_AS                             "$DEFAULT_KERNEL_AS"
+	set_config_with_override STRING UTILS_CC                              CMD_UTILS_CC                              "$DEFAULT_UTILS_CC"
+	set_config_with_override STRING UTILS_LD                              CMD_UTILS_LD                              "$DEFAULT_UTILS_LD"
+	set_config_with_override STRING UTILS_AS                              CMD_UTILS_AS                              "$DEFAULT_UTILS_AS"
+
+	set_config_with_override STRING CROSS_COMPILE                         CMD_CROSS_COMPILE
+	set_config_with_override STRING BOOTDIR                               CMD_BOOTDIR                               "/boot"
+	set_config_with_override STRING KERNEL_OUTPUTDIR                      CMD_KERNEL_OUTPUTDIR                      "${KERNEL_DIR}"
+	set_config_with_override STRING KERNEL_LOCALVERSION                   CMD_KERNEL_LOCALVERSION
+	set_config_with_override STRING MODPROBEDIR                           CMD_MODPROBEDIR                           "/etc/modprobe.d"
+
+	set_config_with_override BOOL   SPLASH                                CMD_SPLASH                                "no"
+	set_config_with_override BOOL   CLEAR_CACHEDIR                        CMD_CLEAR_CACHEDIR                        "no"
+	set_config_with_override BOOL   POSTCLEAR                             CMD_POSTCLEAR                             "no"
+	set_config_with_override BOOL   MRPROPER                              CMD_MRPROPER                              "yes"
+	set_config_with_override BOOL   MENUCONFIG                            CMD_MENUCONFIG                            "no"
+	set_config_with_override BOOL   GCONFIG                               CMD_GCONFIG                               "no"
+	set_config_with_override BOOL   NCONFIG                               CMD_NCONFIG                               "no"
+	set_config_with_override BOOL   XCONFIG                               CMD_XCONFIG                               "no"
+	set_config_with_override BOOL   CLEAN                                 CMD_CLEAN                                 "yes"
+
+	set_config_with_override STRING MINKERNPACKAGE                        CMD_MINKERNPACKAGE
+	set_config_with_override STRING MODULESPACKAGE                        CMD_MODULESPACKAGE
+	set_config_with_override BOOL   MODULEREBUILD                         CMD_MODULEREBUILD                         "yes"
+	set_config_with_override STRING KERNCACHE                             CMD_KERNCACHE
+	set_config_with_override BOOL   RAMDISKMODULES                        CMD_RAMDISKMODULES                        "yes"
+	set_config_with_override BOOL   ALLRAMDISKMODULES                     CMD_ALLRAMDISKMODULES                     "no"
+	set_config_with_override STRING INITRAMFS_OVERLAY                     CMD_INITRAMFS_OVERLAY
+	set_config_with_override BOOL   MOUNTBOOT                             CMD_MOUNTBOOT                             "yes"
+	set_config_with_override BOOL   BUILD_STATIC                          CMD_STATIC                                "no"
+	set_config_with_override BOOL   SAVE_CONFIG                           CMD_SAVE_CONFIG                           "yes"
+	set_config_with_override BOOL   SYMLINK                               CMD_SYMLINK                               "no"
+	set_config_with_override STRING INSTALL_MOD_PATH                      CMD_INSTALL_MOD_PATH
+	set_config_with_override BOOL   OLDCONFIG                             CMD_OLDCONFIG                             "yes"
+	set_config_with_override BOOL   SANDBOX                               CMD_SANDBOX                               "yes"
+	set_config_with_override BOOL   SSH                                   CMD_SSH                                   "no"
+	set_config_with_override STRING SSH_AUTHORIZED_KEYS_FILE              CMD_SSH_AUTHORIZED_KEYS_FILE              "/etc/dropbear/authorized_keys"
+	set_config_with_override STRING SSH_HOST_KEYS                         CMD_SSH_HOST_KEYS                         "create"
+	set_config_with_override BOOL   STRACE                                CMD_STRACE                                "no"
+	set_config_with_override BOOL   BCACHE                                CMD_BCACHE                                "no"
+	set_config_with_override BOOL   LVM                                   CMD_LVM                                   "no"
+	set_config_with_override BOOL   DMRAID                                CMD_DMRAID                                "no"
+	set_config_with_override BOOL   ISCSI                                 CMD_ISCSI                                 "no"
+	set_config_with_override BOOL   HYPERV                                CMD_HYPERV                                "no"
+	set_config_with_override STRING BOOTLOADER                            CMD_BOOTLOADER                            "no"
+	set_config_with_override BOOL   BUSYBOX                               CMD_BUSYBOX                               "yes"
+	set_config_with_override STRING BUSYBOX_CONFIG                        CMD_BUSYBOX_CONFIG
+	set_config_with_override BOOL   NFS                                   CMD_NFS                                   "yes"
+	set_config_with_override STRING MICROCODE                             CMD_MICROCODE                             "all"
+	set_config_with_override BOOL   MICROCODE_INITRAMFS                   CMD_MICROCODE_INITRAMFS                   "yes"
+	set_config_with_override BOOL   UNIONFS                               CMD_UNIONFS                               "no"
+	set_config_with_override BOOL   NETBOOT                               CMD_NETBOOT                               "no"
+	set_config_with_override STRING REAL_ROOT                             CMD_REAL_ROOT
+	set_config_with_override BOOL   DISKLABEL                             CMD_DISKLABEL                             "yes"
+	set_config_with_override BOOL   LUKS                                  CMD_LUKS                                  "no"
+	set_config_with_override BOOL   GPG                                   CMD_GPG                                   "no"
+	set_config_with_override BOOL   MDADM                                 CMD_MDADM                                 "no"
+	set_config_with_override STRING MDADM_CONFIG                          CMD_MDADM_CONFIG
+	set_config_with_override BOOL   E2FSPROGS                             CMD_E2FSPROGS                             "no"
+	set_config_with_override BOOL   XFSPROGS                              CMD_XFSPROGS                              "no"
+	set_config_with_override BOOL   ZFS                                   CMD_ZFS                                   "$(rootfs_type_is zfs)"
+	set_config_with_override BOOL   BTRFS                                 CMD_BTRFS                                 "$(rootfs_type_is btrfs)"
+	set_config_with_override BOOL   VIRTIO                                CMD_VIRTIO                                "no"
+	set_config_with_override BOOL   MULTIPATH                             CMD_MULTIPATH                             "no"
+	set_config_with_override BOOL   FIRMWARE                              CMD_FIRMWARE                              "no"
+	set_config_with_override STRING FIRMWARE_DIR                          CMD_FIRMWARE_DIR                          "/lib/firmware"
+	set_config_with_override STRING FIRMWARE_FILES                        CMD_FIRMWARE_FILES
+	set_config_with_override BOOL   FIRMWARE_INSTALL                      CMD_FIRMWARE_INSTALL                      "no"
+	set_config_with_override BOOL   INTEGRATED_INITRAMFS                  CMD_INTEGRATED_INITRAMFS                  "no"
+	set_config_with_override BOOL   WRAP_INITRD                           CMD_WRAP_INITRD                           "no"
+	set_config_with_override BOOL   GENZIMAGE                             CMD_GENZIMAGE                             "no"
+	set_config_with_override BOOL   KEYMAP                                CMD_KEYMAP                                "yes"
+	set_config_with_override BOOL   DOKEYMAPAUTO                          CMD_DOKEYMAPAUTO                          "no"
+	set_config_with_override STRING BUSYBOX_CONFIG                        CMD_BUSYBOX_CONFIG
+	set_config_with_override STRING STRIP_TYPE                            CMD_STRIP_TYPE                            "modules"
+	set_config_with_override BOOL   INSTALL                               CMD_INSTALL                               "yes"
+	set_config_with_override BOOL   CLEANUP                               CMD_CLEANUP                               "yes"
 
 	local can_write_log=no
 	if [ -w "${LOGFILE}" ]

diff --git a/gen_funcs.sh b/gen_funcs.sh
index 3c91372..94bf550 100755
--- a/gen_funcs.sh
+++ b/gen_funcs.sh
@@ -1462,6 +1462,85 @@ rootfs_type_is() {
 	fi
 }
 
+check_disk_space_requirements() {
+	local number_pattern='^[1-9]{1}[0-9]+$'
+	local available_free_disk_space=
+
+	# Start check for BOOTDIR
+	local need_to_check=yes
+
+	if [ -z "${CHECK_FREE_DISK_SPACE_BOOTDIR}" -o "${CHECK_FREE_DISK_SPACE_BOOTDIR}" = '0' ]
+	then
+		need_to_check=no
+	fi
+
+	if isTrue "${need_to_check}" && ! isTrue "${CMD_INSTALL}"
+	then
+		need_to_check=no
+	fi
+
+	if isTrue "${need_to_check}"
+	then
+		if [[ ! "${CHECK_FREE_DISK_SPACE_BOOTDIR}" =~ ${number_pattern} ]]
+		then
+			gen_die "--check-free-disk-space-bootdir value '${CHECK_FREE_DISK_SPACE_BOOTDIR}' is not a valid number!"
+		fi
+
+		available_free_disk_space=$(unset POSIXLY_CORRECT && df -BM "${BOOTDIR}" | awk '$3 ~ /[0-9]+/ { print $4 }')
+		if [ -n "${available_free_disk_space}" ]
+		then
+			print_info 2 '' 1 0
+			print_info 2 "Checking for at least ${CHECK_FREE_DISK_SPACE_BOOTDIR} MB free disk space in '${BOOTDIR}' ..."
+			print_info 5 "df reading: ${available_free_disk_space}"
+
+			available_free_disk_space=${available_free_disk_space%M}
+			if [ ${available_free_disk_space} -lt ${CHECK_FREE_DISK_SPACE_BOOTDIR} ]
+			then
+				gen_die "${CHECK_FREE_DISK_SPACE_BOOTDIR} MB free disk space is required in '${BOOTDIR}' but only ${available_free_disk_space} MB is available!"
+			fi
+		else
+			print_warning 1 "Invalid df value; Skipping free disk space check for '${BOOTDIR}' ..."
+		fi
+	fi
+
+	# Start check for kernel outputdir
+	need_to_check=yes
+
+	if [ -z "${CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR}" -o "${CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR}" = '0' ]
+	then
+		need_to_check=no
+	fi
+
+	if isTrue "${need_to_check}" && ! isTrue "${BUILD_KERNEL}"
+	then
+		need_to_check=no
+	fi
+
+	if isTrue "${need_to_check}"
+	then
+		if [[ ! "${CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR}" =~ ${number_pattern} ]]
+		then
+			gen_die "--check-free-disk-space-kerneloutputdir value '${CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR}' is not a valid number!"
+		fi
+
+		available_free_disk_space=$(unset POSIXLY_CORRECT && df -BM "${KERNEL_OUTPUTDIR}" | awk '$3 ~ /[0-9]+/ { print $4 }')
+		if [ -n "${available_free_disk_space}" ]
+		then
+			print_info 2 '' 1 0
+			print_info 2 "Checking for at least ${CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR} MB free disk space in '${KERNEL_OUTPUTDIR}' ..."
+			print_info 5 "df reading: ${available_free_disk_space}"
+
+			available_free_disk_space=${available_free_disk_space%M}
+			if [ ${available_free_disk_space} -lt ${CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR} ]
+			then
+				gen_die "${CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR} MB free disk space is required in '${BOOTDIR}' but only ${available_free_disk_space} MB is available!"
+			fi
+		else
+			print_warning 1 "Invalid df value; Skipping free disk space check for '${KERNEL_OUTPUTDIR}' ..."
+		fi
+	fi
+}
+
 check_distfiles() {
 	local source_files=( $(compgen -A variable |grep '^GKPKG_.*SRCTAR$') )
 

diff --git a/genkernel b/genkernel
index d5e9b06..0368acd 100755
--- a/genkernel
+++ b/genkernel
@@ -197,6 +197,8 @@ fi
 
 isTrue "${CMD_INSTALL}" && make_bootdir_writable
 
+check_disk_space_requirements
+
 if isTrue "${BUILD_KERNEL}" && ! isTrue "${KERNCACHE_IS_VALID}"
 then
 	print_info 1 '' 1 0

diff --git a/genkernel.conf b/genkernel.conf
index b2af4de..0c1a2e7 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -52,6 +52,12 @@ NOCOLOR="false"
 # Clear all tmp files and caches after genkernel has run
 #POSTCLEAR="no"
 
+# Check for x MB free disk space in BOOTDIR
+#CHECK_FREE_DISK_SPACE_BOOTDIR=0
+
+# Check for x MB free disk space in kernel outputdir
+#CHECK_FREE_DISK_SPACE_KERNELOUTPUTDIR=0
+
 # Genkernel uses an independent configuration for MAKEOPTS, and does not source
 # /etc/portage/make.conf . You can override the default setting by uncommenting
 # and tweaking the following line. Default setting is set up by


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2019-07-29 20:10 Thomas Deutschmann
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Deutschmann @ 2019-07-29 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     28109e6345d31d46cc226f5d5d84fc893c248ced
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 28 01:31:42 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Jul 28 21:19:39 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=28109e63

Update help text and man page

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 doc/genkernel.8.txt | 47 ++++++++++++++++++++++++++++++-----------------
 gen_cmdline.sh      |  4 ++--
 2 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 8650881..f1ccbe6 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -270,7 +270,7 @@ LOW-LEVEL COMPILATION OPTIONS
 
 *--*[*no-*]*nice*[=<niceness>]::
     Runs the kernel make at the default niceness (reduction in priority) of
-    10, or in the case of --no-nice, runs the kernel make at normal priority.
+    10, or in the case of *--no-nice*, runs the kernel make at normal priority.
 
 
 INITIALIZATION
@@ -297,12 +297,12 @@ INITIALIZATION
     When enabled, this will compile LVM for you.
 
 *--*[*no-*]*mdadm*::
-    Includes or excludes mdadm/mdmon support.
-    Without sys-fs/mdadm[static] installed, this will compile mdadm for you.
+    Includes or excludes mdadm support.
+    When enabled, this will compile mdadm for you.
 
 *--mdadm-config*=<file>::
     Use <file> as configfile for MDADM.
-    By default the ramdisk will be built *without* an mdadm.conf and
+    By default the ramdisk will be built *without* an 'mdadm.conf' and
     will auto-detect arrays during boot-up.
 
 *--*[*no-*]*microcode-initramfs*::
@@ -312,43 +312,50 @@ INITIALIZATION
 
 *--*[*no-*]*dmraid*::
     Includes or excludes DMRAID support.
+    When enabled, this will compile dmraid for you.
 
 *--*[*no-*]*nfs*::
     Includes or excludes NFS support.
 
 *--*[*no-*]*e2fsprogs*::
     Includes or excludes e2fsprogs.
+    When enabled, this will compile e2fsprogs for you.
 
 *--*[*no-*]*xfsprogs*::
     Includes or excludes xfsprogs.
+    When enabled, this will compile xfsprogs for you.
 
 *--*[*no-*]*zfs*::
     Includes or excludes ZFS support.
 
 *--*[*no-*]*btrfs*::
     Includes or excludes Btrfs support.
+    When enabled, this will compile btrfs-progs for you.
 
 *--*[*no-*]*multipath*::
     Includes or excludes Multipath support.
+    When enabled, this will compile multipath-tools for you.
 
 *--*[*no-*]*iscsi*::
     Includes or excludes iSCSI support.
+    When enabled, this will compile open-iscsi for you.
 
 *--*[*no-*]*sandbox*::
     Enables or disables sandbox-ing when building initramfs.
 
 *--*[*no-*]*ssh*::
     Includes or excludes SSH (dropbear) support for remote LUKS keys.
+    When enabled, this will compile dropbear for you.
 
 *--ssh-authorized-keys-file*=<file>::
     Specifies a user created authorized_keys file. By default genkernel
-    will use "/etc/dropbear/authorized_keys".
+    will use '/etc/dropbear/authorized_keys'.
 
 *--ssh-host-keys*=<create|create-from-host|runtime>::
     When set to *create*, which is the default value, genkernel will embed
-    SSH host keys from "/etc/dropbear" and will create those keys when missing.
+    SSH host keys from '/etc/dropbear' and will create those keys when missing.
     When set to *create-from-host*, genkernel will embed SSH host keys from
-    "/etc/dropbear" but will create those keys from "/etc/ssh" when missing
+    '/etc/dropbear' but will create those keys from '/etc/ssh' when missing
     (not recommended for security reasons).
     When set to *runtime*, genkernel will not embed any SSH host key in
     initramfs and dropbear will generate needed host key at runtime (`dropbear -R`).
@@ -366,10 +373,12 @@ INITIALIZATION
     Make and install kernelz image from 'arch/powerpc/boot/zImage.initrd'.
 
 *--*[*no-*]*disklabel*::
-    Includes or excludes disk label and uuid support in your initrd.
+    Includes or excludes disk label and uuid support in your initramfs.
+    When enabled, this will compile util-linux for you.
 
 *--*[*no-*]*luks*::
     Includes or excludes LUKS support.
+    When enabled, this will compile cryptsetup for you.
 
 *--*[*no-*]*gpg*::
     Includes or excludes support for GnuPG 1.x, the portable standalone branch
@@ -378,16 +387,19 @@ INITIALIZATION
     After that, re-point the *root_key* argument to the new .gpg file.
 
 *--*[*no-*]*busybox*::
-    Includes or excludes busybox in the initrd or initramfs.
+    Includes or excludes busybox in the initramfs.
+    When enabled, this will compile busybox for you.
 
 *--*[*no-*]*unionfs*::
     Includes or excludes support for unionfs.
+    When enabled, this will compile unionfs-fuse for you.
 
 *--*[*no-*]*netboot*::
     Creates or does not create a self-contained env in the initramfs.
 
 *--real-root*=<foo>::
-    Specify a default for *real_root*= kernel option.
+    Specify a default for *real_root*= kernel option which will be
+    embedded into initramfs.
 
 
 INTERNALS
@@ -407,7 +419,8 @@ INTERNALS
     Clears or skips clearing all files in cache location on genkernel start.
 
 *--tmpdir*=<dir>::
-    Sets genkernel's temporary working directory to <dir>.
+    Sets genkernel's temporary working directory to <dir>. By default, a
+    directory below '/var/tmp/genkernel' will be used.
 
 *--*[*no-*]*postclear*::
     Clears or skips clearing all tmp files and caches after genkernel has run.
@@ -420,17 +433,17 @@ OUTPUT SETTINGS
     option defaults to genkernel.
 
 *--minkernpackage*=<file>::
-    Archive file created using tar containing kernel and initramfs.
-    NOTE: No modules outside of the initramfs will be included!
+Archive file created using tar containing kernel and initramfs.
+
+NOTE: No modules outside of the initramfs will be included!
 
 *--modulespackage*=<archive>::
     Archive file created using tar containing modules after the callbacks
     have run.
 
 *--kerncache*=<archive>::
-   Archive file created using tar containing kernel binary, content of
-   '/lib/modules' and the kernel config.  NOTE: Archive is created before
-   the callbacks are run.
+    Archive file created using tar containing kernel binary, content of
+    '/lib/modules' and the kernel config after the callbacks have run.
 
 *--*[*no-*]*kernel-sources*::
     This option is only valid if kerncache is defined If there is a
@@ -810,6 +823,6 @@ AUTHORS
 
 SEE ALSO
 --------
-/etc/genkernel.conf - genkernel configuration file
+'/etc/genkernel.conf' - genkernel configuration file
 
 // vim: ft=asciidoc et tw=72 sts=4 ts=4 :

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index c93cffd..5d62a64 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -191,8 +191,8 @@ longusage() {
   echo "				Archive file created using tar containing modules after"
   echo "				the callbacks have run"
   echo "	--kerncache=<archive>	Archive file created using tar containing kernel binary,"
-  echo "				content of /lib/modules and the kernel config."
-  echo "				NOTE: Archive is created before the callbacks are run!"
+  echo "				content of /lib/modules and the kernel config after the"
+  echo "				callbacks have run"
   echo "	--no-kernel-sources	This option is only valid if kerncache is"
   echo "				defined. If there is a valid kerncache no checks"
   echo "				will be made against a kernel source tree"


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2019-07-29 20:10 Thomas Deutschmann
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Deutschmann @ 2019-07-29 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     94d32a155ef3e5cd59f852a032e5887b74306d81
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 28 22:06:33 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Jul 29 20:00:27 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=94d32a15

Add --kernel-append-localversion option

Now that we moved $ARCH value to kernel's LOCALVERSION setting,
you cannot easily change LOCALVERSION anymore without losing
$ARCH information.

This can be annoying when you just want to build a new revision
which should have its own kernel binary, initramfs and modules
directory because you would have to remember to include default
value.

The new option will allow you to just append to genkernel's
KERNEL_LOCALVERSION value. This way you can just call genkernel
with --kernel-append-localversion=-rN option to build and test
a new revision.

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 doc/genkernel.8.txt  |  6 +++++
 gen_cmdline.sh       |  6 +++++
 gen_determineargs.sh | 63 ++++++++++++++++++++++++++++++++++------------------
 3 files changed, 53 insertions(+), 22 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 35762a2..1b36729 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -124,6 +124,12 @@ KERNEL CONFIGURATION
 *--*[*no-*]*virtio*::
     Adds, or skip adding VirtIO support to kernel configuration.
 
+*--kernel-append-localversion*=<...>::
+    Appends value to genkernel's *KERNEL_LOCALVERSION* option (see below).
+    The idea is to use this option to allow to easily build a new revision
+    with own kernel binary, initramfs and modules directory without losing
+    default *KERNEL_LOCALVERSION* value.
+
 *--kernel-localversion*=<...>::
 Set kernel option *LOCALVERSION*. Use special value *UNSET* to
 unset any already set *LOCALVERSION*. The following placeholders are

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 6fbf309..dcf479b 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -71,6 +71,8 @@ longusage() {
   echo "	--no-static		Do not build a static (monolithic kernel)"
   echo "  Kernel settings"
   echo "	--kerneldir=<dir>	Location of the kernel sources"
+  echo "	--kernel-append-localversion=<...>"
+  echo "				Appends value to genkernel's KERNEL_LOCALVERSION option"
   echo "	--kernel-config=<file|default>"
   echo "				Kernel configuration file to use for compilation; Use"
   echo "				'default' to explicitly start from scratch using"
@@ -648,6 +650,10 @@ parse_cmdline() {
 			CMD_KERNEL_DIR="${*#*=}"
 			print_info 3 "CMD_KERNEL_DIR: ${CMD_KERNEL_DIR}"
 			;;
+		--kernel-append-localversion=*)
+			CMD_KERNEL_APPEND_LOCALVERSION="${*#*=}"
+			print_info 3 "CMD_KERNEL_APPEND_LOCALVERSION: ${CMD_KERNEL_APPEND_LOCALVERSION}"
+			;;
 		--kernel-config=*)
 			CMD_KERNEL_CONFIG="${*#*=}"
 			print_info 3 "CMD_KERNEL_CONFIG: ${CMD_KERNEL_CONFIG}"

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index df0934d..f4b3cf7 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -290,6 +290,7 @@ determine_real_args() {
 	set_config_with_override STRING CROSS_COMPILE                         CMD_CROSS_COMPILE
 	set_config_with_override STRING BOOTDIR                               CMD_BOOTDIR                               "/boot"
 	set_config_with_override STRING KERNEL_OUTPUTDIR                      CMD_KERNEL_OUTPUTDIR                      "${KERNEL_DIR}"
+	set_config_with_override STRING KERNEL_APPEND_LOCALVERSION            CMD_KERNEL_APPEND_LOCALVERSION
 	set_config_with_override STRING KERNEL_LOCALVERSION                   CMD_KERNEL_LOCALVERSION                   "-%%ARCH%%"
 	set_config_with_override STRING MODPROBEDIR                           CMD_MODPROBEDIR                           "/etc/modprobe.d"
 
@@ -630,6 +631,46 @@ determine_real_args() {
 		need_tar=yes
 	fi
 
+	# We always need to populate KERNEL_LOCALVERSION to be able to warn
+	# if user changed value but didn't rebuild kernel
+	local valid_localversion_pattern='^[A-Za-z0-9_.-]{1,}$'
+
+	if [ -n "${KERNEL_LOCALVERSION}" ]
+	then
+		case "${KERNEL_LOCALVERSION}" in
+			UNSET)
+				;;
+			*)
+				KERNEL_LOCALVERSION=$(arch_replace "${KERNEL_LOCALVERSION}")
+				if [ -z "${KERNEL_LOCALVERSION}" ]
+				then
+					# We somehow lost value...
+					gen_die "Internal error: Variable 'KERNEL_LOCALVERSION' is empty!"
+				fi
+
+				if [[ ! "${KERNEL_LOCALVERSION}" =~ ${valid_localversion_pattern} ]]
+				then
+					gen_die "--kernel-localversion value '${KERNEL_LOCALVERSION}' does not match '${valid_localversion_pattern}' regex!"
+				fi
+				;;
+		esac
+	fi
+
+	if [ -n "${KERNEL_APPEND_LOCALVERSION}" ]
+	then
+		if [[ ! "${KERNEL_APPEND_LOCALVERSION}" =~ ${valid_localversion_pattern} ]]
+		then
+			gen_die "--kernel-append-localversion value '${KERNEL_APPEND_LOCALVERSION}' does not match '${valid_localversion_pattern}' regex!"
+		fi
+
+		if [[ "${KERNEL_LOCALVERSION}" == "UNSET" ]]
+		then
+			gen_die "Cannot append '${KERNEL_APPEND_LOCALVERSION}' to KERNEL_LOCALVERSION you want to unset!"
+		else
+			KERNEL_LOCALVERSION+="${KERNEL_APPEND_LOCALVERSION}"
+		fi
+	fi
+
 	if isTrue "${BUILD_KERNEL}"
 	then
 		if [ "${KERNEL_DIR}" != "${KERNEL_OUTPUTDIR}" -a ! -d "${KERNEL_OUTPUTDIR}" ]
@@ -637,28 +678,6 @@ determine_real_args() {
 			print_warning 3 "Set --kernel-outputdir '${KERNEL_OUTPUTDIR}' does not exist; Will try to create ..."
 			mkdir -p "${KERNEL_OUTPUTDIR}" || gen_die "Failed to create '${KERNEL_OUTPUTDIR}'!"
 		fi
-
-		if [ -n "${KERNEL_LOCALVERSION}" ]
-		then
-			case "${KERNEL_LOCALVERSION}" in
-				UNSET)
-					;;
-				*)
-					KERNEL_LOCALVERSION=$(arch_replace "${KERNEL_LOCALVERSION}")
-					if [ -z "${KERNEL_LOCALVERSION}" ]
-					then
-						# We somehow lost value...
-						gen_die "Internal error: Variable 'KERNEL_LOCALVERSION' is empty!"
-					fi
-
-					local valid_localversion_pattern='^[A-Za-z0-9_.-]{1,}$'
-					if [[ ! "${KERNEL_LOCALVERSION}" =~ ${valid_localversion_pattern} ]]
-					then
-						gen_die "--kernel-localversion value '${KERNEL_LOCALVERSION}' does not match '${valid_localversion_pattern}' regex!"
-					fi
-					;;
-			esac
-		fi
 	fi
 
 	if ! isTrue "${BUILD_RAMDISK}"


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2019-12-05 23:52 Thomas Deutschmann
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Deutschmann @ 2019-12-05 23:52 UTC (permalink / raw
  To: gentoo-commits

commit:     be6974e7d7130845915e361f35d0534e6807f63d
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  3 23:59:25 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Dec  3 23:59:25 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=be6974e7

genkernel.conf: Disable MICROCODE_INITRAMFS option by default

Embedding microcode updates into initramfs is deprecated when
system is able to load multiple initramfs.

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 doc/genkernel.8.txt  | 3 +++
 gen_determineargs.sh | 2 +-
 genkernel.conf       | 8 +++++---
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index cb2009f..6c4c155 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -334,6 +334,9 @@ INITIALIZATION
     But only when kernel configuration does support early microcode loading.
     See *--microcode* option to auto-update kernel configuration.
 
+NOTE: Embedding microcode updates into initramfs is *deprecated* when
+system is able to load multiple initramfs.
+
 *--*[*no-*]*dmraid*::
     Includes or excludes DMRAID support.
     When enabled, this will compile dmraid for you.

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index a5bebd5..9e46576 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -345,7 +345,7 @@ determine_real_args() {
 	set_config_with_override STRING BUSYBOX_CONFIG                        CMD_BUSYBOX_CONFIG
 	set_config_with_override BOOL   NFS                                   CMD_NFS                                   "yes"
 	set_config_with_override STRING MICROCODE                             CMD_MICROCODE                             "all"
-	set_config_with_override BOOL   MICROCODE_INITRAMFS                   CMD_MICROCODE_INITRAMFS                   "yes"
+	set_config_with_override BOOL   MICROCODE_INITRAMFS                   CMD_MICROCODE_INITRAMFS                   "no"
 	set_config_with_override BOOL   UNIONFS                               CMD_UNIONFS                               "no"
 	set_config_with_override BOOL   NETBOOT                               CMD_NETBOOT                               "no"
 	set_config_with_override STRING REAL_ROOT                             CMD_REAL_ROOT

diff --git a/genkernel.conf b/genkernel.conf
index f87ae15..bdb5df4 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -85,9 +85,11 @@ NOCOLOR="false"
 #MICROCODE="all"
 
 # Include early microcode in generated initramfs.
-# This is enabled by default for upgrade compatability, however is obsoleted by
-# sys-boot/grub-2.02-r1, which supports multiple initramfs in the bootloader.
-#MICROCODE_INITRAMFS="yes"
+# Only needed if system cannot load multiple initramfs.
+# NOTE: >=sys-boot/grub-2 will detect and auto-load {amd,intel}-uc.img file
+#       provided by sys-firmware/intel-microcode[initramfs] or
+#       sys-kernel/linux-firmware[initramfs].
+#MICROCODE_INITRAMFS="no"
 
 # Add NFS support
 #NFS="no"


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2020-05-24 22:27 Thomas Deutschmann
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Deutschmann @ 2020-05-24 22:27 UTC (permalink / raw
  To: gentoo-commits

commit:     06acd6f691351a99f7931a791682c4ac45abe650
Author:     Richard Yao <ryao <AT> gentoo <DOT> org>
AuthorDate: Sun May 24 22:20:22 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun May 24 22:27:23 2020 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=06acd6f6

Document lz4 compression support

Signed-off-by: Richard Yao <ryao <AT> gentoo.org>
Closes: https://github.com/gentoo/genkernel/pull/15
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 doc/genkernel.8.txt | 2 +-
 gen_cmdline.sh      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 7cd65fe..494a29c 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -598,7 +598,7 @@ NOTE: System.map filename and System.map symlink name must be different.
     Deprecated alias for *--*[*no-*]*compress-initramfs*.
 
 *--compress-initramfs-type*=<arg>::
-    Compression type for initramfs (best, xz, lzma, bzip2, gzip, lzop).
+    Compression type for initramfs (best, xz, lzma, bzip2, gzip, lzop, lz4).
     "Best" causes selection of the best available algorithm that is selected
     in your kernel configuration.
 

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index a34a739..9e59ed2 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -243,7 +243,7 @@ longusage() {
   echo "	--compress-initrd	Deprecated alias for --compress-initramfs"
   echo "	--no-compress-initrd	Deprecated alias for --no-compress-initramfs"
   echo "	--compress-initramfs-type=<arg>"
-  echo "				Compression type for initramfs (best, xz, lzma, bzip2, gzip, lzop)"
+  echo "				Compression type for initramfs (best, xz, lzma, bzip2, gzip, lzop, lz4)"
   echo "	--strip=(all|kernel|modules|none)"
   echo "				Strip debug symbols from none, all, installed kernel (obsolete) or"
   echo "				modules (default)"


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2021-03-15 20:02 Thomas Deutschmann
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Deutschmann @ 2021-03-15 20:02 UTC (permalink / raw
  To: gentoo-commits

commit:     9722fb1b99011c720459fa5f11e9b78929b060ac
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 15 00:03:43 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Mar 15 00:03:43 2021 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=9722fb1b

Change --firmware-files handling

- Move from space-separated list to comma-separated list
  to add support for firmware files with spaces.

- Add support for firmware files with spaces.

- Check for specified firmware files in determine_real_args() which
  will allow us to error out early.

- Clarify documentation.

Fixes: c576f99b0b ("Misc improvements for FIRMWARE* handling")
Bug: https://bugs.gentoo.org/775221
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 doc/genkernel.8.txt  |  4 ++--
 gen_determineargs.sh | 12 ++++++++----
 gen_initramfs.sh     |  4 ++--
 genkernel.conf       |  4 ++--
 4 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 44f3d59..aa18496 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -571,8 +571,8 @@ NOTE: System.map filename and System.map symlink name must be different.
     Specify directory to copy firmware from (defaults to '/lib/firmware').
 
 *--firmware-files*=<files>::
-    Specifies specific firmware files to copy. This overrides *--firmware-dir*.
-    For multiple files, separate the filenames with a comma.
+    Specifies specific firmware files or directories to copy, relative to
+    *--firmware-dir*. For multiple files, separate the filenames with a comma.
 
 *--*[*no-*]*firmware-install*::
     Enable or disables installation of firmware onto root filesystem.

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index 265c557..3e6e4dd 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -1240,10 +1240,14 @@ determine_real_args() {
 
 	if isTrue "${FIRMWARE}"
 	then
-		for ff in ${FIRMWARE_FILES}; do
-			[[ ${ff} = /* ]] && gen_die "FIRMWARE_FILES should list paths relative to FIRMWARE_DIR, not absolute."
+		IFS=',' read -r -a FIRMWARE_FILES <<< "${FIRMWARE_FILES}"
+		pushd "${FIRMWARE_DIR}" &>/dev/null || gen_die "Failed to chdir to '${FIRMWARE_DIR}'!"
+		local ff
+		for ff in "${FIRMWARE_FILES[@]}"
+		do
+			[[ ${ff} = /* ]] && gen_die "--firmware-files contains value '${ff}' which is not a relative path from '${FIRMWARE_DIR}'!"
+			[[ ! -e "${ff}" ]] && gen_die "--firmware-files contains value '${ff}' which was not found in '${FIRMWARE_DIR}'!"
 		done
-
-		[[ "${FIRMWARE_FILES}" = *,* ]] && gen_die "FIRMWARE_FILES should be a space-separated list."
+		popd &>/dev/null || gen_die "Failed to chdir!"
 	fi
 }

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 65a966d..9c030c5 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -1652,10 +1652,10 @@ append_firmware() {
 
 	mkdir -p "${TDIR}"/lib/firmware || gen_die "Failed to create '${TDIR}/lib/firmware'!"
 
-	if [ -n "${FIRMWARE_FILES}" ]
+	if [ ${#FIRMWARE_FILES[@]} -gt 0 ]
 	then
 		pushd "${FIRMWARE_DIR}" &>/dev/null || gen_die "Failed to chdir to '${FIRMWARE_DIR}'!"
-		cp -rL --parents --target-directory="${TDIR}/lib/firmware" ${FIRMWARE_FILES} 2>/dev/null \
+		cp -rL --parents --target-directory="${TDIR}/lib/firmware" "${FIRMWARE_FILES[@]}" 2>/dev/null \
 			|| gen_die "Failed to copy firmware files (${FIRMWARE_FILES}) to '${TDIR}/lib/firmware'!"
 		popd &>/dev/null || gen_die "Failed to chdir!"
 	else

diff --git a/genkernel.conf b/genkernel.conf
index a8507d1..6c350a6 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -147,9 +147,9 @@ NOCOLOR="false"
 # Specify directory to pull from
 #FIRMWARE_DIR="/lib/firmware"
 
-# Specify a space-separated list of firmware files or directories to include,
+# Specify a comma-separated list of firmware files or directories to include,
 # relative to FIRMWARE_DIR.  If empty or unset, the full contents of 
-# FIRMWARE_DIR will be included.
+# FIRMWARE_DIR will be included (if FIRMWARE option above is set to YES).
 #FIRMWARE_FILES=""
 
 # Add new kernel to grub


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2021-09-13  5:08 Matt Turner
  0 siblings, 0 replies; 23+ messages in thread
From: Matt Turner @ 2021-09-13  5:08 UTC (permalink / raw
  To: gentoo-commits

commit:     0fb54668df8925cd81ed9d40917c19a78891f9da
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 13 05:07:05 2021 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Mon Sep 13 05:07:05 2021 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0fb54668

gen_cmdline.sh: Correctly sort --{kernel,utils}-{as,nm}

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 doc/genkernel.8.txt | 18 +++++++++---------
 gen_cmdline.sh      | 40 ++++++++++++++++++++--------------------
 2 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 262027b..273f9c1 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -243,24 +243,24 @@ LOW-LEVEL COMPILATION OPTIONS
     when the system running genkernel has a different architecture like
     the system which should boot the created kernel/initramfs.
 
-*--kernel-as*=<assembler>::
-    Assembler to use for the kernel compilation.
-
 *--kernel-ar*=<archiver>::
     Archiver to use for the kernel compilation.
 
+*--kernel-as*=<assembler>::
+    Assembler 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-nm*=<nm>::
-    NM utility to use for the kernel compilation.
-
 *--kernel-make*=<makeprog>::
     GNU Make to use for the kernel compilation.
 
+*--kernel-nm*=<nm>::
+    NM utility to use for the kernel compilation.
+
 *--kernel-objcopy*=<objcopyprog>::
     Objcopy utility to use for the kernel compilation.
 
@@ -290,12 +290,12 @@ LOW-LEVEL COMPILATION OPTIONS
     tree (eg because cannot write to that directory as the user genkernel is
     running as).
 
-*--utils-as*=<assembler>::
-    Assembler to use for utilities.
-
 *--utils-ar*=<archiver>::
     Archiver to use for utilities.
 
+*--utils-as*=<assembler>::
+    Assembler to use for utilities.
+
 *--utils-cflags*=<cflags>::
     C compiler flags used to compile utilities.
 

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index b35750d..e3c985e 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -86,24 +86,24 @@ longusage() {
   echo "  Low-Level Compile settings"
   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-as=<assembler>	Assembler 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-nm=<nm>	NM utility 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-as=<assembler>	Assembler 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 "	--utils-nm=<nm>		NM utility to use for utils"
   echo "	--makeopts=<makeopts>	Make options such as -j2, etc ..."
   echo "	--mountboot		Mount BOOTDIR automatically if mountable"
   echo "	--no-mountboot		Don't mount BOOTDIR automatically"
@@ -292,14 +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-as=*)
+			CMD_KERNEL_AS="${*#*=}"
+			print_info 3 "CMD_KERNEL_AS: ${CMD_KERNEL_AS}"
+			;;
 		--kernel-cc=*)
 			CMD_KERNEL_CC="${*#*=}"
 			print_info 3 "CMD_KERNEL_CC: ${CMD_KERNEL_CC}"
@@ -308,14 +308,14 @@ parse_cmdline() {
 			CMD_KERNEL_LD="${*#*=}"
 			print_info 3 "CMD_KERNEL_LD: ${CMD_KERNEL_LD}"
 			;;
-		--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-nm=*)
+			CMD_KERNEL_NM="${*#*=}"
+			print_info 3 "CMD_KERNEL_NM: ${CMD_KERNEL_NM}"
+			;;
 		--kernel-objcopy=*)
 			CMD_KERNEL_OBJCOPY="${*#*=}"
 			print_info 3 "CMD_KERNEL_OBJCOPY: ${CMD_KERNEL_OBJCOPY}"
@@ -348,14 +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-as=*)
+			CMD_UTILS_AS="${*#*=}"
+			print_info 3 "CMD_UTILS_AS: ${CMD_UTILS_AS}"
+			;;
 		--utils-cc=*)
 			CMD_UTILS_CC="${*#*=}"
 			print_info 3 "CMD_UTILS_CC: ${CMD_UTILS_CC}"
@@ -372,14 +372,14 @@ parse_cmdline() {
 			CMD_UTILS_LD="${*#*=}"
 			print_info 3 "CMD_UTILS_LD: ${CMD_UTILS_LD}"
 			;;
-		--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-nm=*)
+			CMD_UTILS_NM="${*#*=}"
+			print_info 3 "CMD_UTILS_NM: ${CMD_UTILS_NM}"
+			;;
 		--utils-objcopy=*)
 			CMD_UTILS_OBJCOPY="${*#*=}"
 			print_info 3 "CMD_UTILS_OBJCOPY: ${CMD_UTILS_OBJCOPY}"


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [gentoo-commits] proj/genkernel:master commit in: /, doc/
@ 2024-01-19 20:11 Ben Kohler
  0 siblings, 0 replies; 23+ messages in thread
From: Ben Kohler @ 2024-01-19 20:11 UTC (permalink / raw
  To: gentoo-commits

commit:     d6a77d90fd511b04b12bd7ae40d710d3d144c077
Author:     Ben Kohler <bkohler <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 19 20:05:49 2024 +0000
Commit:     Ben Kohler <bkohler <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 20:09:41 2024 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d6a77d90

doc: add new cmdline options to man page

Signed-off-by: Ben Kohler <bkohler <AT> gentoo.org>

 doc/genkernel.8.txt | 6 ++++++
 genkernel           | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 3108dde..571ab06 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -241,6 +241,9 @@ LOW-LEVEL COMPILATION OPTIONS
     when the system running genkernel has a different architecture like
     the system which should boot the created kernel/initramfs.
 
+*--kernel-cross-compile*=<target triplet>::
+    Target triple (i.e. aarch64-linux-gnu) to build kernel for.
+
 *--kernel-ar*=<archiver>::
     Archiver to use for the kernel compilation.
 
@@ -620,6 +623,9 @@ NOTE: System.map filename and System.map symlink name must be different.
 *--*[*no-*]*firmware*::
     Enable or disables copying of firmware into initramfs.
 
+*--*[*no-*]*all-firmware*::
+    Enable or disable copying of all firmware into initramfs
+
 *--firmware-dir*=<dir>::
     Specify directory to copy firmware from (defaults to '/lib/firmware').
 

diff --git a/genkernel b/genkernel
index feaaad6..e825e7f 100755
--- a/genkernel
+++ b/genkernel
@@ -2,7 +2,7 @@
 # $Id$
 
 PATH="${PATH}:/sbin:/usr/sbin"
-GK_V='4.3.9'
+GK_V='4.3.10'
 
 # Normalize locales
 export LC_ALL=C


^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-01-19 20:11 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-31  3:47 [gentoo-commits] proj/genkernel:master commit in: /, doc/ Sebastian Pipping
  -- strict thread matches above, loose matches on Subject: below --
2024-01-19 20:11 Ben Kohler
2021-09-13  5:08 Matt Turner
2021-03-15 20:02 Thomas Deutschmann
2020-05-24 22:27 Thomas Deutschmann
2019-12-05 23:52 Thomas Deutschmann
2019-07-29 20:10 Thomas Deutschmann
2019-07-29 20:10 Thomas Deutschmann
2019-07-23 19:47 Thomas Deutschmann
2017-11-15  3:08 Robin H. Johnson
2017-07-14 18:50 Robin H. Johnson
2016-10-12 13:52 Robin H. Johnson
2016-01-24  5:50 Robin H. Johnson
2015-02-08 21:39 Christoph Junghans
2012-10-16  0:01 Robin H. Johnson
2012-10-13 23:31 Robin H. Johnson
2012-09-30 19:28 Sebastian Pipping
2012-07-17 20:05 Richard Yao
2012-07-16  2:08 Robin H. Johnson
2012-02-06  9:42 Robin H. Johnson
2011-06-07 19:14 Sebastian Pipping
2011-06-07  0:29 Sebastian Pipping
2011-05-31  1:48 Sebastian Pipping

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox