LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.

Notices


Reply
  Search this Thread
Old 02-20-2012, 12:10 AM   #1
nicksmaddog
LQ Newbie
 
Registered: Feb 2012
Distribution: Linux From Scratch
Posts: 2

Rep: Reputation: Disabled
Failed to load firmware "radeon/R700_rlc.bin


I've got a new LFS system up and running following the LFS-7.0 book. I've installed the X Window System, and have Fluxbox running perfectly. The only problem with my system right now is when I'm booting up, it will hang for around 60 seconds, before spitting out a "Failed to load firmware radeon/R700_rlc.bin" error message.

I've got a Radeon HD 4890 graphics card. I've tried configuring the kernel to load the external firmware, but without success.

I'm not sure if it matters, but I couldn't find where to download this firmware from, so I just copied the files from my Slackware install.

The relevant dmesg output is:

[ 61.920130] r600_cp: Failed to load firmware "radeon/R700_rlc.bin"
[ 61.920199] [drm:rv770_startup] *ERROR* Failed to load firmware!
[ 61.920266] radeon 0000:04:00.0: disabling GPU acceleration
[ 61.936366] radeon 0000:04:00.0: f4d8a400 unpin not necessary
[ 61.936433] radeon 0000:04:00.0: f4d8a400 unpin not necessary
[ 61.936510] failed to evaluate ATIF got AE_BAD_PARAMETER
[ 61.936864] [drm] Radeon Display Connectors
[ 61.936930] [drm] Connector 0:
[ 61.936995] [drm] DVI-I
[ 61.937064] [drm] HPD2
[ 61.937129] [drm] DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c
[ 61.937226] [drm] Encoders:
[ 61.937291] [drm] DFP1: INTERNAL_UNIPHY
[ 61.937357] [drm] CRT2: INTERNAL_KLDSCP_DAC2
[ 61.937423] [drm] Connector 1:
[ 61.937488] [drm] DIN
[ 61.937553] [drm] Encoders:
[ 61.937618] [drm] TV1: INTERNAL_KLDSCP_DAC2
[ 61.937683] [drm] Connector 2:
[ 61.937748] [drm] DVI-I
[ 61.937813] [drm] HPD1
[ 61.938809] [drm] DDC: 0x7e20 0x7e20 0x7e24 0x7e24 0x7e28 0x7e28 0x7e2c 0x7e2c
[ 61.938905] [drm] Encoders:
[ 61.938970] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 61.939038] [drm] DFP2: INTERNAL_KLDSCP_LVTMA
[ 61.992192] [drm] Radeon display connector DVI-I-1: Found valid EDID
[ 62.002102] [drm] Radeon display connector DVI-I-2: No monitor connected or invalid EDID
[ 62.002249] [drm] Internal thermal controller with fan control
[ 62.002457] [drm] radeon: power management initialized
[ 62.077672] [drm] fb mappable at 0xD0040000
[ 62.077739] [drm] vram apper at 0xD0000000
[ 62.077804] [drm] size 8294400
[ 62.077869] [drm] fb depth is 24
[ 62.077934] [drm] pitch is 7680
[ 62.078090] fbcon: radeondrmfb (fb0) is primary device
[ 62.296973] Console: switching to colour frame buffer device 240x67
[ 62.303407] fb0: radeondrmfb frame buffer device
[ 62.303408] drm: registered panic notifier
[ 62.303460] [drm] Initialized radeon 2.11.0 20080528 for 0000:04:00.0 on minor 0
[ 62.304775] brd: module loaded



My kernel config is here: http://pastebin.com/si7TQkpp

Any help would be greatly appreciated.
 
Old 02-20-2012, 04:22 AM   #2
adamk75
Senior Member
 
Registered: May 2006
Posts: 3,091

Rep: Reputation: 399Reputation: 399Reputation: 399Reputation: 399
Code:
CONFIG_EXTRA_FIRMWARE="R700_rlc.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/radeon"
If you concatenate those two values, you get "/lib/firmware/radeonR700_rlc.bin" not "/lib/firmware/radeon/R700_rlc.bin". That's an important difference.

EDIT:

Pretty sure you'll also need/want to include the appropriate _me.bin and _pfp.bin firmware file, too.

Adam

Last edited by adamk75; 02-20-2012 at 04:24 AM.
 
Old 02-20-2012, 10:04 AM   #3
stoat
Member
 
Registered: May 2007
Distribution: LFS
Posts: 628

Rep: Reputation: 185Reputation: 185
I experienced this same issue with R600_rlc.bin. And I, too, borrowed the file from another system (Arch Linux). I found that the firmware would build normally and be available for the driver during booting if I copied the missing .bin file to the firmware folder in the kernel source tree and referred to it this way in the kernel configuration...
Code:
|...Device Drivers --->
|    |
     |...Generic Driver Options --->
     |    |
          |...[*]Include in-kernel firmware blobs in kernel binary (CONFIG_FIRMWARE_IN_KERNEL=y)
          |...External firmware blobs to build into the kernel library (CONFIG_EXTRA_FIRMWARE="radeon/R600_rlc.bin")
          |    |...R600_rlc.bin
          |
          |...Firmware blobs root directory (CONFIG_EXTRA_FIRMWARE_DIR="firmware") <== This is the default and is the firmare folder in
          |    |...firmware                                                            the kernel source tree. But it also can be any
                                                                                       folder accessible during the compilation. The file's
                                                                                       location doesn't matter after compilation since it
                                                                                       will be built into the kernel.
The above doesn't exactly follow along with adamk75's comments, but it did work.

I also found that if I compiled the radeon driver stuff as modules, then I could skip the firmware in the kernel configuration and simply copy R600_rlc.bin to the LFS system's /lib/firmware/radeon folder after compiling the kernel...
Code:
|
|...Device Drivers --->
|    |
     |...Generic Driver Options --->
     |    |  
          |...[ ]Include in-kernel firmware blobs in kernel binary (CONFIG_FIRMWARE_IN_KERNEL is not set)
          |...External firmware blobs to build into the kernel library (CONFIG_EXTRA_FIRMWARE="")
          |    |...()
          |...Firmware blobs root directory (CONFIG_EXTRA_FIRMWARE_DIR="")
          |    |...()
Either way worked for me (modules or built-in). But if I built in the radeon driver stuff, then I built in the firmware file. And if I compiled the radeon driver as a module, then I copied the missing firmware file to /lib/firmware/radeon of the LFS system. Don't forget the make modules_install step if you choose to use modules. And don't forget the make firmware_install step to install the kernel's firmware.
 
Old 02-20-2012, 11:04 AM   #4
nicksmaddog
LQ Newbie
 
Registered: Feb 2012
Distribution: Linux From Scratch
Posts: 2

Original Poster
Rep: Reputation: Disabled
Thanks for the help from both of you. After trying the suggestions that you provided, I started to notice that none of the changes where taking place. It turns out, I didn't realize I needed to run the 'lilo' command each time I made kernel changes. Pretty dumb mistake.

All is working now. Thanks for all the help.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
execv("/bin/bash") failed system error: No such file or directory bbrian017 Linux - Desktop 1 08-27-2011 01:05 PM
[SOLVED] r600_cp: Failed to load firmware "radeon/R600_rlc.bin" nocountryman Linux - Newbie 14 04-22-2011 09:58 AM
Xorg -- (EE) Failed to load module "glx" (loader failed, 7) windowsrefugeeX Linux - Software 10 09-23-2009 05:51 PM
ATI Radeon Mobility 9600 + fglrx: Failed Module Load treth Linux - Laptop and Netbook 14 06-01-2007 05:40 AM
zd1211 failed to load firmware file h2gofast Linux - Wireless Networking 0 05-06-2006 10:21 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 08:32 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration