be what you are looking for, sure you won't get the lastest kernel but you will get past the 3gig limit
Peter
· 1 month ago
You are correct that will do the trick as well but I also changed some other kernel settings, like changing the Processor family to Core2/newer Xeon, disabling Generic X86 support. to name a few.
Michael
· 1 month ago
I don't know if this might have been pulled from the release, but I installed the beta and upgraded from there and my version of karmic uses grub2 and has no menu.lst
Peter
· 1 month ago
<del datetime="2009-11-05T16:46:22+00:00">The default grub in Karmic is the older grub but if you run grub2 you'll have to check /boot/grub.cfg</del> I have to correct myself. The default grub with a new installation of Karmic is grub v2(grub-pc). I did an upgrade from Jaunty which doesn't install grub-pc.
Robert Luckoff
· 1 month ago
I still do it by downloading the latest kernel source from kernel.org. Then I do the 'ol make xconfig, make, make install, make modules_install and then update-grub.
David
· 1 month ago
Tried this, and everything worked fine up until I ran the
command. (where XXXX is replaced by my special name). When I ran this, I got the following error:
make[1]: *** No rule to make target 'binary-XXXX'. Stop.
I went back and checked my steps. I verified files were in place and edited as required. Still fails.
Any ideas?
Peter
· 1 month ago
Did you run the clean command? fakeroot debian/rules clean
David
· 1 month ago
Hi Peter,
Yes, I did run the Clean command at you typed it. Is there a config or makefile I can look in to verify that my branch name has been included? Note: when I run the second command that you recommend:
that command actually completes without an error. But with my branch name, it fails. Is there any limit on the name or length of name chosen? My XXXX name is actually 8 characters long.
Thanks for your help.
Peter
· 1 month ago
After the clean command, you can check debian/control
There should be a line in there like: Package: linux-image-2.6.####-XXXX #### is the kernel version XXXX is your flavor name.
David
· 1 month ago
Hi Peter,
After I retyped my last message and sent it the second time, the first copy and your response to it then showed up. Arghh! Please forgive the duplication.
Anyway, thanks for the response. I executed the above command, and sure enough, the control file has the line with the kernel number and with my 'flavor' in it. A wider grep shows my flavor appearing in 3 Package lines within the control file: linux-image, linux-headers, and linux-image-debug.
I then followed that up with the following two commands:
And I get the same make "No Rule" Stop error as before.
Thanks,
David
David
· 1 month ago
Hi Peter,
Responded earlier, but it didn't show up on this page, so I'm responding again. Hope its not a duplicate.
Yes, I did execute the clean function. I did so on both attempts I made to build the new kernel (scrolled back to verify), and the clean command ran successfully. But the following execution of 'rules' to build binary-XXXX still failed with the following result:
make[1]: *** No rule to make target ‘binary-XXXX’. Stop.
I did try to run the second version of 'rules' that you indicated would be 'wise' to run - the one that builds binary-indep. That one ran without error, although it didn't appear to build any usable kernel.
Question: XXXX represents my custom kernel name, similar to your 'core2' example. However, the XXXX name I use is actually 8 characters long. Is there any limit on name length that might cause problems?
Not sure where to go from here. Thanks for the help.
Peter
· 1 month ago
Interesting you don't see your previous reply, I replied:
After the clean command, you can check debian/control
There should be a line in there like: Package: linux-image-2.6.####-XXXX #### is the kernel version XXXX is your flavor name.
Peter
· 1 month ago
I don't think there is a limit, especially not 8 characters.
Do you have special characters in the name? Like spaces?
Peter
· 1 month ago
What is the result of: dpkg-architecture -qDEB_HOST_ARCH
David
· 1 month ago
Ahh.
It's AMD64. That's the wrong architecture, as this is a CORE2 processor. I must be setting something wrong in the menuconfig. I thought I had set things correctly, but apparently not. Any hints?
Thanks,
David
Peter
· 1 month ago
Because it says AMD64 you will need to make the changes to the amd64 files.
the command you run is ran in the compilation process to determine which files to use, and even though you have a Core2 proc, the system is said to be AMD64
Francois
· 1 month ago
Hi !
Very interesting ! Only this one little thing that annoys me : I have checked out 2.6.31-14.51 and when I launch compilation, i see "arbitrary signature 2.6.31-14.48" ... Not that I worry that much about signatures, but I'd like to get this right... any idea ?
Thanks, François
Peter
· 1 month ago
Francois,
I see no 2.6.31-14.51 in the repository.
vasia
· 1 month ago
Hello! Very detailed tutorial!Thanks for that! This is the first time when I've compiled my one kernel. The issue is that this new kernel doesn't appeared after installed in /boot/grub/menu.lst.
Do you have any ideea how to correct this? Thanks!
Peter
· 1 month ago
Is the kernel installed in /boot?
You should have the following files: abi* config* initrd* System.map* vmcoreinfo* vmlinuz*
If you have these files you can run: sudo update-grub
vasia
· 1 month ago
Hello! Thanks for the reply! I've looked in /boot and I don't see new kernel there, although I've installed and run all the above steps.
This two commands will install only headers not actual image. I think that first line should be : dpkg -i linux-image-2.6.31-15-core2_2.6.31-15.49_i386.deb
Hope that helps.
Peter
· 1 month ago
Thank you for this catch. I'll update the article
vasia
· 1 month ago
Thanks Adam! It worked! :) Next step for me is to understand what every configuration option means. After wards I will compile a kernel specific to my system. :)
Thomas
· 1 month ago
Seems like running:
$ head debian.master/changelog
would be a bit more succinct than:
$ cat debian.master/changelog|more
followed by 'q'. Regardless, helpful how-to.
HotShotDJ
· 1 month ago
If one has modules that are managed by DKMS, the headers need to be installed before the kernel or the compilation of those modules will fail. The better command to install your newly compiled kernel would be:
"sudo apt-get install linux-image-2.6.31-14-generic-pae"
be what you are looking for, sure you won't get the lastest kernel but you will get past the 3gig limit
I have to correct myself. The default grub with a new installation of Karmic is grub v2(grub-pc). I did an upgrade from Jaunty which doesn't install grub-pc.
CONCURRENCY_LEVEL=2 NOEXTRAS=1 skipabi=true skipmodule=true fakeroot debian/rules binary-XXXX
command. (where XXXX is replaced by my special name). When I ran this, I got the following error:
make[1]: *** No rule to make target 'binary-XXXX'. Stop.
I went back and checked my steps. I verified files were in place and edited as required. Still fails.
Any ideas?
fakeroot debian/rules cleanYes, I did run the Clean command at you typed it. Is there a config or makefile I can look in to verify that my branch name has been included? Note: when I run the second command that you recommend:
CONCURRENCY_LEVEL=2 NOEXTRAS=1 skipabi=true skipmodule=true fakeroot debian/rules binary-indep
that command actually completes without an error. But with my branch name, it fails. Is there any limit on the name or length of name chosen? My XXXX name is actually 8 characters long.
Thanks for your help.
cat debian/control | grep Package| grep linux-image
There should be a line in there like:
Package: linux-image-2.6.####-XXXX
#### is the kernel version
XXXX is your flavor name.
After I retyped my last message and sent it the second time, the first copy and your response to it then showed up. Arghh! Please forgive the duplication.
Anyway, thanks for the response. I executed the above command, and sure enough, the control file has the line with the kernel number and with my 'flavor' in it. A wider grep shows my flavor appearing in 3 Package lines within the control file: linux-image, linux-headers, and linux-image-debug.
I then followed that up with the following two commands:
fakeroot debian/rules clean
and
CONCURRENCY_LEVEL=2 NOEXTRAS=1 skipabi=true skipmodule=true fakeroot debian/rules binary-XXXX
And I get the same make "No Rule" Stop error as before.
Thanks,
David
Responded earlier, but it didn't show up on this page, so I'm responding again. Hope its not a duplicate.
Yes, I did execute the clean function. I did so on both attempts I made to build the new kernel (scrolled back to verify), and the clean command ran successfully. But the following execution of 'rules' to build binary-XXXX still failed with the following result:
make[1]: *** No rule to make target ‘binary-XXXX’. Stop.
I did try to run the second version of 'rules' that you indicated would be 'wise' to run - the one that builds binary-indep. That one ran without error, although it didn't appear to build any usable kernel.
Question: XXXX represents my custom kernel name, similar to your 'core2' example. However, the XXXX name I use is actually 8 characters long. Is there any limit on name length that might cause problems?
Not sure where to go from here. Thanks for the help.
After the clean command, you can check debian/control
cat debian/control | grep Package| grep linux-image
There should be a line in there like:
Package: linux-image-2.6.####-XXXX
#### is the kernel version
XXXX is your flavor name.
Do you have special characters in the name? Like spaces?
dpkg-architecture -qDEB_HOST_ARCHIt's AMD64. That's the wrong architecture, as this is a CORE2 processor. I must be setting something wrong in the menuconfig. I thought I had set things correctly, but apparently not. Any hints?
Thanks,
David
the command you run is ran in the compilation process to determine which files to use, and even though you have a Core2 proc, the system is said to be AMD64
Very interesting ! Only this one little thing that annoys me : I have checked out 2.6.31-14.51 and when I launch compilation, i see "arbitrary signature 2.6.31-14.48" ... Not that I worry that much about signatures, but I'd like to get this right... any idea ?
Thanks,
François
I see no 2.6.31-14.51 in the repository.
Very detailed tutorial!Thanks for that!
This is the first time when I've compiled my one kernel.
The issue is that this new kernel doesn't appeared after installed in /boot/grub/menu.lst.
Do you have any ideea how to correct this?
Thanks!
You should have the following files:
abi*
config*
initrd*
System.map*
vmcoreinfo*
vmlinuz*
If you have these files you can run:
sudo update-grub
Thanks for the reply!
I've looked in /boot and I don't see new kernel there, although I've installed and run all the above steps.
"cd ..
dpkg -i linux-headers-2.6.31-15_2.6.31-15.49_all.deb
dpkg -i linux-headers-2.6.31-15-core2_2.6.31-15.49_i386.deb linux-headers-2.6.31-15_2.6.31-15.49_all.deb"
This two commands will install only headers not actual image. I think that first line should be :
dpkg -i linux-image-2.6.31-15-core2_2.6.31-15.49_i386.deb
Hope that helps.
It worked! :)
Next step for me is to understand what every configuration option means. After wards I will compile a kernel specific to my system. :)
$ head debian.master/changelog
would be a bit more succinct than:
$ cat debian.master/changelog|more
followed by 'q'. Regardless, helpful how-to.
dpkg -i linux-headers-2.6.31-15-core2_2.6.31-15.49_i386.deb linux-headers-2.6.31-15_2.6.31-15.49_all.deb linux-image-2.6.31-15_2.6.31-15.49_all.deb