Loading radeon KMS from an initrd
I'm trying to get radeon to load early from an initrd, and have created an initrd with radeon, drm, ttm and drm_kms_helper modules, as well as the radeon firmware under /lib/firmware/radeon/.
About 5 seconds into the boot process, the radeon drm is loaded, but the boot hangs for nearly a minute as it tries to load the firmware and then error out. I checked on #radeon, and Dave Airlie says that udev is needed, but I did build the initrd with the -u option, which includes udev. And, after expanding the created initrd, I see the radeon and drm modules, the firmware, and udev. I know this can work, as I've seen it on Fedora, opensuse, and Ubuntu. And, in fact, Dave said "that stuff just works on most distros". Does anyone have any pointers on how to get this working? Adam |
Is your firmware in the kernel?
Code:
# |
I'm trying this on 2.6.37.6 generic from -current. So this is that section of the config file.
Code:
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" Adam |
I don't see why it won't work for you.
I just made an initrd for the generic-2.6.38.2 kernel using Code:
mkinitrd -c -k 2.6.38.2 -f ext4 -r /dev/sda14 -m ext4 -u |
Well, according to that, you're not adding the radeon kernel module to the initrd. Which is my goal, here.
Adam |
AFAIK, initrd is required to load additional modules required to boot since the generic kernel only support EXT2. That's why in most cases, initrd is used to load EXT3/EXT4/Reiserfs or any other filesystems, not modules which will be loaded automatically by the kernel
|
Quote:
Adam |
I know this *can* work, Adam, as I did it on one of my systems with an ATI chipset. It was back when we were still heavily testing all of the KMS stuff, and that system is long wiped, but I'll look into doing it again just for you :-)
I know for my T400 (which doesn't require firmware), it's as simple as this in mkinitrd.conf: Code:
MODULE_LIST="ext4:intel_agp:drm:i915" |
Well, don't worry about it too much. I'll just recompile the kernel with the firmware and radeon driver compiled in if it comes down to it :-)
Adam |
I messed with this quite a bit, and I don't know what's going wrong, but I can't get it to work either any more... :/
|
How do you add the firmware files to the initrd?
I'm trying to compile a 3.0.1 kernel and put in the radeon driver so I don't have to bother about the module itself, but I'd be interested in having the firmware loaded without building them in the kernel. |
Well, that's kind of the point of this thread... I never got it to work and, apparently, neither did rworkman.
Besides, if the radeon DRM driver is compiled into the kernel, the firmware needs to be as well. Adam |
Ah, I didn't know that.
OK, thanks, I'll go for inclusion in the kernel then. |
rvdboom, I am able to just modprobe it in rc.local:
### Radeon KMS modprobe radeon modprobe fbcon So if you don't want to recompile, try that. |
Has anyone managed to get this working? I mean as in a solution to Adam's original post?
I was trying to get kms to load early, with the goal of having a native resolution frambuffer at boot. For now I have settled on compiling it into the kernel as per Andrew's post but never the less I can't seem to let this go :). Quote:
So I edited the init script in initrd-tree, moving the udev lines before loading the modules. That seems to have made a difference but not solved the problem. Does this shed any light on things? |
All times are GMT -5. The time now is 03:34 AM. |