kernel 2.6.26 or 2.6.28?

Is there a link to download a version of Suse with either kernel 2.6.26 or 2.6.28? For some reasons I have, I need one of these kernel versions. The newest download here, 2.6.37, won’t work for me.

Thanks,

Jeff

On 07/21/2011 12:56 PM, kernel j wrote:
>
> Is there a link to download a version of Suse with either kernel 2.6.26
> or 2.6.28? For some reasons I have, I need one of these kernel versions.
> The newest download here, 2.6.37, won’t work for me.

Certainly there is nothing with kernels that old that is supported. There was a
2.6.34 kernel in 11.3 and 2.6.31 kernel in 11.2 (unsupported).

You can always download the source from kernel.org and build your own.

Alternatively, you can describe what is not working and we can help you fix the
problem. Most problems with later kernels are with the Kernel Mode Setting video
drivers. If you add “nomodeset” to the GRUB boot options, does the system work?

It’s actually a driver for a network card. Some software I want to use needs to rebuild the driver slightly differently and the software doesn’t work with this newer kernel.

I’m new to this, but I’m certainly willing to try building the kernel myself. Can you list some steps that I’d have to go through? I installed all of the development packages when I installed Suse 11.4. So is it like this:

  1. download 2.6.28 from kernel.org
  2. run some ‘make’ command that they tell me about
  3. reboot and I have Suse 11.4 with a 2.6.28 kernel

Thanks,

Jeff

On 07/21/2011 01:26 PM, kernel j wrote:
>
> It’s actually a driver for a network card. Some software I want to use
> needs to rebuild the driver slightly differently and the software
> doesn’t work with this newer kernel.
>
> I’m new to this, but I’m certainly willing to try building the kernel
> myself. Can you list some steps that I’d have to go through? I
> installed all of the development packages when I installed Suse 11.4.
> So is it like this:
>
> 1) download 2.6.28 from kernel.org
> 2) run some ‘make’ command that they tell me about
> 3) reboot and I have Suse 11.4 with a 2.6.28 kernel

Those are basically the steps. The actual specifics are:

Download any tar -jxvf the file. Change directory to the new Linux source.

Do “make cloneconfig”, and answer the questions. Next “make -jX”, where X is one
larger than the number of CPUs. Finally “sudo make modules_install install”.

When all that finishes, you will have a new kernel option in the GRUB menu.
Choose it to reboot to the 2.6.28 kernel. The one gotcha that always seems to
get me involves reorganization of libata and the possible changing of the driver
for your disk. If it does change, and that driver is not built in, the new
kernel will not boot.

Another way is to fix the out-of-kernel driver for your network card. I know how
to fix that code to compile on newer systems. Please use ‘/sbin/lspci -nnk’ to
provide info on your device, and point me to a place to get the driver source.
If we do this, you will be ready for 12.1.

Hi
This user is wanting to use ethercat, which I’ve provided some fixes
upstream including some drivers for the 2.6.34 kernel.

http://etherlab.org/en/ethercathttp://etherlabmaster.hg.sourceforge.net/hgweb/etherlabmaster/etherlabmaster/archive/tip.tar.bz2

The one the op wants is an e100 I’ve done some, but must have missed
something as it errors out.

I’m heading of on vacation for just over a week tomorrow, so would have
got something done…


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.5-desktop
up 11 days 16:18, 5 users, load average: 0.31, 0.16, 0.09
GPU GeForce 8600 GTS Silent - Driver Version: 270.41.19

Here is the e100-2.6.37-ethercat.c module so far.
http://pastebin.com/UJLtJmQD


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.5-desktop
up 11 days 16:32, 5 users, load average: 0.24, 0.15, 0.13
GPU GeForce 8600 GTS Silent - Driver Version: 270.41.19

Hi
OK, managed to squeeze it in and have updated my build for e100 module
for 2.6.37 kernel, the new build is here;

Depending on if you have updated your kernel or not, grab the module
the matches the output from uname -a or grab a src rpm and build that.

The version you need is the 3.1 version, eg
ethercat-1.5.4adb56c4198d-3.1…
http://software.opensuse.org/search?q=ethercat&baseproject=openSUSE%3A11.4&lang=en&include_home=true&exclude_debug=true


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel 2.6.37.6-0.5-desktop
up 11 days 21:33, 5 users, load average: 0.02, 0.16, 0.19
GPU GeForce 8600 GTS Silent - Driver Version: 270.41.19

I did this:

  1. downloaded linux-2.6.27.59.tar.bz2 to /
  2. tar -jxvf linux-2.6.27.59.tar.bz2
  3. cd linux-2.6.27.59
  4. make cloneconfig

and I got this result from the make cloneconfig command:

dhcppc2:/linux-2.6.27.59 # make cloneconfig
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c: In function ‘traps’:
scripts/basic/fixdep.c:377:2: warning: dereferencing type-punned pointer will break strict-aliasing rules
scripts/basic/fixdep.c:379:4: warning: dereferencing type-punned pointer will break strict-aliasing rules
HOSTCC scripts/basic/docproc
make[1]: *** No rule to make target `cloneconfig’. Stop.
make: *** [cloneconfig] Error 2
dhcppc2:/linux-2.6.27.59 #

I like the idea of trying to get the kernel working like this, so hopefully you can tell me what went wrong.

This would be the best solution. The result of that command is this:

05:09.0 Ethernet controller [0200]: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 [8086:1229] (rev 08)
Subsystem: Intel Corporation EtherExpress PRO/100+ [8086:000b]
Kernel driver in use: e100

You can get the source from here: IgH EtherCAT Master for Linux

The file I have is called IgH EtherCAT Master for Linux and I don’t see directly how to get it (someone else here downloaded it). What you’ll see is a folder called ‘devices’ and inside it will be files like e100-2.6.33-orig.c and e100-2.6.33-ethercat.c. So you can see what they did to go from the driver for 2.6.33 to make it ethercat compatible. I can email you those two files if you wish.

Thanks.

I’m not sure why “IgH EtherCAT Master for Linux” now appears in my post where I had links/names, but the first link is correct. The second one was just the name of a file and should have been etherlabmaster-4adb56c4198d.tar.bz2

Can someone help explain this to me a little bit? My understanding is that if I build these rpms I’ll get the executable driver that I want, but I won’t be able to recompile it myself. I’d really need to be able to compile and build it myself.

Hi
That’s what the devel rpm is for it contains the headers for you to ‘develop’ with.

Just unpack the rpm, apply the patches and build manually.

On 07/22/2011 09:26 AM, kernel j wrote:
>
> lwfinger;2366935 Wrote:
>>
>> Those are basically the steps. The actual specifics are:
>>
>> Download any tar -jxvf the file. Change directory to the new Linux
>> source.
>>
>> Do “make cloneconfig”
>
> I did this:
>
> 1) downloaded linux-2.6.27.59.tar.bz2 to /
> 2) tar -jxvf linux-2.6.27.59.tar.bz2
> 3) cd linux-2.6.27.59
> 4) make cloneconfig
>
> and I got this result from the make cloneconfig command:
>
> dhcppc2:/linux-2.6.27.59 # make cloneconfig
> HOSTCC scripts/basic/fixdep
> scripts/basic/fixdep.c: In function ‘traps’:
> scripts/basic/fixdep.c:377:2: warning: dereferencing type-punned
> pointer will break strict-aliasing rules
> scripts/basic/fixdep.c:379:4: warning: dereferencing type-punned
> pointer will break strict-aliasing rules
> HOSTCC scripts/basic/docproc
> make[1]: *** No rule to make target `cloneconfig’. Stop.

make: *** [cloneconfig] Error 2
dhcppc2:/linux-2.6.27.59 #

The other way to get the current configuration is


zcat /proc/config.gz > .config

Use that instead of the ‘make cloneconfig’

Whew, you’re not on vacation yet. :slight_smile: Ok, I see two files called ethercat-devel-1.5.4adb56c4198d-3.1.i586.rpm. I’ll download the one higher up on the list (I assume it’s newer?).

Then I do the following?

  1. Log in as user and place ethercat-devel-1.5.4adb56c4198d-3.1.i586.rpm on Desktop
  2. rpmbuild --rebuild ethercat-devel-1.5.4adb56c4198d-3.1.i586.rpm
  3. Not sure how to apply patches…
  4. run my ./configure --enable-e100 command again, then the ‘make’ commands again and such.

Is this right? Please advise on #3 especially if you can.

Thanks.

Hi
Don’t you create an application calling the installed ethercat headers, compile and run run that?

Here is what you do if you want to modify/rebuild the rpm (with your changes to, what ethercat sources?);

Download the src rpm, then install the src rpm;


zypper in ethercat-1.5.4adb56c4198d-3.1.src.rpm

Now this will pop all the rpm stuff down in /usr/src/packages

The ethercat source tarball will be in SOURCES directory, the rpm spec file will be in SPECS directory.

AS YOUR USER!!! NOT ROOT

unpack the source tarball and make your changes, then bz2 the file back to a tarball, then cd to the SPECS directory and AS YOUR USER, run


rpmbuild -ba ethercat.spec

This will build up the rpms for you to re-install with your modifications for you to install manually.

Ok, so the basics are that I will install and unpack your source RPM, modify it, repack it, and install it. This must be what you do when you send these, right?

I will write an app that calls all this stuff, but I’d also like to be able to modify the driver as well.

So it looks like ‘zypper’ handles the installing of the source RPM. What command unpacks it? Then the “rpmbuild --rebuild” and “rpm -Uhv” will be the final installs of whatever I modified, right?

Thanks again,

Jeff

Hi
When your in the SPEC’s directory, you only need to use rpmbuild -ba.

You would be better off to leave the src as is and create a new driver that you would patch in to the existing source, this would save a lot of addition work, you would not have to touch the source, just modify the rpm spec file to add your patch in…

I would use zypper in to install the rpms, but rpm -Uhv will work.

Looks to be the problem. This is what I see:

Waiting for device /dev/disk/by-id/ata-ST380815AS_9QZDAH33-part2 to appear: …Could not find /dev/disk/by-id/ata-ST380815AS_9QZDAH33-part2.
Want me to fall back to /dev/disk/by-id/ata-ST380815AS_9QZDAH33-part2? (Y/n)

I answered “Y”

Waiting for device /dev/disk/by-id/ata-ST380815AS_9QZDAH33-part2 to appear: …not found – exiting to /bin/sh
sh: cannot set terminal process group (-1): Inappropriate ioctl for device
sh: no job control in this shell

So how do I build the new disk driver in?

Thanks again.

Hi
Just a heads up, there were some minor changes, so a new src rpm is available;
http://software.opensuse.org/search/download?base=openSUSE%3A11.4&file=home%3A%2Fmalcolmlewis%3A%2FTesting%2FopenSUSE_11.4%2Fsrc%2Fethercat-1.5.4adb56c4198d-4.1.src.rpm&query=ethercat

Which step is this? This is what I am planning on doing:

  1. put ethercat-1.5.4adb56c4198d-4.1.i586.rpm on root’s desktop
  2. zypper in ethercat-1.5.4adb56c4198d-4.1.i586.rpm
  3. log in as user
  4. cd /usr/src/packages/SOURCES
  5. How do I unpack it?
  6. <make my changes>
  7. bz2 ethercat-1.5.4adb56c4198d-4.1.i586.rpm
  8. cd /usr/src/packages/SPECS
  9. rpmbuild -ba ethercat.spec
  10. look somewhere for a new ethercat-1.5.4adb56c4198d-4.1.i586.rpm file?
  11. bring the new file over to root’s desktop
  12. rpm -Uhv ethercat-1.5.4adb56c4198d-4.1.i586.rpm

Is this list correct? Can you comment on #5?

Thanks so much. I really need to get this going.

Hi
#2 no, its the src rpm you install not i586.


zypper in ethercat-1.5.4adb56c4198d-4.1.src.rpm

#5 use tar


tar xjf etherlabmaster-4adb56c4198d.tar.bz2

#7 tar it backup


tar cjf etherlabmaster-4adb56c4198d.tar.bz2 etherlabmaster-4adb56c4198d/

#10 then files are in /usr/src/packages/RPMS/i586

#10 NO, just install from the above directory is fine.

Now don’t do anything as root except the install of the rpms, every change etc is done as your USER, I can’t re-iterate that any more, you will possibly break your system. Root user is only for maintenance/admin tasks…

Aside from the ethercat-1.5.4adb56c4198d-4.1.i586.rpm you will also need to install the KMP for your kernel (This is the driver you modified) and the devel one.