Some more generalcleanup and adding support for using a config file other than /etc/genkernel.conf to add flexibility.

git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@542 67a159dc-881f-0410-a524-ba9dfbe2cb84
cleanup-cruft
Chris Gianelloni 18 years ago
parent 2716ac4dc2
commit 4005d85692

@ -2,6 +2,11 @@
# Copyright 2006-2007 Gentoo Foundation; Distributed under the GPL v2 # Copyright 2006-2007 Gentoo Foundation; Distributed under the GPL v2
# $Header: $ # $Header: $
17 Sep 2007; Chris Gianelloni <wolf31o2@gentoo.org> gen_cmdline.sh,
gen_configkernel.sh, genkernel:
Some more generalcleanup and adding support for using a config file other
than /etc/genkernel.conf to add flexibility.
17 Sep 2007; Chris Gianelloni <wolf31o2@gentoo.org> 17 Sep 2007; Chris Gianelloni <wolf31o2@gentoo.org>
-pkg/module-init-tools-0.9.15-pre4.tar.bz2, -pkg/module-init-tools-0.9.15-pre4.tar.bz2,
-pkg/klibc-1.1.16-sparc2.patch, -pkg/klibc-1.2.1-nostdinc-flags.patch, -pkg/klibc-1.1.16-sparc2.patch, -pkg/klibc-1.2.1-nostdinc-flags.patch,

@ -12,6 +12,8 @@ longusage() {
echo " initrd Build only the initrd" echo " initrd Build only the initrd"
echo echo
echo "Available Options: " echo "Available Options: "
echo " Configuration settings"
echo " --config=<file> genkernel configuration file to use"
echo " Debug settings" echo " Debug settings"
echo " --debuglevel=<0-5> Debug Verbosity Level" echo " --debuglevel=<0-5> Debug Verbosity Level"
echo " --debugfile=<outfile> Output file for debug info" echo " --debugfile=<outfile> Output file for debug info"
@ -128,386 +130,377 @@ usage() {
echo ' genkernel --help' echo ' genkernel --help'
} }
parse_opt() {
case "$1" in
*\=*)
echo "$1" | cut -f2- -d=
;;
esac
}
parse_cmdline() { parse_cmdline() {
case "$*" in case "$*" in
--kernel-cc=*) --kernel-cc=*)
CMD_KERNEL_CC=`parse_opt "$*"` CMD_KERNEL_CC=`parse_opt "$*"`
print_info 2 "CMD_KERNEL_CC: ${CMD_KERNEL_CC}" print_info 2 "CMD_KERNEL_CC: ${CMD_KERNEL_CC}"
;; ;;
--kernel-ld=*) --kernel-ld=*)
CMD_KERNEL_LD=`parse_opt "$*"` CMD_KERNEL_LD=`parse_opt "$*"`
print_info 2 "CMD_KERNEL_LD: ${CMD_KERNEL_LD}" print_info 2 "CMD_KERNEL_LD: ${CMD_KERNEL_LD}"
;; ;;
--kernel-as=*) --kernel-as=*)
CMD_KERNEL_AS=`parse_opt "$*"` CMD_KERNEL_AS=`parse_opt "$*"`
print_info 2 "CMD_KERNEL_AS: ${CMD_KERNEL_AS}" print_info 2 "CMD_KERNEL_AS: ${CMD_KERNEL_AS}"
;; ;;
--kernel-make=*) --kernel-make=*)
CMD_KERNEL_MAKE=`parse_opt "$*"` CMD_KERNEL_MAKE=`parse_opt "$*"`
print_info 2 "CMD_KERNEL_MAKE: ${CMD_KERNEL_MAKE}" print_info 2 "CMD_KERNEL_MAKE: ${CMD_KERNEL_MAKE}"
;; ;;
--kernel-cross-compile=*) --kernel-cross-compile=*)
CMD_KERNEL_CROSS_COMPILE=`parse_opt "$*"` CMD_KERNEL_CROSS_COMPILE=`parse_opt "$*"`
CMD_KERNEL_CROSS_COMPILE=$(echo ${CMD_KERNEL_CROSS_COMPILE}|sed -e 's/.*[^-]$/&-/g') CMD_KERNEL_CROSS_COMPILE=$(echo ${CMD_KERNEL_CROSS_COMPILE}|sed -e 's/.*[^-]$/&-/g')
print_info 2 "CMD_KERNEL_CROSS_COMPILE: ${CMD_KERNEL_CROSS_COMPILE}" print_info 2 "CMD_KERNEL_CROSS_COMPILE: ${CMD_KERNEL_CROSS_COMPILE}"
;; ;;
--utils-cc=*) --utils-cc=*)
CMD_UTILS_CC=`parse_opt "$*"` CMD_UTILS_CC=`parse_opt "$*"`
print_info 2 "CMD_UTILS_CC: ${CMD_UTILS_CC}" print_info 2 "CMD_UTILS_CC: ${CMD_UTILS_CC}"
;; ;;
--utils-ld=*) --utils-ld=*)
CMD_UTILS_LD=`parse_opt "$*"` CMD_UTILS_LD=`parse_opt "$*"`
print_info 2 "CMD_UTILS_LD: ${CMD_UTILS_LD}" print_info 2 "CMD_UTILS_LD: ${CMD_UTILS_LD}"
;; ;;
--utils-as=*) --utils-as=*)
CMD_UTILS_AS=`parse_opt "$*"` CMD_UTILS_AS=`parse_opt "$*"`
print_info 2 "CMD_UTILS_AS: ${CMD_UTILS_AS}" print_info 2 "CMD_UTILS_AS: ${CMD_UTILS_AS}"
;; ;;
--utils-make=*) --utils-make=*)
CMD_UTILS_MAKE=`parse_opt "$*"` CMD_UTILS_MAKE=`parse_opt "$*"`
print_info 2 "CMD_UTILS_MAKE: ${CMD_UTILS_MAKE}" print_info 2 "CMD_UTILS_MAKE: ${CMD_UTILS_MAKE}"
;; ;;
--utils-cross-compile=*) --utils-cross-compile=*)
CMD_UTILS_CROSS_COMPILE=`parse_opt "$*"` CMD_UTILS_CROSS_COMPILE=`parse_opt "$*"`
CMD_UTILS_CROSS_COMPILE=$(echo ${CMD_UTILS_CROSS_COMPILE}|sed -e 's/.*[^-]$/&-/g') CMD_UTILS_CROSS_COMPILE=$(echo ${CMD_UTILS_CROSS_COMPILE}|sed -e 's/.*[^-]$/&-/g')
print_info 2 "CMD_UTILS_CROSS_COMPILE: ${CMD_UTILS_CROSS_COMPILE}" print_info 2 "CMD_UTILS_CROSS_COMPILE: ${CMD_UTILS_CROSS_COMPILE}"
;; ;;
--utils-arch=*) --utils-arch=*)
CMD_UTILS_ARCH=`parse_opt "$*"` CMD_UTILS_ARCH=`parse_opt "$*"`
print_info 2 "CMD_UTILS_ARCH: ${CMD_ARCHOVERRIDE}" print_info 2 "CMD_UTILS_ARCH: ${CMD_ARCHOVERRIDE}"
;; ;;
--makeopts=*) --makeopts=*)
CMD_MAKEOPTS=`parse_opt "$*"` CMD_MAKEOPTS=`parse_opt "$*"`
print_info 2 "CMD_MAKEOPTS: ${CMD_MAKEOPTS}" print_info 2 "CMD_MAKEOPTS: ${CMD_MAKEOPTS}"
;; ;;
--mountboot) --mountboot)
CMD_MOUNTBOOT=1 CMD_MOUNTBOOT=1
print_info 2 "CMD_MOUNTBOOT: ${CMD_MOUNTBOOT}" print_info 2 "CMD_MOUNTBOOT: ${CMD_MOUNTBOOT}"
;; ;;
--no-mountboot) --no-mountboot)
CMD_MOUNTBOOT=0 CMD_MOUNTBOOT=0
print_info 2 "CMD_MOUNTBOOT: ${CMD_MOUNTBOOT}" print_info 2 "CMD_MOUNTBOOT: ${CMD_MOUNTBOOT}"
;; ;;
--bootdir=*) --bootdir=*)
BOOTDIR=`parse_opt "$*"` BOOTDIR=`parse_opt "$*"`
print_info 2 "BOOTDIR: ${BOOTDIR}" print_info 2 "BOOTDIR: ${BOOTDIR}"
;; ;;
--do-keymap-auto) --do-keymap-auto)
CMD_DOKEYMAPAUTO=1 CMD_DOKEYMAPAUTO=1
print_info 2 "CMD_DOKEYMAPAUTO: ${CMD_DOKEYMAPAUTO}" print_info 2 "CMD_DOKEYMAPAUTO: ${CMD_DOKEYMAPAUTO}"
;; ;;
--evms) --evms)
CMD_EVMS=1 CMD_EVMS=1
print_info 2 "CMD_EVMS: ${CMD_EVMS}" print_info 2 "CMD_EVMS: ${CMD_EVMS}"
;; ;;
--evms2) --evms2)
CMD_EVMS=1 CMD_EVMS=1
print_info 2 "CMD_EVMS: ${CMD_EVMS}" print_info 2 "CMD_EVMS: ${CMD_EVMS}"
echo echo
print_warning 1 "Please use --evms, as --evms2 is deprecated." print_warning 1 "Please use --evms, as --evms2 is deprecated."
;; ;;
--unionfs) --unionfs)
CMD_UNIONFS=1 CMD_UNIONFS=1
print_info 2 "CMD_UNIONFS: ${CMD_UNIONFS}" print_info 2 "CMD_UNIONFS: ${CMD_UNIONFS}"
echo echo
print_warning 1 "WARNING: unionfs support is in active development and is not meant for general" print_warning 1 "WARNING: unionfs support is in active development and is not meant for general"
print_warning 1 "use." print_warning 1 "use."
print_warning 1 "Bug Reports without patches/fixes will be ignored." print_warning 1 "Bug Reports without patches/fixes will be ignored."
print_warning 1 "Use at your own risk as this could blow up your system." print_warning 1 "Use at your own risk as this could blow up your system."
print_warning 1 "This code is subject to change at any time." print_warning 1 "This code is subject to change at any time."
echo echo
;; ;;
--lvm) --lvm)
CMD_LVM=1 CMD_LVM=1
print_info 2 "CMD_LVM: ${CMD_LVM}" print_info 2 "CMD_LVM: ${CMD_LVM}"
;; ;;
--lvm2) --lvm2)
CMD_LVM=1 CMD_LVM=1
print_info 2 "CMD_LVM: ${CMD_LVM}" print_info 2 "CMD_LVM: ${CMD_LVM}"
echo echo
print_warning 1 "Please use --lvm, as --lvm2 is deprecated." print_warning 1 "Please use --lvm, as --lvm2 is deprecated."
;; ;;
--no-busybox) --no-busybox)
CMD_NO_BUSYBOX=1 CMD_NO_BUSYBOX=1
print_info 2 "CMD_NO_BUSYBOX: ${CMD_NO_BUSYBOX}" print_info 2 "CMD_NO_BUSYBOX: ${CMD_NO_BUSYBOX}"
;; ;;
--slowusb) --slowusb)
CMD_SLOWUSB=1 CMD_SLOWUSB=1
print_info 2 "CMD_SLOWUSB: ${CMD_SLOWUSB}" print_info 2 "CMD_SLOWUSB: ${CMD_SLOWUSB}"
;; ;;
--dmraid) --dmraid)
if [ ! -e /usr/include/libdevmapper.h ] if [ ! -e /usr/include/libdevmapper.h ]
then then
echo 'Error: --dmraid requires device-mapper to be installed' echo 'Error: --dmraid requires device-mapper to be installed'
echo ' on the host system; try "emerge device-mapper".' echo ' on the host system; try "emerge device-mapper".'
exit 1 exit 1
fi fi
CMD_DMRAID=1 CMD_DMRAID=1
print_info 2 "CMD_DMRAID: ${CMD_DMRAID}" print_info 2 "CMD_DMRAID: ${CMD_DMRAID}"
;; ;;
--bootloader=*) --bootloader=*)
CMD_BOOTLOADER=`parse_opt "$*"` CMD_BOOTLOADER=`parse_opt "$*"`
print_info 2 "CMD_BOOTLOADER: ${CMD_BOOTLOADER}" print_info 2 "CMD_BOOTLOADER: ${CMD_BOOTLOADER}"
;; ;;
--debuglevel=*) --debuglevel=*)
CMD_DEBUGLEVEL=`parse_opt "$*"` CMD_DEBUGLEVEL=`parse_opt "$*"`
DEBUGLEVEL="${CMD_DEBUGLEVEL}" DEBUGLEVEL="${CMD_DEBUGLEVEL}"
print_info 2 "CMD_DEBUGLEVEL: ${CMD_DEBUGLEVEL}" print_info 2 "CMD_DEBUGLEVEL: ${CMD_DEBUGLEVEL}"
;; ;;
--menuconfig) --menuconfig)
TERM_LINES=`stty -a | head -n 1 | cut -d\ -f5 | cut -d\; -f1` TERM_LINES=`stty -a | head -n 1 | cut -d\ -f5 | cut -d\; -f1`
TERM_COLUMNS=`stty -a | head -n 1 | cut -d\ -f7 | cut -d\; -f1` TERM_COLUMNS=`stty -a | head -n 1 | cut -d\ -f7 | cut -d\; -f1`
if [[ TERM_LINES -lt 19 || TERM_COLUMNS -lt 80 ]]
if [[ TERM_LINES -lt 19 || TERM_COLUMNS -lt 80 ]] then
then echo "Error: You need a terminal with at least 80 columns"
echo "Error: You need a terminal with at least 80 columns" echo " and 19 lines for --menuconfig; try --nomenuconfig..."
echo " and 19 lines for --menuconfig; try --nomenuconfig..." exit 1
exit 1 fi
fi CMD_MENUCONFIG=1
CMD_MENUCONFIG=1 print_info 2 "CMD_MENUCONFIG: ${CMD_MENUCONFIG}"
print_info 2 "CMD_MENUCONFIG: ${CMD_MENUCONFIG}" ;;
;; --no-menuconfig)
--no-menuconfig) CMD_MENUCONFIG=0
CMD_MENUCONFIG=0 print_info 2 "CMD_MENUCONFIG: ${CMD_MENUCONFIG}"
print_info 2 "CMD_MENUCONFIG: ${CMD_MENUCONFIG}" ;;
;; --gconfig)
--gconfig) CMD_GCONFIG=1
CMD_GCONFIG=1 print_info 2 "CMD_GCONFIG: ${CMD_GCONFIG}"
print_info 2 "CMD_GCONFIG: ${CMD_GCONFIG}" ;;
;; --xconfig)
--xconfig) CMD_XCONFIG=1
CMD_XCONFIG=1 print_info 2 "CMD_XCONFIG: ${CMD_XCONFIG}"
print_info 2 "CMD_XCONFIG: ${CMD_XCONFIG}" ;;
;; --save-config)
--save-config) CMD_SAVE_CONFIG=1
CMD_SAVE_CONFIG=1 print_info 2 "CMD_SAVE_CONFIG: ${CMD_SAVE_CONFIG}"
print_info 2 "CMD_SAVE_CONFIG: ${CMD_SAVE_CONFIG}" ;;
;; --no-save-config)
--no-save-config) CMD_SAVE_CONFIG=0
CMD_SAVE_CONFIG=0 print_info 2 "CMD_SAVE_CONFIG: ${CMD_SAVE_CONFIG}"
print_info 2 "CMD_SAVE_CONFIG: ${CMD_SAVE_CONFIG}" ;;
;; --mrproper)
--mrproper) CMD_MRPROPER=1
CMD_MRPROPER=1 print_info 2 "CMD_MRPROPER: ${CMD_MRPROPER}"
print_info 2 "CMD_MRPROPER: ${CMD_MRPROPER}" ;;
;; --no-mrproper)
--no-mrproper) CMD_MRPROPER=0
CMD_MRPROPER=0 print_info 2 "CMD_MRPROPER: ${CMD_MRPROPER}"
print_info 2 "CMD_MRPROPER: ${CMD_MRPROPER}" ;;
;; --clean)
--clean) CMD_CLEAN=1
CMD_CLEAN=1 print_info 2 "CMD_CLEAN: ${CMD_CLEAN}"
print_info 2 "CMD_CLEAN: ${CMD_CLEAN}" ;;
;; --no-clean)
--no-clean) CMD_CLEAN=0
CMD_CLEAN=0 print_info 2 "CMD_CLEAN: ${CMD_CLEAN}"
print_info 2 "CMD_CLEAN: ${CMD_CLEAN}" ;;
;; --oldconfig)
--oldconfig) CMD_CLEAN=0
CMD_CLEAN=0 CMD_OLDCONFIG=1
CMD_OLDCONFIG=1 print_info 2 "CMD_CLEAN: ${CMD_CLEAN}"
print_info 2 "CMD_CLEAN: ${CMD_CLEAN}" print_info 2 "CMD_OLDCONFIG: ${CMD_OLDCONFIG}"
print_info 2 "CMD_OLDCONFIG: ${CMD_OLDCONFIG}" ;;
;; --gensplash=*)
--gensplash=*) CMD_SPLASH=1
CMD_SPLASH=1 SPLASH_THEME=`parse_opt "$*"`
SPLASH_THEME=`parse_opt "$*"` print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
print_info 2 "CMD_SPLASH: ${CMD_SPLASH}" print_info 2 "SPLASH_THEME: ${SPLASH_THEME}"
print_info 2 "SPLASH_THEME: ${SPLASH_THEME}" echo
echo print_warning 1 "Please use --splash, as --gensplash is deprecated."
print_warning 1 "Please use --splash, as --gensplash is deprecated." ;;
;; --gensplash)
--gensplash) CMD_SPLASH=1
CMD_SPLASH=1 SPLASH_THEME='default'
SPLASH_THEME='default' print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
print_info 2 "CMD_SPLASH: ${CMD_SPLASH}" echo
echo print_warning 1 "Please use --splash, as --gensplash is deprecated."
print_warning 1 "Please use --splash, as --gensplash is deprecated." ;;
;; --splash=*)
--splash=*) CMD_SPLASH=1
CMD_SPLASH=1 SPLASH_THEME=`parse_opt "$*"`
SPLASH_THEME=`parse_opt "$*"` print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
print_info 2 "CMD_SPLASH: ${CMD_SPLASH}" print_info 2 "SPLASH_THEME: ${SPLASH_THEME}"
print_info 2 "SPLASH_THEME: ${SPLASH_THEME}" ;;
;; --splash)
--splash) CMD_SPLASH=1
CMD_SPLASH=1 SPLASH_THEME='default'
SPLASH_THEME='default' print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
print_info 2 "CMD_SPLASH: ${CMD_SPLASH}" ;;
;; --no-splash)
--no-splash) CMD_SPLASH=0
CMD_SPLASH=0 print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
print_info 2 "CMD_SPLASH: ${CMD_SPLASH}" ;;
;; --gensplash-res=*)
--gensplash-res=*) SPLASH_RES=`parse_opt "$*"`
SPLASH_RES=`parse_opt "$*"` print_info 2 "SPLASH_RES: ${SPLASH_RES}"
print_info 2 "SPLASH_RES: ${SPLASH_RES}" echo
echo print_warning 1 "Please use --splash-res, as --gensplash-res is deprecated."
print_warning 1 "Please use --splash-res, as --gensplash-res is deprecated." ;;
;; --splash-res=*)
--splash-res=*) SPLASH_RES=`parse_opt "$*"`
SPLASH_RES=`parse_opt "$*"` print_info 2 "SPLASH_RES: ${SPLASH_RES}"
print_info 2 "SPLASH_RES: ${SPLASH_RES}" ;;
;; --install)
--install) CMD_NOINSTALL=0
CMD_NOINSTALL=0 print_info 2 "CMD_NOINSTALL: ${CMD_NOINSTALL}"
print_info 2 "CMD_NOINSTALL: ${CMD_NOINSTALL}" ;;
;; --no-install)
--no-install) CMD_NOINSTALL=1
CMD_NOINSTALL=1 print_info 2 "CMD_NOINSTALL: ${CMD_NOINSTALL}"
print_info 2 "CMD_NOINSTALL: ${CMD_NOINSTALL}" ;;
;; --no-initrdmodules)
--no-initrdmodules) CMD_NOINITRDMODULES=1
CMD_NOINITRDMODULES=1 print_info 2 "CMD_NOINITRDMODULES: ${CMD_NOINITRDMODULES}"
print_info 2 "CMD_NOINITRDMODULES: ${CMD_NOINITRDMODULES}" ;;
;; --callback=*)
--callback=*) CMD_CALLBACK=`parse_opt "$*"`
CMD_CALLBACK=`parse_opt "$*"` print_info 2 "CMD_CALLBACK: ${CMD_CALLBACK}/$*"
print_info 2 "CMD_CALLBACK: ${CMD_CALLBACK}/$*" ;;
;; --static)
--static) CMD_STATIC=1
CMD_STATIC=1 print_info 2 "CMD_STATIC: ${CMD_STATIC}"
print_info 2 "CMD_STATIC: ${CMD_STATIC}" ;;
;; --initramfs)
--initramfs) CMD_INITRAMFS=1
CMD_INITRAMFS=1 print_info 2 "CMD_INITRAMFS: ${CMD_INITRAMFS}"
print_info 2 "CMD_INITRAMFS: ${CMD_INITRAMFS}" ;;
;; --tempdir=*)
--tempdir=*) TMPDIR=`parse_opt "$*"`
TMPDIR=`parse_opt "$*"` TEMP=${TMPDIR}/$RANDOM.$RANDOM.$RANDOM.$$
TEMP=${TMPDIR}/$RANDOM.$RANDOM.$RANDOM.$$ print_info 2 "TMPDIR: ${TMPDIR}"
print_info 2 "TMPDIR: ${TMPDIR}" print_info 2 "TEMP: ${TEMP}"
print_info 2 "TEMP: ${TEMP}" ;;
;; --postclear)
--postclear) CMD_POSTCLEAR=1
CMD_POSTCLEAR=1 print_info 2 "CMD_POSTCLEAR: ${CMD_POSTCLEAR}"
print_info 2 "CMD_POSTCLEAR: ${CMD_POSTCLEAR}" ;;
;; --arch-override=*)
--arch-override=*) CMD_ARCHOVERRIDE=`parse_opt "$*"`
CMD_ARCHOVERRIDE=`parse_opt "$*"` print_info 2 "CMD_ARCHOVERRIDE: ${CMD_ARCHOVERRIDE}"
print_info 2 "CMD_ARCHOVERRIDE: ${CMD_ARCHOVERRIDE}" ;;
;; --color)
--color) USECOLOR=1
USECOLOR=1 print_info 2 "USECOLOR: ${USECOLOR}"
print_info 2 "USECOLOR: ${USECOLOR}" setColorVars
setColorVars ;;
;; --no-color)
--no-color) USECOLOR=0
USECOLOR=0 print_info 2 "USECOLOR: ${USECOLOR}"
print_info 2 "USECOLOR: ${USECOLOR}" setColorVars
setColorVars ;;
;; --debugfile=*)
--debugfile=*) CMD_DEBUGFILE=`parse_opt "$*"`
CMD_DEBUGFILE=`parse_opt "$*"` DEBUGFILE=`parse_opt "$*"`
DEBUGFILE=`parse_opt "$*"` print_info 2 "CMD_DEBUGFILE: ${CMD_DEBUGFILE}"
print_info 2 "CMD_DEBUGFILE: ${CMD_DEBUGFILE}" print_info 2 "DEBUGFILE: ${CMD_DEBUGFILE}"
print_info 2 "DEBUGFILE: ${CMD_DEBUGFILE}" ;;
;; --kerneldir=*)
--kerneldir=*) CMD_KERNELDIR=`parse_opt "$*"`
CMD_KERNELDIR=`parse_opt "$*"` print_info 2 "CMD_KERNELDIR: ${CMD_KERNELDIR}"
print_info 2 "CMD_KERNELDIR: ${CMD_KERNELDIR}" ;;
;; --kernel-config=*)
--kernel-config=*) CMD_KERNEL_CONFIG=`parse_opt "$*"`
CMD_KERNEL_CONFIG=`parse_opt "$*"` print_info 2 "CMD_KERNEL_CONFIG: ${CMD_KERNEL_CONFIG}"
print_info 2 "CMD_KERNEL_CONFIG: ${CMD_KERNEL_CONFIG}" ;;
;; --module-prefix=*)
--module-prefix=*) CMD_INSTALL_MOD_PATH=`parse_opt "$*"`
CMD_INSTALL_MOD_PATH=`parse_opt "$*"` print_info 2 "CMD_INSTALL_MOD_PATH: ${CMD_INSTALL_MOD_PATH}"
print_info 2 "CMD_INSTALL_MOD_PATH: ${CMD_INSTALL_MOD_PATH}" ;;
;; --cachedir=*)
--cachedir=*) CACHE_DIR=`parse_opt "$*"`
CACHE_DIR=`parse_opt "$*"` print_info 2 "CACHE_DIR: ${CACHE_DIR}"
print_info 2 "CACHE_DIR: ${CACHE_DIR}" ;;
;; --minkernpackage=*)
--minkernpackage=*) CMD_MINKERNPACKAGE=`parse_opt "$*"`
CMD_MINKERNPACKAGE=`parse_opt "$*"` print_info 2 "MINKERNPACKAGE: ${CMD_MINKERNPACKAGE}"
print_info 2 "MINKERNPACKAGE: ${CMD_MINKERNPACKAGE}" ;;
;; --modulespackage=*)
--modulespackage=*) CMD_MODULESPACKAGE=`parse_opt "$*"`
CMD_MODULESPACKAGE=`parse_opt "$*"` print_info 2 "MODULESPACKAGE: ${CMD_MODULESPACKAGE}"
print_info 2 "MODULESPACKAGE: ${CMD_MODULESPACKAGE}" ;;
;; --kerncache=*)
--kerncache=*) CMD_KERNCACHE=`parse_opt "$*"`
CMD_KERNCACHE=`parse_opt "$*"` print_info 2 "KERNCACHE: ${CMD_KERNCACHE}"
print_info 2 "KERNCACHE: ${CMD_KERNCACHE}" ;;
;; --kernname=*)
--kernname=*) CMD_KERNNAME=`parse_opt "$*"`
CMD_KERNNAME=`parse_opt "$*"` print_info 2 "KERNNAME: ${CMD_KERNNAME}"
print_info 2 "KERNNAME: ${CMD_KERNNAME}" ;;
;; --symlink)
--symlink) CMD_SYMLINK=1
CMD_SYMLINK=1 print_info 2 "CMD_SYMLINK: ${CMD_SYMLINK}"
print_info 2 "CMD_SYMLINK: ${CMD_SYMLINK}" ;;
;; --no-symlink)
--no-symlink) CMD_SYMLINK=0
CMD_SYMLINK=0 print_info 2 "CMD_SYMLINK: ${CMD_SYMLINK}"
print_info 2 "CMD_SYMLINK: ${CMD_SYMLINK}" ;;
;; --no-kernel-sources)
--no-kernel-sources) CMD_NO_KERNEL_SOURCES=1
CMD_NO_KERNEL_SOURCES=1 print_info 2 "CMD_NO_KERNEL_SOURCES: ${CMD_NO_KERNEL_SOURCES}"
print_info 2 "CMD_NO_KERNEL_SOURCES: ${CMD_NO_KERNEL_SOURCES}" ;;
;; --initramfs-overlay=*)
--initramfs-overlay=*) CMD_INITRAMFS_OVERLAY=`parse_opt "$*"`
CMD_INITRAMFS_OVERLAY=`parse_opt "$*"` print_info 2 "CMD_INITRAMFS_OVERLAY: ${CMD_INITRAMFS_OVERLAY}"
print_info 2 "CMD_INITRAMFS_OVERLAY: ${CMD_INITRAMFS_OVERLAY}" ;;
;; --linuxrc=*)
--linuxrc=*) CMD_LINUXRC=`parse_opt "$*"`
CMD_LINUXRC=`parse_opt "$*"`
print_info 2 "CMD_LINUXRC: ${CMD_LINUXRC}" print_info 2 "CMD_LINUXRC: ${CMD_LINUXRC}"
;; ;;
--genzimage) --genzimage)
KERNEL_MAKE_DIRECTIVE_2='zImage.initrd' KERNEL_MAKE_DIRECTIVE_2='zImage.initrd'
KERNEL_BINARY_2='arch/powerpc/boot/zImage.initrd' KERNEL_BINARY_2='arch/powerpc/boot/zImage.initrd'
GENERATE_Z_IMAGE=1 GENERATE_Z_IMAGE=1
print_info 2 "GENERATE_Z_IMAGE: ${GENERATE_Z_IMAGE}" print_info 2 "GENERATE_Z_IMAGE: ${GENERATE_Z_IMAGE}"
;; ;;
--disklabel) --disklabel)
CMD_DISKLABEL=1 CMD_DISKLABEL=1
print_info 2 "CMD_DISKLABEL: ${CMD_DISKLABEL}" print_info 2 "CMD_DISKLABEL: ${CMD_DISKLABEL}"
;; ;;
--luks) --luks)
CMD_LUKS=1 CMD_LUKS=1
print_info 2 "CMD_LUKS: ${CMD_LUKS}" print_info 2 "CMD_LUKS: ${CMD_LUKS}"
;; ;;
all) all)
BUILD_KERNEL=1 BUILD_KERNEL=1
BUILD_MODULES=1 BUILD_MODULES=1
BUILD_INITRD=1 BUILD_INITRD=1
;; ;;
initrd) initrd)
BUILD_INITRD=1 BUILD_INITRD=1
;; ;;
kernel) kernel)
BUILD_KERNEL=1 BUILD_KERNEL=1
BUILD_MODULES=1 BUILD_MODULES=1
BUILD_INITRD=0 BUILD_INITRD=0
;; ;;
bzImage) bzImage)
BUILD_KERNEL=1 BUILD_KERNEL=1
BUILD_MODULES=0 BUILD_MODULES=0
BUILD_INITRD=1 BUILD_INITRD=1
CMD_NOINITRDMODULES=1 CMD_NOINITRDMODULES=1
print_info 2 "CMD_NOINITRDMODULES: ${CMD_NOINITRDMODULES}" print_info 2 "CMD_NOINITRDMODULES: ${CMD_NOINITRDMODULES}"
;; ;;
--help) --help)
longusage longusage
exit 1 exit 1
;; ;;
--version) --version)
echo "${GK_V}" echo "${GK_V}"
exit 0 exit 0
;; ;;
*) *)
echo "Error: Unknown option '$*'!" echo "Error: Unknown option '$*'!"
exit 1 exit 1
;; ;;
esac esac
} }

@ -35,7 +35,7 @@ config_kernel() {
compile_generic mrproper kernel compile_generic mrproper kernel
fi fi
# If we're not cleaning, then we don't want to try to overwrite the configs there # If we're not cleaning, then we don't want to try to overwrite the configs
# or we might remove configurations someone is trying to test. # or we might remove configurations someone is trying to test.
if isTrue "${CLEAN}" if isTrue "${CLEAN}"
@ -52,7 +52,7 @@ config_kernel() {
else else
print_info 1 ' >> Running oldconfig...' print_info 1 ' >> Running oldconfig...'
fi fi
yes '' 2>/dev/null | compile_generic oldconfig kernel 2>/dev/null # Nullify to stop broken pipe messages yes '' 2>/dev/null | compile_generic oldconfig kernel 2>/dev/null
fi fi
if isTrue "${CLEAN}" if isTrue "${CLEAN}"
then then
@ -98,8 +98,9 @@ config_kernel() {
# TODO: force on with --genzimage # TODO: force on with --genzimage
if [ "${KERN_24}" -eq '1' ] if [ "${KERN_24}" -eq '1' ]
then then
# Make sure Ext2 support is on... # Make sure Ext2 support is on...
sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_EXT2_FS[ =].*/CONFIG_EXT2_FS=y/g' sed -e 's/#\? \?CONFIG_EXT2_FS[ =].*/CONFIG_EXT2_FS=y/g' \
-i ${KERNEL_DIR}/.config
fi fi
# Make sure lvm modules are on if --lvm/--lvm # Make sure lvm modules are on if --lvm/--lvm
@ -120,11 +121,4 @@ config_kernel() {
then then
sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_FB_SPLASH is.*/CONFIG_FB_SPLASH=y/g' sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_FB_SPLASH is.*/CONFIG_FB_SPLASH=y/g'
fi fi
# This check isn't complete: SOFTWARE_SUSPEND has extra deps on some systems such as CPU hotplug
# if isTrue ${CMD_SUSPEND}
# then
# sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_SOFTWARE_SUSPEND is.*/CONFIG_SOFTWARE_SUSPEND=y/g'
# fi
} }

@ -1,5 +1,4 @@
#!/bin/bash #!/bin/bash
# Genkernel v3
PATH="/bin:/usr/bin:/sbin:/usr/sbin" PATH="/bin:/usr/bin:/sbin:/usr/sbin"
GK_V='3.4.9_pre3' GK_V='3.4.9_pre3'
@ -15,7 +14,25 @@ small_die() {
exit 1 exit 1
} }
source /etc/genkernel.conf || small_die "Could not read /etc/genkernel.conf" parse_opt() {
case "$1" in
*\=*)
echo "$1" | cut -f2- -d=
;;
esac
}
# We don't know where our config is, so we check for it, and default to using
# /etc/genkernel.conf if nobody has specified one.
case "$*" in
--config=*)
CMD_GK_CONFIG=`parse_opt "$*"`
;;
esac
}
source ${CMD_GK_CONFIG:-/etc/genkernel.conf} || small_die "Could not read /etc/genkernel.conf"
source ${GK_SHARE}/gen_funcs.sh || small_die "Could not read ${GK_SHARE}/gen_funcs.sh" source ${GK_SHARE}/gen_funcs.sh || small_die "Could not read ${GK_SHARE}/gen_funcs.sh"
source ${GK_SHARE}/gen_cmdline.sh || gen_die "Could not read ${GK_SHARE}/gen_cmdline.sh" source ${GK_SHARE}/gen_cmdline.sh || gen_die "Could not read ${GK_SHARE}/gen_cmdline.sh"
source ${GK_SHARE}/gen_arch.sh || gen_die "Could not read ${GK_SHARE}/gen_arch.sh" source ${GK_SHARE}/gen_arch.sh || gen_die "Could not read ${GK_SHARE}/gen_arch.sh"

Loading…
Cancel
Save