When I use genkernel to make a new kernel alsa-drivers are wipped out and I have to emerge them after the kernel is made. I made a diff for /usr/share/genkernel/genkernel to fix this, it handles alsa-driver and nvidia just fine. Reproducible: Always Steps to Reproduce: 1. use genkernel to make a new kernel 2. reboot and find that alsa isn't working X doesn't either 3. Actual Results: No sound or X Expected Results: Made the sound still work and X work as well Here's the diff --- genkernel.org 2004-07-27 17:13:47.595657680 +0000 +++ genkernel 2004-07-27 17:13:08.394617144 +0000 @@ -130,7 +130,7 @@ # Compile modules compile_modules - print_info 1 "Copying config for successful build to /etc/kernels/kernel-config-${ARCH}-${KV}" + print_info 1 "Copying ${KERNEL_DIR}/.config for successful build to /etc/kernels/kernel-config-${ARCH}-${KV}" [ ! -e "/etc/kernels" ] && mkdir -p /etc/kernels cp "${KERNEL_DIR}/.config" "/etc/kernels/kernel-config-${ARCH}-${KV}" fi @@ -237,3 +237,19 @@ print_info 1 'is about the default genkernel configuration...' print_info 1 '' print_info 1 'Make sure you have the latest genkernel before reporting bugs.' +print_info 1 '' +print_info 1 "Making external kernel drivers ${KERNEL_EXT_DRIVER}" + +# emerging external kernel modules +export KERNEL_DIR="${KERNEL_DIR}" +export KV_OUPUT="`basename ${KERNEL_DIR}`" +for x in ${KERNEL_EXT_DRIVER} +do + if [ "`echo $x | grep alsa`" != "" ] + then + print_info 2 "export ALSA_CARDS=${ALSA_CARDS}" 1 0 1 + export ALSA_CARDS="${ALSA_CARDS}" + fi + print_info 2 "executing emerge =${x}" 1 0 1 + emerge "=${x}" +done Have fun ;)
Sorry forgot to show my genkernel.conf file # Genkernel Configuration File # ===========GENKERNEL BASIC CONFIGURATION============= # Run 'make menuconfig' before compiling this kernel? MENUCONFIG="yes" # Run 'make clean' before compilation? # If set to NO, implies MRPROPER WILL NOT be run # Also, if clean is NO, it won't copy over any configuration # file, it will use what's there. CLEAN="no" # Run 'make mrproper' before configuration/compilation? MRPROPER="no" # Copy bootsplash into the initrd image? BOOTSPLASH="yes" # Override the arch detection? # ARCH_OVERRIDE="x86" # Mount /boot automatically if it isn't mounted? MOUNTBOOT="yes" # Use Color output in Genkernel? USECOLOR="yes" # External kernel drivers to recompile after kernel KERNEL_EXT_DRIVER="media-sound/alsa-driver media-video/nvidia-kernel" ALSA_CARDS="intel8x0" # =========GENKERNEL LOCATION CONFIGURATION============ # Variables: # %%ARCH%% - Final determined architecture # Default share directory location GK_SHARE="/usr/share/genkernel" # Location of helper-scripts #GK_BIN="${GK_SHARE}/bin" GK_BIN="${GK_SHARE}" # Log output file DEBUGFILE="/var/log/genkernel.log" # Debug Level DEBUGLEVEL=10 # Default location of kernel source DEFAULT_KERNEL_SOURCE="/usr/src/linux" # Default kernel config (only use to override using %%ARCH%%/kernel-config-${VER}.${PAT} !) # DEFAULT_KERNEL_CONFIG="${GK_SHARE}/%%ARCH%%/kernel-config" # Configuration file for busybox BUSYBOX_CONFIG="${GK_SHARE}/%%ARCH%%/busy-config" # BusyBox Version BUSYBOX_VER="1.00-pre7-losetup-crypto-alpha" # Busybox bin-cache location, to store pre-compiled busybox # binary is just a bzip2 busybox executable BUSYBOX_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/busybox-${BUSYBOX_VER}-%%ARCH%%.bz2" # Location of BusyBox source tarball BUSYBOX_SRCTAR="${GK_SHARE}/pkg/busybox-${BUSYBOX_VER}.tar.bz2" # Directory created after busybox tarball is extracted BUSYBOX_DIR="busybox-${BUSYBOX_VER}" MODULE_INIT_TOOLS_VER="0.9.15-pre4" MODULE_INIT_TOOLS_SRCTAR="${GK_SHARE}/pkg/module-init-tools-${MODULE_INIT_TOOLS_VER}.tar.bz2" MODULE_INIT_TOOLS_DIR="module-init-tools-${MODULE_INIT_TOOLS_VER}" MODULE_INIT_TOOLS_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/insmod-%%ARCH%%-static-2.6.bz2" MODUTILS_VER="2.4.26" MODUTILS_SRCTAR="${GK_SHARE}/pkg/modutils-${MODUTILS_VER}.tar.bz2" MODUTILS_DIR="modutils-${MODUTILS_VER}" MODUTILS_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/insmod-%%ARCH%%-static-2.4.bz2" DIETLIBC_VER="0.24" DIETLIBC_SRCTAR="${GK_SHARE}/pkg/dietlibc-${DIETLIBC_VER}.tar.bz2" DIETLIBC_DIR="dietlibc-${DIETLIBC_VER}" DIETLIBC_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/dietlibc-${DIETLIBC_VER}-%%ARCH%%.tar.bz2" DIETLIBC_BINCACHE_TEMP="${GK_SHARE}/pkg/%%ARCH%%/dietlibc-${DIETLIBC_VER}-%%ARCH%%-tempdir" DEVFSD_VER="1.3.25-dietlibc-kernel25" DEVFSD_SRCTAR="${GK_SHARE}/pkg/devfsd-${DEVFSD_VER}.tar.bz2" DEVFSD_DIR="devfsd" DEVFSD_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/devfsd-${DEVFSD_VER}-%%ARCH%%.bz2" DEVFSD_CONF_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/devfsd-conf-${DIETLIBC_VER}-%%ARCH%%.bz2"
You should be able to do all of this and more by just running genkernel --callback="emerge $modules" or adding CMD_CALLBACK="..." to /etc/genkernel.conf; so I'm closing this as INVALID.