# [SOLVED] Kernel hangs within 10 seconds

## OboeNerd

Hi, I just recently recompiled a 2.6.29 kernel, and now when I try to boot it it hangs about 10 seconds in.  This normally happens when it's loading modules.  Changing the order of the modules seems to make no difference.

Could you please point out which info I should post here before we begin smashing the problem?

Thanks,

Hubert the Oboe NerdLast edited by OboeNerd on Thu Jul 09, 2009 7:39 pm; edited 1 time in total

----------

## Clad in Sky

Does it hang for 10 seconds or after 10 seconds and then just stays hanging?

The screen output at the moment it hangs would be a nice hint as to what might be wrong.

I had the same issue - the boot process would hang at some point, but the kernel would not panic.

In my case this was when the kernel wanted to load UHCI support (which my MoBo doesn't have) instead of OHCI (which it does).

Along with that you might want to post your kernel's .config and the output of lspci -n (use http://pastebin.com for your kernel config).

Someone might want to take a look at it.

----------

## OboeNerd

Sorry for the tardy reply....

The last event reported in dmesg is loading the swap.... which seems rather strange if you ask me.

I'll try grabbing this info asap.

-Hubert

----------

## OboeNerd

/var/log/dmesg  http://pastebin.com/m4bba3ed3

Kernel Config  http://pastebin.com/d2e5a3f27

lspci -n

```
00:00.0 0600: 8086:29a0 (rev 02)

00:01.0 0604: 8086:29a1 (rev 02)

00:03.0 0780: 8086:29a4 (rev 02)

00:19.0 0200: 8086:104b (rev 02)

00:1a.0 0c03: 8086:2834 (rev 02)

00:1a.1 0c03: 8086:2835 (rev 02)

00:1a.7 0c03: 8086:283a (rev 02)

00:1b.0 0403: 8086:284b (rev 02)

00:1c.0 0604: 8086:283f (rev 02)

00:1d.0 0c03: 8086:2830 (rev 02)

00:1d.1 0c03: 8086:2831 (rev 02)

00:1d.2 0c03: 8086:2832 (rev 02)

00:1d.7 0c03: 8086:2836 (rev 02)

00:1e.0 0604: 8086:244e (rev f2)

00:1f.0 0601: 8086:2812 (rev 02)

00:1f.2 0104: 8086:2822 (rev 02)

00:1f.3 0c05: 8086:283e (rev 02)

01:00.0 0300: 1002:94c3

01:00.1 0403: 1002:aa10

03:03.0 0703: 1057:3052 (rev 04)

03:06.0 0c00: 104c:8024

```

I am using an Acer PC, trying to get the ATI drivers working.  The two main settings I was trying to switch before the screw-up were

Bus Devices

--> pci_find_slot

and

Kernel Hacking

--> Unused symbols

Now I'm recompiling the kernel without those settings...

-Hubert

----------

## pappy_mcfae

OboeNerd,

When you place things at pastebin, it's best to put them there for a month. When I click on that link, it says it has expired. Could you please repost your .config, and also include the results of cat /proc/cpuinfo and your /etc/fstab file.

Blessed be!

Pappy

----------

## OboeNerd

I am so sorry about that, never quite used it before.

Disabling pci_find API and Unused/Obsolete Exported Symbols gets it to run again, but both options are required to run ati_drivers.  As of now newer versions which supposedly have the error fixed are not compatible with the 2.6.29 kernel which I am using.

Okay, let's give that another shot...

.config  http://pastebin.com/m6ba618ad

cpuinfo http://pastebin.com/m3900dbc

/etc/fstab http://pastebin.com/m55fd33c0

Thanks a lot.

-Hubert

----------

## pappy_mcfae

 *Quote:*   

> I am so sorry about that, never quite used it before. 

 

It's no thing. There was a time in my life when I was scared lifeless even thinking about working with the kernel. I could break my computer so hard, it would only be good for dropping from heights to see how many bits it generates when it hits ground. As you can see, those days are very long gone.

Anyway, about your kernel, you had so many things set up that you didn't need, it's no wonder you had such problems. I slimmed things down for you greatly. I started with a seed, and gave you just what I saw. I don't foresee any issues. I also made sure the settings you said you needed were turned on.

Click here for your new .config. Compile as is.

For the best results, please do the following:

1) Move your .config file out of your kernel source directory (/usr/src/linux-2.6.29-gentoo-r5 ).

2) Issue the command make mrproper. This is a destructive step. It returns the source to pristine condition. Unmoved .config files will be deleted!

3) Copy my .config into your source directory.

4) Issue the command make && make modules_install.

5) Install the kernel as you normally would, and reboot.

6) Once it boots, please post /var/log/dmesg so I can see how things loaded.

Don't forget to reinstall your video drivers once you get booting.

Blessed be!

Pappy

----------

## OboeNerd

/var/log/dmesg  http://pastebin.com/m160fa80c

And it boots  :Very Happy: 

Thanks a bunch, turns out I was using whatever preconfigured kernel that was thrown at me.

The kernel boots, when trying to install ati-drivers I get

ati-drivers-8.552 is not compatible with RCU Preemption (bug #223281), please disable it

But maybe I can try figuring this one on my own this time.  I'll post again if I run into any problems.

Thanks again,

-Hubert

----------

## energyman76b

you know what - forget 8.552. It is old. It is more than old, acient. Never was a good release and is pretty broken with modern kernels. Try something more recent - like 9.6.

----------

## OboeNerd

Admittedly, 9.6 broke dependencies with my X server but I guess I'll just try that one again.

Thanks.

----------

## pappy_mcfae

 *OboeNerd wrote:*   

> Thanks a bunch, turns out I was using whatever preconfigured kernel that was thrown at me.

 

That happens a lot. That's why I set up my kernel seeds. It's better for people to have a stable base on which to build a good running system instead of guessing which settings to use, and which to avoid. It's a lot easier to plug in devices and run than it is to figure out which settings to use, and which to avoid at all costs (such as CPU scheduling, and all it's attendant parts).

Happy Gentooing!

Blessed be!

Pappy

----------

## MaximeG

Avoid CPU scheduling ? Why's that ?

By the way pappy_mcfae, do you have a list of such features to avoid somewhere at disposal ?

Thanks a lot,

Maxime

----------

## pappy_mcfae

CPU scheduling, at my last reading about it, was, as the writer put it, "plumbing without the fixtures." It is incomplete, and I have yet to read that there are real working userspace apps to connect properly to that fancy, fixtureless plumbing.

While that in itself is disconcerting, the fact that CPU scheduling is nothing more than a slowdown at best is what concerns me. My philosophy on computers is I want to use every last bit of computing power I can squeeze out of them. To throw a block of math that is effectively without an external application is a waste of time, effort, and computing resources. And when you consider that when and if it gets set up properly, it will be able to deny cycles to apps based on some superfluous and arbitrary "scheduling", it still rings as a, "who needs it," batch of unneeded math.

All of my machines run fine without it. All of my machines choke down when I turn it on. Simply put, that's not what my kernel seeds or my philosophy on computing is about; not even close.

Blessed be!

Pappy

----------

## energyman76b

'cpu scheduling'? what the fuck are you talking about?

----------

## pappy_mcfae

CPU Scheduling...also known as Group CPU scheduler and/or Control Group support. And perhaps in the future, you could try to not be so rude when asking a question.

Blessed be!

Pappy

----------

## MaximeG

Ok, thanks.

I'll have a look at it. Don't know if it's turned on for me or not.

Thanks !

Maxime

----------

## coolsnowmen

 *pappy_mcfae wrote:*   

> 
> 
> While that in itself is disconcerting, the fact that CPU scheduling is nothing more than a slowdown at best is what concerns me. My philosophy on computers is I want to use every last bit of computing power I can squeeze out of them. To throw a block of math that is effectively without an external application is a waste of time, effort, and computing resources. And when you consider that when and if it gets set up properly, it will be able to deny cycles to apps based on some superfluous and arbitrary "scheduling", it still rings as a, "who needs it," batch of unneeded math.

 

Anytime you have more than one process vying for cpu attention (all the time) then this "batch of unneeded math" suddenly becomes needed.  How else do you decide whose turn it is?  If you don't want to mess with scheduling (which i'm guessing most people don't) then you probably don't need to schedule by groups, but scheduling is ALWAYS important.

----------

## pappy_mcfae

For some strange reason, my kernel seems to figure out who's next when it comes to CPU cycles without that stuff. It has since I got back in the game with Slackware-11 and 2.6.18.13. Whenever I turn that stuff on (CPU scheduling), it slows my systems...significantly in some cases.

I guess whatever standard voodoo the kernel devs use to do that work without CPU scheduling is good enough for my machinery. The extra math is superfluous.

Blessed be!

Pappy

----------

## coolsnowmen

 *pappy_mcfae wrote:*   

> For some strange reason, my kernel seems to figure out who's next when it comes to CPU cycles without that stuff. It has since I got back in the game with Slackware-11 and 2.6.18.13. Whenever I turn that stuff on (CPU scheduling), it slows my systems...significantly in some cases.
> 
> I guess whatever standard voodoo the kernel devs use to do that work without CPU scheduling is good enough for my machinery. The extra math is superfluous.
> 
> Blessed be!
> ...

 

Your kernel IS scheduling, and always has been. Otherwise your entire os would be single threaded.  Anytime there is resource contention a scheduling scheme (math) is needed.  The point is the the GROUP scheduling framework recently added to the kernel isn't necessary for anyone who doesn't explicitly want it.  Your point is that this option (and only this option) causes a slowdown (for reasons unknown).

In your kernel config -- I/O schedules, I'm sure you have one of the following in use right now: Anticipatory/Deadline/CompletlyFair (your .configs default to the newer CFQ).

When you choose your preemption model you are modifying the scheduling rules.

----------

## pappy_mcfae

Of course it is...and without CPU scheduling or fair scheduling, or whatever they're calling it this version.

Blessed be!

Pappy

----------

## OboeNerd

Sorry for the lack of replies.

As it stands....

-My /sbin somehow got hit by a tornado and lost files like most of the gcc config and rc.  I still have yet to find out why this happened, and I probably never will.

-I started again from scratch, this time using one of Pappy's seeds for 2.6.27-r10, which is compatible with ATI's drivers.  The kernel boots up fine.

And after a little work I now have a much more stable and fast system than last time, with ATI's drivers working perfectly.  (And yes, ati-drivers-9.6)

Thanks for all the suggestions!

-Hubert the Oboe Nerd

@coolsnowmen, there really are no easter eggs in this program.  :Wink: 

----------

## pappy_mcfae

Good to read. Happy Gentooing!

Blessed be!

Pappy

----------

