Kernel compiliert in falscher Architektur

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
ozz
Beiträge: 7
Registriert: 07.09.2007 20:30:36

Kernel compiliert in falscher Architektur

Beitrag von ozz » 13.09.2007 13:51:45

Hallo,
ich bräuchte Hilfe bei folgendem Thema: ich benutze Debian Lenny mit folgendem Kernel: vmlinuz-2.6.21-amd64. Zumindest steht das so im Verzeichnis /boot. Installiert hatte ich aber ursprünglich mit einer 32 bit Sarge-Installations-CD. Jetzt habe ich gestern versucht einen Kernel zu compilieren, bzw genauer gesagt ein .deb Kernel Paket zu erzeugen. Dazu habe ich die Datei config-KernelNr.-amd64 aus dem /boot Verzeichnis nach .config kopiert, und anschließend mit make menuconfig ein wenig rumeditiert. Wichtig hierbei zu bemerken: Editiere ich danach die .config (ich hab das jetzt schon mehrmals probiert), so stehen ganz oben folgende Zeilen:
CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
Soweit, sogut. Ruft ich nun aber fakeroot make-kpkg --initrd --revision=custom1.0 kernel_image auf, so wird jedes mal ein Kernelpaket mit Endung -i368 erzeugt. Außerdem wird die .config überschrieben und beginnt nun mit:
CONFIG_X86_32=y
Jedenfalls ist das alles wohl ein Zeichen, daß irgend etwas nicht so ganz richtig konfiguriert ist.
Irgendwelche Ideen?

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 13.09.2007 14:26:26

man make-kpkg hat geschrieben:--arch foo
This is useful for setting the architecture when you are cross compiling. If you are not cross compiling, the architecture is determined auto-
matically. The same effect can be achieved by setting the environment variable KPKG_ARCH. The value should be whatever DEB_HOST_ARCH_CPU con-
tains when dpkg-architecture is run on the target machine, or it can be an other architecture in a multi-arch set (like i386/amd64).
Perl macht Spass.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Kernel compiliert in falscher Architektur

Beitrag von gms » 13.09.2007 14:26:58

ozz hat geschrieben: Jedenfalls ist das alles wohl ein Zeichen, daß irgend etwas nicht so ganz richtig konfiguriert ist.
Irgendwelche Ideen?
Ist eigentlich ein Zeichen, daß alles gut konfiguriert ist. Nachdem Debian i386 installiert ist, versucht make-kpkg, sofern keine "--arch" Option angegeben wird, einen i386er Kernel zu bauen :wink:

Gruß
gms

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 13.09.2007 14:42:40

@gms: Schneller! 8)
Perl macht Spass.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 13.09.2007 15:52:39

eine gute Übersetzung der Manpage braucht seine Zeit :)

ozz
Beiträge: 7
Registriert: 07.09.2007 20:30:36

Beitrag von ozz » 13.09.2007 17:57:02

Hallo,
Danke erstmal für Eure Antworten.
Allerdings bin ich immer noch ein wenig verwirrt: Bisher bin ich davon ausgegangen, daß sich Debian der Kernelarchitektur auf wundersame und mystische Weise anpasst, bzw war mir überhaupt nicht klar, daß ein i368-Debian überhaupt mit einem amd64 Kernel läuft. Also gilt es, diese Diskrepanz zu beheben. Wie mache ich also meinem System klar, daß es ein 64 bit System ist? Dann sollte auch die Kernel Compilierung mit der -auto Option funktionieren... oder :)

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 13.09.2007 20:12:02

Hi,
ozz hat geschrieben: Allerdings bin ich immer noch ein wenig verwirrt: Bisher bin ich davon ausgegangen, daß sich Debian der Kernelarchitektur auf wundersame und mystische Weise anpasst, bzw war mir überhaupt nicht klar, daß ein i368-Debian überhaupt mit einem amd64 Kernel läuft.
Das ist überhaupt kein Problem. 64Bit-Kernel sind natürlich in der Lage 32bittige Binarys auszuführen, also 64Bit-Kernel und 32Bit-System ist möglich[1].
ozz hat geschrieben: Also gilt es, diese Diskrepanz zu beheben. Wie mache ich also meinem System klar, daß es ein 64 bit System ist? Dann sollte auch die Kernel Compilierung mit der -auto Option funktionieren... oder :)
Du hast doch gesagt es wurde als sarge 32Bit installiert!? Das Verhalten ist schon völlig korrekt.

[1] http://www.debianforum.de/forum/viewtopic.php?t=86798

Gruß cirrussc
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

ozz
Beiträge: 7
Registriert: 07.09.2007 20:30:36

Beitrag von ozz » 14.09.2007 00:15:06

Hallo,
danke für den klärenden Link in Bezug auf i368 unter amd64-Kernel. Ich denke, ich bin jetzt was das angeht im Bilde.
Allerdings ist mir auch gerade klar geworden, daß mein Post vielleicht ein wenig verwirrend war. Also möchte ich mich einmal kurz meine Intension klarstellen. Ich habe erst letzte Woche ein Debian (als Desktop) installiert, und ich hatte von Anfang an vor ein amd64 System zu nutzen. Bedauerlicherweise hatte ich aber lediglich eine alte 32bit Installations-CD von meinem Router. Meine (zugegebenermaßen naive) Vorstellung war, daß sich die ganze amd64 Installationsgeschichte mit ein paar wenigen Änderungen in der sources.list und ein paar apt-gets lösen lassen müßte. Leider habe ich aber eben erst beim Kernel-Compilierversuch, bzw durch diesen Post, festgestellt, daß ich damit völlig auf dem Holzweg bin. Hätte ich all diese Informationen vorher gehabt, hätte der Post wahrscheinlich den Titel "Wie upgrade ich auf amd64" getragen....
Ich wäre also wirklich dankbar, falls mir jemand erklären könnte, wie ich nun aus meinem 32bit-Debian mit meinem 64bit Kernel ein reines 64bit System machen könnte.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 14.09.2007 09:18:41

Hier ist sicherlich eine Neuinstallation mit dem amd64 Installer empfehlenswert. Die Pakete über ein Chroot zu ersetzen, dauert jedenfalls länger und einen wirklichen Vorteil sehe ich darin auch nicht.

Gruß
gms

ozz
Beiträge: 7
Registriert: 07.09.2007 20:30:36

Beitrag von ozz » 17.09.2007 16:11:48

Ok, ist erledigt.
Vielen Dank nochmal für die Hilfe.

Antworten