Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 44932 - fbresolution in /sbin/splash doesn't work with Kernel 2.6. and udev with /dev tarball saving disabled (no /dev/fb0)
Summary: fbresolution in /sbin/splash doesn't work with Kernel 2.6. and udev with /dev...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Michal Januszewski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-17 02:16 UTC by Andreas Trawöger
Modified: 2004-03-20 04:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Trawöger 2004-03-17 02:16:59 UTC
To run into this problem you have to do the following:

Use Kernel 2.6.-gentoo, udev 21, do a 'rm -rf /dev', disable /dev tarball saving in /etc/init.d and use bootsplash ;-)

The result is that you wont have a /dev/fb0 (it isn't created by udev).This leads to a /dev/fb0 not found failure in fbset and fbresolution.

If I'm right fbset & fbresolution shouldn't be used with Kernel 2.6 anyway. Only problem is that /sbin/splash uses fbresolution to determine the screen size of the framebuffer:

#
# Source theme config file
#
if [ ! -x /sbin/fbresolution ]; then
  echo "$0: '/sbin/fbresolution' does not exist on your system... aborting !"
else
  res="$(/sbin/fbresolution)"
fi

This will fail on a system with 2.6 & udev enabled (if the /dev/fb0 entry isn't saved & restored via /dev tarball saving).

A temporary solution is to replace the fbresolution lines in /sbin/splash with something like:

#if [ ! -x /sbin/fbresolution ]; then
#  echo "$0: '/sbin/fbresolution' does not exist on your system... aborting !"
#else
#  res="$(/sbin/fbresolution)"
#fi

res="1024x768"

This will disable automatic detection of your resolution, but you get rid off all the /dev/fb0 not found error messages at startup.


Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Looks like I just joined the Gentoo 'I switched to udev, what I'm supposed to 
do now' club ;-))
Comment 1 Michal Januszewski (RETIRED) gentoo-dev 2004-03-17 08:40:37 UTC
Unfortunately, this isn't that easy. Not everyone uses 1024x768, there are people with 800x600, 1280x1024 and other res's out there. We can't hard-code a resolution into /sbin/splash. fbset and fbresolution can be used with 2.6 kernels. fbresolution works OK, fbset just acts a little differently than on 2.4 kernels. I think I'll switch to udev later today (well, it has to be done sooner or later after all ;)) and see what I can do about this. 
Comment 2 Andreas Trawöger 2004-03-18 02:41:10 UTC
Hardcoding res is only a temporary solution I used to get rid of the error messages. 

Another one was suggested in the forum:
echo "mknod -m 660 /dev/fb0 c 29 0" > /etc/conf.d/local.start

I think there are two possibilities to fix that problem:

1. change baselayout to automaticly create /dev/fb0 if udev is used
2. replacing fbresolution in /sbin/splah with something that doesn't need /dev/fb0

At the moment /dev/fb0 is only needed for determining the screensize their isn't used for anything else.
Comment 3 Michal Januszewski (RETIRED) gentoo-dev 2004-03-20 04:32:49 UTC
Ok, I've just switched to udev and I had no problems with Bootsplash. The way I see it, the device tarball should be enabled:

(excerpt from /etc/conf.d/rc):
# Set to "yes" if you want to save /dev to a tarball on shutdown
# and restore it on startup.  This is useful if you have a lot of
# custom device nodes that udev do not handle/know about.
# (ONLY used by UDEV enabled systems!)

RC_DEVICE_TARBALL="yes"

Since apparently /dev/fbx is not supported by the pure udev yet (I'm sure it will be at some point in the future), using the Gentoo devices tarball is the solution here. The Gentoo udev-guide states:

"Warning: Do not complain if something goes wrong. You're going to remove the hard work of many Gentoo developers that hacked our init scripts to get udev playing nicely with Gentoo!"

In other words - if you disable the devs tarball, you're using something that I believe could be called an unsupported configuration :) Since there's no replacement for fbresolution and changing the baselayout is unnecessary, I'm marking this bug as INVALID. My recommendation is to set RC_DEVICE_TARBALL to "yes".