diff options
-rw-r--r-- | helper/kernel.inc | 17 | ||||
-rwxr-xr-x | remote/rootfs/rootfs-stage31/data/init | 6 | ||||
-rw-r--r-- | remote/rootfs/rootfs-stage31/rootfs-stage31.conf | 18 |
3 files changed, 24 insertions, 17 deletions
diff --git a/helper/kernel.inc b/helper/kernel.inc index 41a9c507..2482a128 100644 --- a/helper/kernel.inc +++ b/helper/kernel.inc @@ -42,8 +42,23 @@ copy_kernel_modules() { local KERNEL_MODULES_DIR="lib/modules/${KERNEL_NEW_VERSION}" local KERNEL_MODULES_LIST="" + local REQUIRED_KERNEL_MODULES_EXPANDED="" + local KERNEL_MODULE="" + local KERNEL_MODULE_PATH="" + local ELEM="" + + # Do some fancy stuff to allow wildcards etc. in required kernel modules. + cd "${KERNEL_MODULES_DIR}" + for KERNEL_MODULE in ${REQUIRED_KERNEL_MODULES}; do + for ELEM in $KERNEL_MODULE; do + echo $ELEM | grep '\*' && pwarning "Could not expand '$ELEM'." && continue + REQUIRED_KERNEL_MODULES_EXPANDED+=" $ELEM" + done + done + cd - + pinfo "Expanded the list of $(echo "$REQUIRED_KERNEL_MODULES" | wc -w) required kernel modules to $(echo "$REQUIRED_KERNEL_MODULES_EXPANDED" | wc -w)" - for KERNEL_MODULE in ${REQUIRED_KERNEL_MODULES}; do + for KERNEL_MODULE in ${REQUIRED_KERNEL_MODULES_EXPANDED}; do local KERNEL_MODULE_PATH="${KERNEL_MODULES_DIR}/${KERNEL_MODULE}" if grep "^${KERNEL_MODULE}$" "${KERNEL_BUILD_DIR}/${KERNEL_MODULES_DIR}/modules.builtin" >/dev/null; then pdebug "Already built-in ${KERNEL_MODULE}." diff --git a/remote/rootfs/rootfs-stage31/data/init b/remote/rootfs/rootfs-stage31/data/init index a9c0435c..93df822c 100755 --- a/remote/rootfs/rootfs-stage31/data/init +++ b/remote/rootfs/rootfs-stage31/data/init @@ -25,6 +25,12 @@ mount -n -t tmpfs -o 'mode=755' run "/run" echo "/sbin/mdev" > /proc/sys/kernel/hotplug # read graphic and network adaptor configuration (without proprietary drivers yet) +# TODO: must ugly hack ever... needs to be improved when we add prop drivers +for DRM in /lib/modules/*/kernel/drivers/gpu/drm/*.ko /lib/modules/*/kernel/drivers/gpu/drm/*/*.ko; do + echo "Trying to load module $DRM" + insmod "$DRM" +done + # read kernel command line for debugging switch DEBUG=0 read KCL < /proc/cmdline diff --git a/remote/rootfs/rootfs-stage31/rootfs-stage31.conf b/remote/rootfs/rootfs-stage31/rootfs-stage31.conf index 788ff8b3..b39895e2 100644 --- a/remote/rootfs/rootfs-stage31/rootfs-stage31.conf +++ b/remote/rootfs/rootfs-stage31/rootfs-stage31.conf @@ -4,22 +4,8 @@ REQUIRED_KERNEL_MODULES=" kernel/drivers/video/sis/sisfb.ko kernel/drivers/video/via/viafb.ko kernel/drivers/acpi/video.ko kernel/drivers/ssb/ssb.ko - kernel/drivers/gpu/drm/ttm/ttm.ko - kernel/drivers/gpu/drm/via/via.ko - kernel/drivers/gpu/drm/drm.ko - kernel/drivers/gpu/drm/tdfx/tdfx.ko - kernel/drivers/gpu/drm/nouveau/nouveau.ko - kernel/drivers/gpu/drm/savage/savage.ko - kernel/drivers/gpu/drm/radeon/radeon.ko - kernel/drivers/gpu/drm/drm_kms_helper.ko - kernel/drivers/gpu/drm/i810/i810.ko - kernel/drivers/gpu/drm/i2c/ch7006.ko - kernel/drivers/gpu/drm/i2c/sil164.ko - kernel/drivers/gpu/drm/sis/sis.ko - kernel/drivers/gpu/drm/mga/mga.ko - kernel/drivers/gpu/drm/i915/i915.ko - kernel/drivers/gpu/drm/r128/r128.ko - kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko + kernel/drivers/gpu/drm/drm*.ko + kernel/drivers/gpu/drm/*/*.ko kernel/drivers/i2c/algos/i2c-algo-bit.ko kernel/drivers/i2c/i2c-core.ko kernel/drivers/usb/usb-common.ko |