# Unstable kernel on epia

## Darknight

The only kernel that seems stable on my friend's new epia 5000 is the stock kernel from the livecd.

We both tried to compile lighter kernels. They work but sooner or later (sometimes during boot) we get random kernel oops and (rarely) panics. The oops are almost always related to udev.

I have already run memtest, it didn't show any errors.

I'm a bit lost, I don't understand what I may have done wrong. I will post the kernel config if needed.

One more thing: I get segmentation faults compiling large packages (gcc) even if no oops with the stock kernel.

----------

## mishmash

I'm using a gentoo-sources based kernel I configured for my epia pd6000e and before the recent power outages in my house it was running very stable with an uptime of ~30 days (not very long but that's about the length of time since I built/installed the machine). Unfortunatly I can't access it at the moment but I will try to do so shortly and then I will make availible a copy of my kernel config and make.conf files. One important note I will touch on now however is that since the C3 processor on our motherboards does not support the cmov instruction of the i686 instruction set you must treat the machine as an i586. Running i686 optimised executables is rather hit and miss as some (without cmov) will run fine whereas others will crash and burn. However this may or may not be pertinent to your situation.

Edit 1:

I've uploaded both my current kernel configuration and make.conf files here. The machine upon which the kernel resides is a headless server which is why I have left out support for agp/asla etc. The kernel is optimised for size (CONFIG_CC_OPTIMIZE_FOR_SIZE=y) and the processor family is specified as "CyrixIII/VIA-C3" (CONFIG_MCYRIXIII=y).

The CFLAGS variable in make.conf also specifies binaries are optimised for size (due to the limited amount of cache) and the arch is set to i586 (for reasons I've already mentioned) with additional support for 3dnow (-m3dnow).

Edit 2:

Whilst doing some research into GCC CFLAGS it appears it would also be beneficial to add -mmmx in addition to -m3dnow. For some reason I had believed 3dnow was a rival technology designed to replace mmx. If my understanding is now correct (from reading this and this), 3dnow extends upon the mmx instructions by also enhancing floating-point operations. Perhaps someone could verify this for me? Also, seeing as you can set -march to "c3" (albeit without scheduling, could this be overcome with -mtune=i586/i686, does it really matter?) perhaps it would be even better to do something like -march=c3 -mtune=i586? I'm guessing this would make availible the additional instructions we lose out on from using -march=i586, minus cmov. I'm going a little off-topic here I know, sorry about that   :Embarassed: .

----------

## Darknight

Thanks for the info, I will give your configs a shot tomorrow (I don't have access to the box now).

Yes, I avoided march=i686 and enabled mmx and 3dnow cflags.

It has to be a kernel config problem or a hardware problem, I just can't see another reason for all of this.

----------

