Debian :: Recompiling Changed Code When Building Kernel Debs
Jan 15, 2016
How do I force recompilation of the kernel .deb packages. After a small change I make to the sources without having to clean the sources and recompile the whole kernel again?
Code: Select all$ fakeroot make -f debian/rules.gen setup_i386_none_686
$ fakeroot make -f debian/rules.gen binary-arch_i386_none_686 binary-indep
Calling the second command again does not recompile the modified code, just recreates the .deb packages.
If I use:
Code: Select all$ make -f debian/rules clean before the build command, then it will recompile everything which takes ages.
How can I force recompilation of the files/objects I changed (and dependencies)?
I use this guide: [URL] .... ('Building only a single kernel variant' section)
i have recompiled kernel on my netbook (lenovo s10-3t).suspend works correctly but then i cannot wake up. i think i just missed some kernel options.what options must be set for suspend/wake up?
I am fairly new to Linux and have been striking hassles with my AWUS036H (RTL8187) under Debian Lenny. The standard (built in) driver works but reception is pathetic compared to the same card under Backtrack 4 or even Windows 7. I have tried to build drivers which I got from the Alfa website, the Realtek website and also the Linux Wireless project page. All of them fail during Make with an Error 2. I don't have the error in front of me (had to go back to Windows for the moment) but it is identical to the one this guy gets:
darkReaction:/home/georanson# cd /home/georanson/Desktop/Downloads/ndiswrapper-1.52 darkReaction:/home/georanson/Desktop/Downloads/ndiswrapper-1.52# make make -C driver make[1]: Entering directory '/home/georanson/Desktop/Downloads/ndiswrapper-1.52/driver' Makefile:35: *** Cannot find kernel version in /lib/modules/2.6.18-6-686/build, is it configured?. Stop. make[1]: Leaving directory '/home/georanson/Desktop/Downloads/ndiswrapper-1.52/driver' make: *** [all] Error 2
I get the error 2 code and the reference to "kernel version".
If I compile the kernel once fully and if I wan't to make a minor change how do I do that without having to go through the whole recomiliation? Commands like "rpmbuild -bb" and "make rpm" seem to recompile everything but it should just compile the changes I made.I'm using Fedora 12 with the latest stable kernel.
I only have basic experience recompiling a Linux kernel, and I have a question about adding dynamic modules.In case I want to add a brand new module, do I need to recompile the kernel to include a reference to that new module, or is simply compiling a kernel with generic support of dynamic modules all it takes to add whatever modules I need later on, without recompiling the kernel and rebooting the host?
if i wanted to just download and install a module, how does centos have it where i don't have download the source and recompile the whole kernel withthe module enabled? i read about install kernel-devel but nothing much more on using it. for instance, if i wanted to download ext4 module and have the kernel use it?
I'm trying to build the kernel module for dvbhdhomerun. The problem is the linux kernel headers provided by Debian do not have the dvb header files. Trying to set up my own kernel source tree to use is not working out so well.
I'm following the instructions in the Debian section here: [URL] ....
My first try compiled, but the modules ender up under /lib/modules/3.2.51/extra instead of /lib/modules/3.2.0-4-amd64/extra. Why?
I tried to start over, but noticed this while running apt-get source linux-image-3.2.0-4-amd64:
Code: Select allReading package lists... Done Building dependency tree    Reading state information... Done Picking 'linux' as source package instead of 'linux-image-3.2.0-4-amd64' NOTICE: 'linux' packaging is maintained in the 'Svn' version control system at: svn://svn.debian.org/svn/kernel/dists/trunk/linux/
[Code] ....
The failure to verify the signature has me concerned, but beyond that, what do I do about the different version number when compiling and installing the kernel modules?
I upgraded my kernel in my Debian Lenny to version 2.6.32-bpo.4-amd64 to fix a problem with a software and ALSA-related issues. The thing is that now, when I boot, eth1 is not enabled and I have to "load" (I guess) the driver each time. To do this, I go to the folder where all the files for the drivers are and I run:
modprobe lib80211 and then insmod wl.ko
That I got from the readme file. That gets the wireless working perfectly again, but when I reboot the wireless is dead again and I have to run the commands above again. I imagine that what I should do is to build the driver again, for my new kernel. However, according to the readme file, before I need to install linux-headers-generic and build-essential. With build-essential, it says it's already the newest version, and with the linux-headers, I don't know which one should I install for my kernel! I thought it would be the linux-headers-2.6.32-bpo.4-xen-amd64, but when I tried that, this is what happened:
debian:/home/hernan/Programas/hybrid_wl# apt-get install linux-headers-2.6.32-bpo.4-xen-amd64 Reading package lists... Done Building dependency tree
[code]....
So the warning says something about the MODULE_LICENSE being missing... how to build the driver again to make it load each time I boot?
I just up-graded to the latest version of the stable 11.4 64bit kernel on my laptop and it appears that the repositories have not compiled the VirtualBox driver module for the current kernel ... When I make /vboxdrv setup the message is:
Recompiling VirtualBox vboxadd kernel module, NOT. It has been packaged
I think this means that the installed module will not recompile has it was packaged. My kernel version is the lattest :
2.6.37.6-0.5-1
And my VirtualBox was installed from the Virtualization repos (4.0.8.11-1) even made the Vendor change and all. The version Before the lattest (4.0.4-1.6) did not work either. With the same problem. It is very easy to install VirtualBox from the Sun site and every time there is a Kernel up-date one can always make /etc/vboxdrv setup.
I use CentOS 5.3 with kernel 2.6.18-128.1.6.el5 for Clonezilla. It would be simpler for me if any of IDE or SATA drives detects as /dev/sdX device. Because when I cloning computers with Clonezilla it is matter which type of drive connected to cloned computer. So I must firstly clone computers with IDE drives, after that with SATA drives. If all drives would detected as /dev/sda I would can clone all computers at once! Is there simple way to enable new libata library without recompiling kernel? Is there already compiled kernels with this feature?
Got this while installing the kernel development tools on my Squeeze system being used as a router/firewall. Setting up update-inetd (4.36) ... Setting up cvs (1:1.12.13-12) ... Ignoring install-info called from maintainer script The package cvs should be rebuilt with new debhelper to get trigger support Ignoring install-info called from maintainer script The package cvs should be rebuilt with new debhelper to get trigger support Setting up autopoint (0.17-11) ...
Is that an issue that I need to address prior to building the latest kernel (2.6.33.4)?
I am running Lenny and using VirtualBox OSE 1.6.6. In order to try squeeze I installed it in a VM. I tried to install Guest Additions also, but i get this error:
VirtualBox 1.6.6 Guest Additions installation Building the VirtualBox Guest Additions kernel module... Building the shared folder support kernel module... Unable to build the kernel module.
I checked what /var/log/vboxadd-install.log had to say:
/usr/src/linux-headers-2.6.32-5-common/include/net/neighbour.h:115: error: variably modified a at file scope /tmp/vbox.0/utils.c: In function 'sf_path_from_dentry:
[code].....
I tried with 3 versions of the kernel 2.6.32-5-686,2.6.32-5-484,2.6.32-3-686 but I cannot get it to work using any of them. Also I tried to install version 2.6.30-2-686 but I couldn't since synaptic said that it Depends: linux-kbuild-2.6.30 but it is not installable.
So I'm building a custom kernel cuz I want the fbcondecor patch in my kernel. I use the same .config that 2.6.32 debian kernel package comes with. This kernel runs perfectly. I pass --initrd to make-kpkg when building the package but no initrd is built when I install it so I have to make it using "mkinitramfs -o /boot/initrd.img-2.6.33 2.6.33" to get it to boot. Now when I try to build the nvidia drivers it complains it can't find the source. I did build kernel_headers and installed them also the source is in /usr/src/linux. I also tried to specify the path by passing --kernel-source-path= to the nvidia script but no change. What is going on? I've done this fifty times before and never had any problems. Has there been some changes to how debian kernel packages are built? EDIT: Just thought I'd add some info about the steps I took.
Code: tar xjvf linux-2.6.33.tar.bz2 ln -s linux-2.6.33 linux cd linux patch -p1 < ../fbcondecor-0.9.6-2.6.33-rc7.patch cp /boot/config-2.6.32-trunk-686 ./.config
make menuconfig Loaded .config then I removed support for maxtorfb, tile blitting and some sirrusfb thing, nothing thats relevant to my system. Changed cpu from Pentium 4 to Core 2 and added framebuffer decor support from my patch, exited and saved. Then:
[Code]....
EDIT2: I have now tried to build 2.6.32.8 in the same way with the same strange results, anyone have any thoughts as to what I'm doing wrong just throw it at me, I'm getting desperate and running out of ideas. I've checked all the kernel source symlinks and everything looks good.
I'm in a bit of a rush so thought I'd ask two questions in one thread here.
1. Will a .deb made for ubuntu likely run into much trouble if I run it on Lenny? 2. Does the nvidia official proprietary driver come by default with a full 5-DVD install of x64 Debian 5.0.4, or do I need to install it myself? If so, is it enabled by default, or do I need to enable it? How?
I wish to install debian on a number of boxes and have resolved on a network install. I'll first do a minimal install using the network install iso on a usb stick, then reboot and complete the installation using a local caching repo (apt-cacher) on the LAN. As a way of further minimizing bandwidth usage, I wonder if I could extract the .debs from a full installation cd and use them to populate the local repo?
I'm using Debian 503 Lenny, Gnome. My machine, She-Beast, is a 2001 Compaq Presorry-o, 1100GHz Celery. With every, that is, E V E R Y, attempt to install any .deb, it fails. When I 2x click on the .deb icon, or when I r-click -->Open with archive manager, I get a dialog window: "Could not open "(filename).deb". Archive type not supported." If I use root terminal, dpkg -i, similar responses come up.
I installed ubuntu on my laptop recently and would like to have trim support. (Because I have a ssd drive (crucial c-300 256gb). The current kernel that I am using is the 2.6.32 (standard lucid kernel I believe). Unfortunately TRIM support is only available from 2.6.33 and up. So I thought I'd install a new kernel using this howto:
At the moment I am using kernel 2.6.31-14-generic. I'm not one of those people who needs to have the latest and greatest kernel to be happy, I just rely on the update manager. I swore that I saw an update for a new kernel, but my kernel version hasn't changed. I'm just curious if there was a new kernel that was released or if that was just an update to the kernel listed above.
I am trying to compile a kernel 2.6.31-12 in my machine which is running ubuntu 9.0(kernel version 2.6.31-14). I don't have internet connection on that machine. I somehow downloaded the kernel sources on some other machine and copied it the my PC which is running ubuntu.I have installed the kernel sources (.gz file) by un-zipping and un-tarring the archive. For compiling the kernel I am following the traditional approach:
1. make oldconfig ( make menu config is not working ) 2. make dep 2. make clean 3. make bzImage 4. make modules 5. make modules_install 6. make install 7. Modify the /boot/grub/grub.cgf
I didnt encounter any error in the above steps till step no. 6. However in the step 7, I am not getting the /boot/initrd.img-2.6.31.12 file which is needed for the ramfs. However I am getting the vmlinuz file in the /boot.
It sounds like he's making a difference between the kernel "source code" and the kernel itself(as in the downloaded file/ files) but the way he talks about both is the same.So then, if one had already "installed" the "kernel sources code," why would he need the "tarball with the newest Linux kernel?" He's already "installed" a kernel, right?
I am trying to build linux kernel I am getting out of space after a while. I unpacked it in /usr/src directory. It seems I have plenty of space. How much space does it need to compile & build kernel. I am using VirtualBox.
I tried to build linux-2.6.36 but I got this error message
Code:
I looked into gcc-version.sh but the problem is located somewhere else I thought at first one of the files might have been corrupted and I downloaded the archive again.
I must also say that this happened in different versions of slackware (the distro I use): 12.0, 12.1, 12.2, 13.0, 13.1
I recently installed virtual box on debian and after it had finished my terminal informed me that I could remove some "unnecessary" software by use of sudo apt-get autoremove. When I did this, some of the icons on the desktop changed and all of the icons in the drop down menu on the bar at the top of the screen also changed to ordinary folder symbols. The theme that I was using also went away. I restarted the computer and it booted back into a shell prompt with no GUI. I tried to get back to the GUI using alt+f7 but it didn't seem to exist
I am trying to update my fedora 8 kernel, is there a way to do that? I build the one of kernel.org but when i want to boot it a get a lot of messages like: mount: cant find /dev/root I tried to follow the guide at building a custom kernel for fedora, but thats just for the last supported version of the kernel of fedora 8.
I am using FC15.I need a kernel with a different configuration - with the "Preemptible Kernel (Low-Latency Desktop)" option in the Processor Type and features menu. I need this to support my firewire audio device. I would like to build a new kernel RPM from the SRPM so that i can keep a clean system with RPMs for all files, and I don't really want to manually override the kernel bypassing RPM.I am following **exactly** the process described there - I install the SRPM, unpack the source, then use the starting sample config files in the BUILD folder to create a new customised .config file with the new option, then copy this back to the SOURCE folder.
This works perfectly if I make a standard kernel. But I cannot get the process to work if I change the config file. Every time I compile I end up with exactly the standard kernel -- a vanilla i686 kernel, without my custom config.I believe the problem is that when I run rpmbuild to compile the kernel, this process overwrites my config option. I found that there is a script (merge.pl) which creates new config files dyanmically for all kernel options based on fragments in the SOURCE folder. It looks like the script never uses the config file that I am putting into the SOURCE folder.The wiki page suggests using this command to copy my custom config file cp .config ~/rpmbuild/SOURCES/config-`uname -m`