How is open-iscsi compiled with 3.x kernels? - linux

open-iscsi seems to require 2.6.x kernels and doesn't even compile with the newer (3.x) kernels, specifically 3.8.0 kernel.
Is it supposed to work with newer kernels?
Please see this:
https://groups.google.com/forum/#!topic/open-iscsi/_f4e13cIyNg
The kernel code in the open-iscsi dir only is for really old kernels.
Newer kernels have proper open-iscsi kernel support and you should use
those modules that come with your kernel/distro.
Do the newer kernels already have the support added to them?
My own end goal is to do a cross-compile to MIPS to be run on a 3.x kernel.
What are the iSCSI initiator software that are available to be used with newer linux kernels ?

Yes, linux kernel has open-iscsi support built into it now. When building the latest kernel, configure support for open-iscsi and you should have the module built after a successful build of the kernel.

Related

Is there any workaround for glibc (2.28) compilation for very old kernel (older than 3.2.0) using --enable-kernel=VERSION?

I'm trying to cross-compile (from x86_64 linux to ARMv7a) for certain applications. The host was running Linux 4.4.0 and the target was running Linux 3.0.2
I was able to successfully build such application using cross-compile toolchain from Linaro
However, the problem occurred when I executed the binary
Fatal: kernel too old
After some researchs on the Internet, I discovered that workaround would be to also cross-compile glibc as well with --enable-kernel=VERSION option and another problem came with this option.
configure: WARNING: minimum kernel version reset to 3.2.0
Is there any workaround to set kernel version to the one older than 3.2.0?
Is there any workaround to set kernel version to the one older than 3.2.0?
No. Support for kernels below 3.2 was dropped in glibc-2.24, and you can't bring it back (short of reverting the commits that did it).
You will need to build glibc-2.23 or older.

Will building older versions of the linux kernel on newer versions of Ubuntu work?

Let's say that I need to port an older version of the Linux kernel (3.2 for example) to a custom board. I'll be cross-compiling from a Ubuntu environment.
Will I need to be running a certain version of Ubuntu to successfully build a certain version of the kernel, or will I be fine with any version of Ubuntu?

Libnl compatibility with kernel version

Is there any dependency between libnl and kernel version? I am using kernel version 4.1. What is the stable and suitable version of recommended libnl version for this kernel?
Is the latest libnl version(3.4.0) compatible with older kernel verions 3.x or do we need to select 3.2.25 for this?
I am facing an issue that, older libnl version in latest kernel gives kernel panic when I program more than 10000 routes in kernel, whereas iproute2 is working fine. So, I want to confirm if there is any libnl and kernel version dependency here.

how can i upgrade virtio driver without updating kernel?

Using linux kernel version 2.6.32 and corresponding virtio driver modules version. But need to upgrade all virtio drivers (virtio_net,virtio_blk,virtio_pci, virtio_ring,virtio) alone to latest version without upgrading kernel.
Is this possible, what is the dependency changes needed for kernel to compile ?
Thanks in advance !!!

Install 2.4.33 kernel in Debian Wheezy

I need to install old kernel into Kali (Debian like) distro. I need to run program which requires older kernel.
I downloaded kernel but the installation gives me too many errors. I was reading similar topics and watch the videos, but so far I am not successful.
I do not have experience with kernels. Is there .deb package for kernels or any other easier way to do it?
Can I use such old kernel for this distribution?
Thank you
The 2.4.33 kernel is pretty old. According to Debian's packaging files installing that old a kernel doesn't seem to be doable in wheezy. Attempting to install and run an old kernel outside the packaging system is not going to to work. All the "modern" libraries and applications will be broken when running the 2.4 kernel, as will the program (you need more than just a kernel for your program). If it were me, I'd set up a virtualization environment like VirtualBox or something similar and pick an old distro like CentOS 3.9 or an older Debian release (sarge or later). If that's not an option, you could always try and port the program to a more recent kernel.

Resources