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

Reply via email to