X-Git-Url: http://git.tremily.us/?a=blobdiff_plain;f=genkernel;h=5ee2d4226a306554ddf1b1d88f13b9fbe30a8e33;hb=6683592216b047d19874d1515ce72226a98650d7;hp=d1974377f765f63ad337a5e9a703c7265f8f050b;hpb=77d997744d0f0c59e8955459fee4a143d1d07759;p=genkernel.git diff --git a/genkernel b/genkernel index d197437..5ee2d42 100755 --- a/genkernel +++ b/genkernel @@ -2,7 +2,7 @@ # $Id$ PATH="${PATH}:/sbin:/usr/sbin" -GK_V='3.4.28' +GK_V='3.4.40' # Set the default for TMPDIR. May be modified by genkernel.conf or the # --tempdir command line option. @@ -32,7 +32,8 @@ case "$*" in esac # Pull in our configuration -source ${CMD_GK_CONFIG:-/etc/genkernel.conf} || small_die "Could not read /etc/genkernel.conf" +_GENKERNEL_CONF=${CMD_GK_CONFIG:-/etc/genkernel.conf} +source "${_GENKERNEL_CONF}" || small_die "Could not read ${_GENKERNEL_CONF}" # Start sourcing other scripts source ${GK_SHARE}/gen_funcs.sh || small_die "Could not read ${GK_SHARE}/gen_funcs.sh" @@ -101,8 +102,13 @@ echo get_official_arch # Read arch-specific config +print_info 1 "Using genkernel.conf from ${_GENKERNEL_CONF}" +print_info 1 "Sourcing arch-specific config.sh from ${ARCH_CONFIG} .." source ${ARCH_CONFIG} || gen_die "Could not read ${ARCH_CONFIG}" -source ${GK_SHARE}/arch/${ARCH}/modules_load || gen_die "Could not read ${GK_SHARE}/arch/${ARCH}/modules_load" +_MODULES_LOAD=${GK_SHARE}/arch/${ARCH}/modules_load +print_info 1 "Sourcing arch-specific modules_load from ${_MODULES_LOAD} .." +source "${_MODULES_LOAD}" || gen_die "Could not read ${_MODULES_LOAD}" +echo # Merge modules_load from config for group_modules in ${!AMODULES_*}; do @@ -117,6 +123,7 @@ done # get the real arguments for usage... determine_real_args +determine_config_file set_kernel_arch @@ -129,6 +136,7 @@ check_distfiles dump_debugcache NORMAL=${BOLD} print_info 1 "Linux Kernel ${BOLD}${KV}${NORMAL} for ${BOLD}${ARCH}${NORMAL}..." +print_info 1 ".. with config file ${KERNEL_CONFIG}" # Check BOOTDIR is mounted if ! isTrue ${CMD_INSTALL} @@ -279,8 +287,6 @@ fi if [ "${BUILD_RAMDISK}" = '1' ] then - [ "${DISKLABEL}" = '1' ] && compile_e2fsprogs - if [ "${BUSYBOX}" = '1' ] then # Compile Busybox @@ -351,13 +357,23 @@ then [ "${DMRAID}" = '1' ] && print_warning 1 'add "dodmraid" for dmraid support' [ "${MDADM}" = '1' ] && print_warning 1 'add "domdadm" for RAID support' [ "${DMRAID}" = '1' ] && print_warning 1 ' or "dodmraid="' - [ "${ZFS}" = '1' ] && print_warning 1 'add "dozfs" for ZFS support' - [ "${ZFS}" = '1' ] && print_warning 1 ' and either "real_root=ZFS" to use bootfs autodetection or "real_root=ZFS=" to force booting from a specific dataset' + [ "${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=" to boot from a ZFS dataset' [ "${ISCSI}" = '1' ] && print_warning 1 'add at least "iscsi_initiatorname= iscsi_target= and iscsi_address=" for iscsi support' - if [ `grep 'CONFIG_EXT[0-9]_FS=' "${KERNEL_DIR}"/.config | wc -l` -ge 2 ]; then - print_warning 1 'With support for several ext* filesystems around it may be needed to' - print_warning 1 'add "rootfstype=ext3" or "rootfstype=ext4"' + + if [[ "$(file --brief --mime-type "${KERNEL_CONFIG}")" == application/x-gzip ]]; then + # Support --kernel-config=/proc/config.gz, mainly + CONFGREP=zgrep + else + CONFGREP=grep fi + + if [ `${CONFGREP} 'CONFIG_EXT[0-9]_FS=' "${KERNEL_CONFIG}" | wc -l` -ge 2 ]; then + print_warning 1 'With support for several ext* filesystems available, it may be needed to' + print_warning 1 'add "rootfstype=ext3" or "rootfstype=ext4" to the list of boot parameters.' + fi + + unset CONFGREP fi [ "${BOOTRW}" != '' ] && mount -o remount,ro ${BOOTDIR}