New user's registration have been closed due to high spamming and low trafic on this forum. Please contact forum admins directly if you need an account. Thanks !
# apt-get source bubba-kernel
Reading package lists... Done
Building dependency tree
Reading state information... Done
Picking 'linux' as source package instead of 'bubba-kernel'
Need to get 96.1 MB of source archives.
Get:1 http://b3.update.excito.org/ elvin/main linux 1:2.6.39.4-13 (dsc) [1122 B]
Get:2 http://b3.update.excito.org/ elvin/main linux 1:2.6.39.4-13 (tar) [96.0 MB]
Get:3 http://b3.update.excito.org/ elvin/main linux 1:2.6.39.4-13 (diff) [42.0 kB]
Fetched 96.1 MB in 17s (5570 kB/s)
stasheck wrote:One more question: I see that it's downloading 2.6.39.4-13, but the stock kernel is -11. Do I need to recompile kernel as well?
That's what I said last week.
The kernel source has had two revisions since it was released for the B3. These revisions are specific for the B2 and will in fact do nothing if you select ARM as the target platform (B2 is powerpc). So for ARM there is absolutely no difference between -11 and -13 revision, except for that version stamping which is taken from <sourcedir>/debian/changelog when you create the kernel package with "debuild -uc -us".
This is not what you want to do. Debuild will use a copy of this source for compiling and delete that copy when done and so you will still not have a prepared source to build your third party driver. You need to prepare this source by running "make prepare" but you need to fix the version stamping first by editing the Makefile. If you don't fix that version stamping than you will be creating a library for version 2.6.39.4 and it will not load.
All right - almost there, copy old config, make oldconfig, make prepare - but even in the source, there is no linux/videodev.h header, necessary for the driver to get compiled.
I've found two packets with this file:
linux-headers-2.6.32-5-common: /usr/src/linux-headers-2.6.32-5-common/include/linux/videodev.h
linux-libc-dev: /usr/include/linux/videodev.h
but I'm guessing 2.6.32.5 is far enough not to use it, and linux-libc-dev is already installed. Does it mean that it's just missing from this kernel, and I won't be able to compile driver, I did something wrong or missed something, or should I just d/l tarball from kernel.org and extract from there?
Could you please stop insulting the people who are trying to help you by putting more care into reading their posts and not start whining when the slightest mishap occurs?
Ubi, if anyone's insulting anyone, it's you insulting me by constantly assuming my ill-will and not reading posts of other people. Even though you wrote multiple posts in this topic, not a single one was meaning to help me; instead you are suggesting over and over again that I'm lazy/stupid/unkind. This makes you a troll; please stop responding to this topic.
To all others (esp. Gordon): as you can see, I'm compiling kernel drivers for the first time, I just always went with hardware that already has pre-compiled drivers (that explains why I have such noob problems even though I've some 10 years of Linux experience).
I believe (but please correct me if I'm wrong) that I'm writing my posts extensively to show what I tried to do, even if that didn't make any sense for seasoned veteran. If I ask additional questions, it's not for laziness, but rather to make things more precise. Example: Gordon is saying that he already explained the kernel versioning issue before, but I just didn't understand what he meant. Now it's clear.
I already learned that apt-get source automatically uses patches on source, if it there are any; that after downloading the kernel I need to use 'oldconfig', source for which is found in /boot; that first 2 things I need to do with kernel source, if I want to compile drivers, is to run 'make oldconfig && make prepare'. I also learned (and I don't know how else could I learn that but by asking) that 2.6.39.4-11 and -13 are not different with regards to B3's platform.
Forgive me if I'm trying to also understand if it's normal not to have specific header file, or is that caused by something else entirely.
I also don't understand why it was necessary for me to download kernel sources, since (as I understand) the module source needs just kernel header files, which I already had on my system (and from which videodev.h was also missing).
The method Gordon provided was a step into right direction, although only the package from backports has the proper file. Even then, the compilation fails.
So I started researching this from ground up again, and I came onto this little gem:
In short: you need to point the software you want to use onto v4l1 compatibility library.
Anyway, totally not a loss of time for me - I've learned a lot about how things are put together. Gordon: big thanks to you, let me know on PM how can I arrange for you to have a beer on me