summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--helper/kernel.inc17
-rwxr-xr-xremote/rootfs/rootfs-stage31/data/init6
-rw-r--r--remote/rootfs/rootfs-stage31/rootfs-stage31.conf18
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