It's not true.

RHEL5.2 with 'i686' CPU kernel 2.6.18-92.1.1 work very well.
uname -a just shows:
Linux my.host.domain.net 2.6.18-92.1.1.el5.SOEKRIS #1 SMP Sat Jun 21 
23:04:59 CEST 2008 i586 i586 i386 GNU/Linux

I recompiled kernel from .src.rpm. The problem was powernow-k8.
Now Net5501 work with all 8 ETH, CF and IDE HDD.

RHEL5.2 has powernow-k8 compiled into kernel (not module) and OOPS on 
it. RHEL4.6 has powernow-k8 as a module and work well.

I recompiled kernel with powernow-k8 as a module or with disabled 
powernow (safer methods because if I load module powernow-k8.ko with 
modprobe/insmod I receive OOPS and kernel crash).

Why powernow-k8 crash? Becuase of one of two theoretic reasons (I not sure):
1) bug in linux kernel in powernow-k8 (in original kernel or in RedHat 
patch)
2) bug in SOEKRIS bios (in linux kernel in Documentation for powernow: 
"amd-powernow.txt" is written that this module uses bios:

"
BIOS supplied data, for powernow-k7 and for powernow-k8, may be
from either the PSB table or from ACPI objects. The ACPI support
is only available if the kernel config sets CONFIG_ACPI_PROCESSOR.
The powernow-k8 driver will attempt to use ACPI if so configured,
and fall back to PST if that fails." *

Below I describe for all RedHat / RHEL maniac steps how to recompile 
original/updated RHEL5.2 kernel to work with net5501 SOEKRIS:


1) download rpm with source of last kernel 
"kernel-2.6.18-92.1.1.el5.src.rpm" from rhn.redhat.com

2) "install" this package:
     rpm -ivh kernel-2.6.18-92.1.1.el5.src.rpm

We receive source in /usr/src/redhat:
kernel-2.6.spec in SPECS
linux-2.6.18.tar.bzp and a lot of patches and configs in SOURCE

3) go to SOURCE and change kernel config files: 
kernel-2.6.18-i686.config (AND OTHER relevant ...).
We search string: "CONFIG-X86-POWERNOW_K8=y" and change to
"CONFIG-X86-POWERNOW_K8=m" or
"CONFIG-X86-POWERNOW_K8=n" (safer)

save file, quite editor

4) go to SPECS

cd /usr/src/redhat/SPECS
edit kernel-2.6.spec
look for commented with # line "define build" and change it in:
"%define build .SOEKRIS".
It's give us special suffix for our kernel and RPMs with it.
save file, quite editor

5) build kernel in rpms:
rpmbuild -ba --target=i686 kernel-2.6.spec

6) go sleep or ride your bike or go walk or something else: it take long 
time to compile all this kernels/rpms. It took about 1,5 h on Intel Core 
2 Due 1,8 Ghz. Don't try that on SOEKRIS !!! :-).

7) We need a lot of disk space: about 2,5-3 GB in /usr/src/redhat and a 
lot of in /var/tmp ...

8) When our CPU finished work we received 13rpm with kernel in 
/usr/src/redhat/RPMS/i686. Most important is of course:
kernel-2.6.18-92.1.1.el5.SOEKRIS.i686.rpm


9) We transfer this RPM file to our CF or HDD for net5501 and install 
that (from VMWware or from computer other than net5501):
rpm -ivh kernel-2.6.18-92.1.1.el5.SOEKRIS.i686.rpm

10) change /boot/grub/grub.conf:
add all staff for console support:

My grub.conf looks like (You can don't used LVM and have root=LABEL=/ or 
root=/dev/hda1 or something similar instant of root=/dev/VolGroup00/LogVol00
default=0
timeout=5
#splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
#
serial --unit=0 --speed=57600 --word=8 --parity=no --stop=1
terminal --timeout=5 console serial
#
title Red Hat Enterprise Linux Server (2.6.18-92.1.1.el5.SOEKRIS)
         root (hd0,0)
         kernel /vmlinuz-2.6.18-92.1.1.el5.SOEKRIS ro 
root=/dev/VolGroup00/LogVol00 console=ttyS0,57600n8


remember to change /etc/inittab:
we need this line:
cp:2345:respawn:/sbin/agetty ttyS0 57600 vt100-nav

11) shutdown and mount CF/Hdd in your SOEKRIS net5501 and fireup it.
If your SOEKRIS have [EMAIL PROTECTED]@ something with power (my have :() you 
have 
try power on few times. Now your SOEKRIS should boot without powernow-k8 
problem.

12) You can compile kernel in faster manner (only one rpm). Please see 
kernel-2.6.spec and use rpmbuild with additional parameters/options


And last three advice for RHEL/linux:

1)
For Four Eth onboard RHEL/linux uses via_rhine + mii module as a driver.
For Four additional Eth (PCI card lan1641 sold by soekris) RHEL/linux
uses natsemi + mii module as a driver. If kudzu didn't do it for you 
just prepare /etc/modprobe.conf. Add this line in it:

alias eth0 via-rhine
alias eth1 via-rhine
alias eth2 via-rhine
alias eth3 via-rhine
alias eth4 natsemi
alias eth5 natsemi
alias eth6 natsemi
alias eth7 natsemi

2)
My net5501 and RHEL5.2 change order of interfaces: eth0-eth3 on PCI, 
eth5-eth7 onboard. To correct this check, write-down and use mac-addresses:

in /etc/sysconfig/network-scripts/ change MAC in line HWADDR in each 
ifcfg-eth? file as you want. I prefer names of eth with conformance of 
description on net5501 box :).

3) You can compile kernel not as i686 but as MGEODE_LX.
CONFIG_M686 is not set
CONFIG_MGODE_LX=y


P.S.
I asked about RedHat / RHEL and please dont write me about debian. This 
is tech list, not advocacy .... Additionally you write not true...


* cat amd-powernow.txt
###################################################################
PowerNow! and Cool'n'Quiet are AMD names for frequency
management capabilities in AMD processors. As the hardware
implementation changes in new generations of the processors,
there is a different cpu-freq driver for each generation.

Note that the driver's will not load on the "wrong" hardware,
so it is safe to try each driver in turn when in doubt as to
which is the correct driver.

Note that the functionality to change frequency (and voltage)
is not available in all processors. The drivers will refuse
to load on processors without this capability. The capability
is detected with the cpuid instruction.

The drivers use BIOS supplied tables to obtain frequency and
voltage information appropriate for a particular platform.
Frequency transitions will be unavailable if the BIOS does
not supply these tables.

6th Generation: powernow-k6

7th Generation: powernow-k7: Athlon, Duron, Geode.

8th Generation: powernow-k8: Athlon, Athlon 64, Opteron, Sempron.
Documentation on this functionality in 8th generation processors
is available in the "BIOS and Kernel Developer's Guide", publication
26094, in chapter 9, available for download from www.amd.com.

BIOS supplied data, for powernow-k7 and for powernow-k8, may be
from either the PSB table or from ACPI objects. The ACPI support
is only available if the kernel config sets CONFIG_ACPI_PROCESSOR.
The powernow-k8 driver will attempt to use ACPI if so configured,
and fall back to PST if that fails.
The powernow-k7 driver will try to use the PSB support first, and
fall back to ACPI if the PSB support fails. A module parameter,
acpi_force, is provided to force ACPI support to be used instead
of PSB support.

###################################################################


Sargun Dhillon wrote:
> You can't run RHEL 5.X on the Soekris. The 5501 has a '586' CPU, whereas 
> RHEL5 expects a 686 CPU. You're simply going to come across a lot of 
> crashing, bugs, and other issues. This is a bad idea.
> 
> Go back to Debian, and debootstrap your machine together.
> 
> 
> Sargun Dhillon
> 925.202.9485
> deCarta
> [EMAIL PROTECTED]
> www.decarta.com
> 
> 
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] on behalf of Otfried Geffert
> Sent: Fri 6/20/2008 1:53 AM
> To: Przemyslaw Maszenda; soekris-tech@lists.soekris.com
> Subject: Re: [Soekris] net 5501 and RHEL5.2
>  
>>> EIP: [<c041041c>] powernowk8_init+0x5e/0x1c2 SS:ESP 0068:c147cfa0
> 
> Looks like there is a kernel module called "powernowk8"
> The crash is while loading this module.
> 
> Get rid of the kernel module in the config.
> 
> OR: Maybe the module is part of the initrd RAM disk.
> You can make your own with
> # mkdinitrd  your_rd   kernel_version
> 
> Otfried
> 
> ----- Original Message ----- 
> From: "Przemyslaw Maszenda" <[EMAIL PROTECTED]>
> To: <soekris-tech@lists.soekris.com>
> Sent: Friday, June 20, 2008 9:32 AM
> Subject: [Soekris] net 5501 and RHEL5.2
> 
> 
>> Hi
>>
>> I try to boot and install RedHat Enterprise Linux 5.2 on net5501-70
>> (with sandisk CF but this doesn't matter, I think), but without success.
>>
>> With original RHEL5.2 kernel booting from CF (CF was installed on
>> another PC) or booting over PXE I received:
>>
>> ############################################################################
>> Linux version 2.6.18-92.1.1.el5
>> ([EMAIL PROTECTED]) (gcc v
>> ersion 4.1.2 20071124 (Red Hat 4.1.2-41)) #1 SMP Thu May 22 09:01:29 EDT
>> 2008
>> BIOS-provided physical RAM map:
>>
>> [...]
>>
>> TCP bic registered
>> Initializing IPsec netlink socket
>> NET: Registered protocol family 1
>> NET: Registered protocol family 17
>> powernow-k8: Processor cpuid 5a2 not supported
>> BUG: unable to handle kernel NULL pointer dereference at virtual address
>> 0000000
>> 0
>>  printing eip:
>> c041041c
>> *pde = 00000000
>> Oops: 0000 [#1]
>> SMP
>> last sysfs file:
>> Modules linked in:
>> CPU:    0
>> EIP:    0060:[<c041041c>]    Not tainted VLI
>> EFLAGS: 00010202   (2.6.18-92.1.1.el5 #1)
>> EIP is at powernowk8_init+0x5e/0x1c2
>> eax: 00000000   ebx: 00000000   ecx: 0000000e   edx: 00000020
>> esi: 00000000   edi: c06242c3   ebp: 00000000   esp: c147cfa0
>> ds: 007b   es: 007b   ss: 0068
>> Process swapper (pid: 1, ti=c147c000 task=c147daa0 task.ti=c147c000)
>> Stack: 00000000 c071bbe8 00000000 c06ec5a8 c06e7fd8 c0404dee 00000202
>> c06ec42b
>>        00000000 00000000 00000000 00000000 00000000 00000000 c06ec42b
>> 00000000
>>        00000000 c0405c3b 00000000 00000000 00000000 00000000 00000000
>> 00000000
>> Call Trace:
>>  [<c06ec5a8>] init+0x17d/0x24a
>>  [<c0404dee>] ret_from_fork+0x6/0x1c
>>  [<c06ec42b>] init+0x0/0x24a
>>  [<c06ec42b>] init+0x0/0x24a
>>  [<c0405c3b>] kernel_thread_helper+0x7/0x10
>>  =======================
>> Code: 83 3d 20 41 67 c0 01 75 40 83 3d 84 d4 76 c0 00 75 37 b8 01 00 00
>> 00 bf c3
>>  42 62 c0 e8 0a 15 19 00 b9 0f 00 00 00 89 c6 49 78 08 <ac> ae 75 08 84
>> c0 75 f5
>>  31 c0 eb 04 19 c0 0c 01 85 c0 75 0a c7
>> EIP: [<c041041c>] powernowk8_init+0x5e/0x1c2 SS:ESP 0068:c147cfa0
>>  <0>Kernel panic - not syncing: Fatal exception
>>
>> ############################################################################
>>
>>
>> I recompiled kernel from redhat .src.rpm (with rpmbuild, with all
>> patches ...), with Geode GX/LX CPU. I included support for AMD
>> powernow-k8. I tried to boot and I received similar as before:
>>
>> ############################################################################
>> Linux version 2.6.18-SOEKRIS ([EMAIL PROTECTED]) (gcc version 4.1.2 20071124
>> (Red Hat
>>  4.1.2-42)) #1 SMP Fri Jun 20 07:58:23 CEST 2008
>>
>> [...]
>>
>> TCP bic registered
>> Initializing IPsec netlink socket
>> NET: Registered protocol family 1
>> NET: Registered protocol family 17
>> powernow-k8: Processor cpuid 5a2 not supported
>> BUG: unable to handle kernel NULL pointer dereference at virtual address
>> 0000000
>> 0
>>  printing eip:
>> c04104f5
>> *pde = 00000000
>> Oops: 0000 [#1]
>> SMP
>> last sysfs file:
>> Modules linked in:
>> CPU:    0
>> EIP:    0060:[<c04104f5>]    Not tainted VLI
>> EFLAGS: 00010202   (2.6.18-SOEKRIS #1)
>> EIP is at powernowk8_init+0x5e/0x1c2
>> eax: 00000000   ebx: 00000000   ecx: 0000000e   edx: c06e7fe4
>> esi: 00000000   edi: c0626270   ebp: 00000000   esp: dffe9fa0
>> ds: 007b   es: 007b   ss: 0068
>> Process swapper (pid: 1, ti=dffe9000 task=dffe8aa0 task.ti=dffe9000)
>> Stack: 00000000 c071da88 00000000 c06ee5a9 c06e9fd8 c0404dce 00000202
>> c06ee42c
>>        00000000 00000000 00000000 00000000 00000000 00000000 c06ee42c
>> 00000000
>>        00000000 c0405c1b 00000000 00000000 00000000 00000000 00000000
>> 00000000
>> Call Trace:
>>  [<c06ee5a9>] init+0x17d/0x24a
>>  [<c0404dce>] ret_from_fork+0x6/0x1c
>>  [<c06ee42c>] init+0x0/0x24a
>>  [<c06ee42c>] init+0x0/0x24a
>>  [<c0405c1b>] kernel_thread_helper+0x7/0x10
>>  =======================
>> Code: 83 3d 20 61 67 c0 01 75 40 83 3d 84 f4 76 c0 00 75 37 b8 01 00 00
>> 00 bf 70
>>  62 62 c0 e8 81 29 19 00 b9 0f 00 00 00 89 c6 49 78 08 <ac> ae 75 08 84
>> c0 75 f5
>>  31 c0 eb 04 19 c0 0c 01 85 c0 75 0a c7
>> EIP: [<c04104f5>] powernowk8_init+0x5e/0x1c2 SS:ESP 0068:dffe9fa0
>>  <0>Kernel panic - not syncing: Fatal exception
>>
>> #######
>>
>>
>> I know, I lame :), but what should I do run to RHEL5.2 with net5501-70?
>>
>> 1) Should I recompile kernel? (For me is important to have kernel
>> version and patchlevel exactly as RHEL5.2, changing arch is acceptable)
>>
>> 2) For best performance and stability what should I choose in
>> menuconfig. Which arch and CPU?
>>
>> PS.
>> I checked that over PXE I could boot kernel from RHEL4.6 ...
>>
>> thanks.
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Soekris-tech mailing list
>> Soekris-tech@lists.soekris.com
>> http://lists.soekris.com/mailman/listinfo/soekris-tech 
> 
> _______________________________________________
> Soekris-tech mailing list
> Soekris-tech@lists.soekris.com
> http://lists.soekris.com/mailman/listinfo/soekris-tech
> 

_______________________________________________
Soekris-tech mailing list
Soekris-tech@lists.soekris.com
http://lists.soekris.com/mailman/listinfo/soekris-tech

Reply via email to