DebianThis forum is for the discussion of Debian Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Ok, I just compiled my own 2.6.8 kernel for my machine and it works. Here's how I did it:
1) Copy over the .config from the 2.6.8-10-amd64 Debian kernel image that I already had installed to the kernel source directory.
2) Modify a few of the options in menuconfig to remove stuff I don't need.
3) Compiled, etc.
And then it booted. So I thought "yay", but then I type this:
Quote:
harima:/usr/src/linux# uname -a
Linux harima 2.6.8-harima #1 Sun Mar 13 00:29:16 CST 2005 i686 GNU/Linux
i686??? What? I went back and checked my config file and sure enough, AMD64/Opteron/K8 was selected as the processor architecture. What? Why? How? I'm baffled by this. I even booted into the 2.6.8-10-amd64 kernel and uname reported it correctly as x86_64. I have no idea why this isn't working, and because my machine is identified incorrectly my nVidia AMD64 drivers refuse to install!!!
Please, does anyone have at least a shread of a clue as to why this could be happening? Thanks in advance for any help you can give.
the real problem is that without specifying gcc a target, it will generate 32bits executable so you won't be able to compile an x86_64 kernel with this gcc without doing cross-compilation.
A solution could be: install a gcc-x86_64 in /opt and compile your kernel by doing: make CC=/opt/gcc/bin/gcc
Ehh I'm a little confused as to how to approach this problem now. There is no gcc-amd64 in sarge's source repository. I thought maybe gcc-3.4 would be able to id my system so I installed it, but it doesn't. Will I need to install 64 bit libraries in order to compile the kernel for true 64-bit? I installed amd64-libs and amd64-libs-dev packages.....but I'm not sure if they're setup for what I want (a 64-bit kernel and a 32-bit system).
I was reading through gcc-3.4's man page and I found this option:
Code:
i386 and x86-64 Options -mcpu=cpu-type
Can I just add the option to the kernel makefile's $CC? I'm not clear on how to proceed right now....
Hmm, well after reading more about GCC it appears that if I specify the following options, then the kernel will compile for AMD64:
Code:
-mtune=k8 -march=k8 -m64
And after looking thru the makefile though I found ARCH and SUBARCH variables, but I'm a little confused as to how they work. I'm reading into kernel crosscompiling right now so if anyone has any help it would be appreciated.
No. I'm not mocking you. Thats the output of my kernel.
Do you still have your original kernel installed that was installed when you installed the OS? If you do, and you do the uname -a, what is your output then?
Also, did you install your kernel the Debian way or from scratch?
Also, if you'll pardon my curiosity, since you have a 64 bit processor, why run a 32 bit version of Debian? Well, you could have some great reasons...but one key difference I think between you and myself is I am running in full 64 bit mode all the way.
If your partial to sarge, you could give this a whirl:
The original kernel I installed was i386. I still have it, and I'm pretty sure it will say i386 if I uname -a it (I'm too lazy to boot into an old kernel now). I installed my kernel the Debian way.
I'm well aware of Debian pure64 and in face I already have the netinst CD of it. I popped it in a week ago and I couldn't get it to recognize any of the sources (and hence I couldn't download programs) and even after trying to figure out why I still had no idea, so I got frustrated and put in an i386 image instead. Yeah I know that running in pure64 could get me a performance boost, but honestly right now I don't care that much about it. I'm in a busy stage of my life and I don't want to have to deal with all the tediousness associated with an incomplete system (ie having to fakeroot to run 32-bit apps). I just want to run things and have them work. Call me unl33t, call me whatever, but that's what I want. I do plan to move to pure64 once it gets a little bit more mature though and I have more time to hack my system like in the old days.
Thats right! I think I recall you saying something similar in another thread (about being busy...perhaps that wasn't you). At any rate, if your not running in 64 bit mode, I think you'll find you don't need the actual AMD64 drivers for your video card. Try installing the others and I think you'll find they work.
Yeah I know they'll work. But can't I have a 64-bit kernel, 64-bit video drivers, and 32-bit everything else? That's what I was shooting for... I'm wondering if I specify the cross-compile option when I compile the kernel if that will work...
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.