On Thu, 18 Dec 2003, Andrew Monkhouse wrote:
> I hadn't looked at what was being run at startup, since it appeared that
> everything had started up, it was just waiting for keyboard entry before
> going into graphical mode. But here is a list of what is being run at
> startup:
That just gave me another idea... before X has started, while in the
seemingly hung state, get to a console and do this:-
ps afxw >before.X
Then do whatever you need (ie press enter on another screen or whatever)
to get X running - just till the login screen
ps afxw >after.X
Now compare the differences and post the result, maybe some other X guru
will spot which process is stuck.
> Not a bad idea for general use. However in this case it does not appear that
> any of the individual startup scripts are hanging.
<snip>
> Then there is nothing for 5 minutes until I start getting various cron job
> outputs and various firewall messages. Then finally these bunch of messages
> when I log in an hour later:
>
> Dec 18 08:13:04 andrewkheng modprobe: modprobe: Can't locate module
> char-major-226
> Dec 18 08:13:04 andrewkheng last message repeated 3 times
> Dec 18 08:13:04 andrewkheng kernel: Linux agpgart interface v0.99 (c) Jeff
> Hartmann
> Dec 18 08:13:04 andrewkheng kernel: agpgart: Maximum main memory to use for
> agp memory: 439M
> Dec 18 08:13:04 andrewkheng kernel: agpgart: Detected Intel i850 chipset
> Dec 18 08:13:04 andrewkheng kernel: agpgart: AGP aperture is 128M @
> 0xe8000000
> Dec 18 08:13:16 andrewkheng gdm(pam_unix)[22562]: session opened for user
> andrewm by (uid=0)
>
> The module "char-major-226" message looks interesting, but this only appears
> at login (and at every login) not at the time when the X server _should_ be
> starting. But I will look at that further to see why this is happening. This
> is at least indicative of some problem with the graphics card I think.
This sort of message means a device was accessed for which there was no
module loaded and the kernel module loader looks at the major/minor number
of the device node and consults modules.conf to sort out which module it
is. Usually there's some entry like the following:-
alias char-major-89 i2c-dev
alias char-major-10-200 tun
In my example case a 'modprobe tun' is effectively done when
crw------- 1 root root 10, 200 Mar 12 2002 /dev/net/tun
is accessed.
So.. working backwards in your case...
cd /dev
ls -l * | grep "226,"
crw------- 1 root root 226, 0 Jan 30 2003 card0
crw------- 1 root root 226, 1 Jan 30 2003 card1
crw------- 1 root root 226, 2 Jan 30 2003 card2
crw------- 1 root root 226, 3 Jan 30 2003 card3
find ./ -name card0
./dri/card0
So there you have it, something to do with a DRI (Direct Rendering
Interface) module is attempting to be loaded, possibly a big clue,
possibly a red herring too.
One thing I've noticed in recent RedHat's is when you're in runlevel 5 it
will try to start X a couple of times but if it can't after about a minute
it reverts back a text gui asking you whether you want to try again or
switch to runlevel 3 (from memory) - ie gdm stops trying to launch X. Thus
allowing a text login, running redhat-config-xfree86, then you can
retry OR kill the paused process (forget which, probably gdm-binary) and
whammo there's the login screen. If I'm wrong it's because it's all from
my dodgy head and it's late.
--
---<GRiP>---
Electronic Hobbyist, Former Arcadia BBS nut, Occasional nudist,
Linux Guru, SLUG/AUUG/Linux Australia member, Sydney Flashmobber,
BMX rider, Walker, Raver & rave music lover, Big kid that refuses
to grow up. I'd make a good family pet, take me home today!
Do people actually read these things?
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html