32Bit auf 64Bit "updaten"
32Bit auf 64Bit "updaten"
Hallo, ich habe mir einen neues Board/CPU/RAM gekauft.
Deshalb würde ich nun gerne auf 64 Bit "updaten".
In meiner source.list ist keine Architektur angegeben?
Was muss ich dafür alles machen?
Vielen Dank und Gruss
Tim
Deshalb würde ich nun gerne auf 64 Bit "updaten".
In meiner source.list ist keine Architektur angegeben?
Was muss ich dafür alles machen?
Vielen Dank und Gruss
Tim
- towo
- Beiträge: 4546
- Registriert: 27.02.2007 19:49:44
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: 32Bit auf 64Bit "updaten"
Das geht so nicht!
Dazu mußt du die 64Bit Version neu installieren.
Dazu mußt du die 64Bit Version neu installieren.
Re: 32Bit auf 64Bit "updaten"
rein akademisch:
Ein amd64-Kernelpaket lässt sich in ein i386-System installieren und das System läuft auch hinterher noch. Wenn man das weiterspinnt, sollten sich doch auch andere i386-Pakete durch amd64-Pakete ersetzen lassen und sich ein System prinzipiell von einer Architektur auf eine andere umstellen lassen.
Die Frage nach der Architektur in der sources.list ist eigentlich gar nicht so dumm. Irgendwo muss die Information über die Architektur hinterlegt sein und in uname -pim scheint sie nicht zu stecken. Sonst müsste ein Architekturwechsel beim Kernel dazu führen dass unter diesem Kernel andere Pakete geladen werden. Irgendein Eintrag unter /proc?
Ob so ein Wechsel als akademische Übung funktioniert und zu welchen Komplikationen es dabei kommt, kann ich nicht abschätzen. Weiß da jemand mehr?
Ein amd64-Kernelpaket lässt sich in ein i386-System installieren und das System läuft auch hinterher noch. Wenn man das weiterspinnt, sollten sich doch auch andere i386-Pakete durch amd64-Pakete ersetzen lassen und sich ein System prinzipiell von einer Architektur auf eine andere umstellen lassen.
Die Frage nach der Architektur in der sources.list ist eigentlich gar nicht so dumm. Irgendwo muss die Information über die Architektur hinterlegt sein und in uname -pim scheint sie nicht zu stecken. Sonst müsste ein Architekturwechsel beim Kernel dazu führen dass unter diesem Kernel andere Pakete geladen werden. Irgendein Eintrag unter /proc?
Ob so ein Wechsel als akademische Übung funktioniert und zu welchen Komplikationen es dabei kommt, kann ich nicht abschätzen. Weiß da jemand mehr?
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
Re: 32Bit auf 64Bit "updaten"
Es gab doch mal hier ein Theard wo jemand auf Arm umstellen wollte (oder davon weg).
Es ging auch irgendwie, aber für normal sterbliche ist es 100x einfach neu zu installieren.
Es ging auch irgendwie, aber für normal sterbliche ist es 100x einfach neu zu installieren.
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
Re: 32Bit auf 64Bit "updaten"
Danke ihr habt mich überzeugt
Ich mache die Kiste neu
Ich mache die Kiste neu
-
- Beiträge: 278
- Registriert: 19.04.2009 18:55:05
Re: 32Bit auf 64Bit "updaten"
Ich bezweifle, dass die Installation eines *-amd64 Kernels (z.B. linux-image-2.6.26-2-amd64) dein System von 32 Bit auf 64 Bit umstellt. Die *-amd64 Variante des Linux Kernels in den Debian Repositories enthält wohl eher diverse Optimierungen für die Amd Athlon 64 Prozessoren Familie, "unabhängig" von 32 oder 64 Bit.hikaru hat geschrieben:rein akademisch:
Ein amd64-Kernelpaket lässt sich in ein i386-System installieren und das System läuft auch hinterher noch. Wenn man das weiterspinnt, sollten sich doch auch andere i386-Pakete durch amd64-Pakete ersetzen lassen und sich ein System prinzipiell von einer Architektur auf eine andere umstellen lassen.
Die Frage nach der Architektur in der sources.list ist eigentlich gar nicht so dumm. Irgendwo muss die Information über die Architektur hinterlegt sein und in uname -pim scheint sie nicht zu stecken. Sonst müsste ein Architekturwechsel beim Kernel dazu führen dass unter diesem Kernel andere Pakete geladen werden. Irgendein Eintrag unter /proc?
Ob so ein Wechsel als akademische Übung funktioniert und zu welchen Komplikationen es dabei kommt, kann ich nicht abschätzen. Weiß da jemand mehr?
Es gibt die Möglichkeit von 32bit zu 64bit zu migrieren, wie man hier nachlesen kann (Achtung: Warnung lesen!).
Zuletzt geändert von WEARENOTALONE am 22.09.2009 22:37:44, insgesamt 2-mal geändert.
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Re: 32Bit auf 64Bit "updaten"
Du hast Recht, dass die Installation eines -amd64 Kernels nicht das gesamte System auf 64bit umstellt, aber der amd64 Kernel ist tatsächlich ein echter 64bit Kernel, mit Athlon Optimierung hat das nichts zu tun.Ich bezweifle, dass die Installation eines *-amd64 Kernels (z.B. linux-image-2.6.26-2-amd64) dein System von 32 Bit auf 64 Bit umstellt. Die *-amd64 Variante des Linux Kernels in den Debian Repositories enthält wohl eher diverse Optimierungen für die Amd Athlon 64 Prozessoren Familie, "unabhängig" von 32 oder 64 Bit.
Re: 32Bit auf 64Bit "updaten"
Das habe ich auch nicht behauptet, sondern nur, dass ein i386-System mit amd64-Kernel lauffähig ist.WEARENOTALONE hat geschrieben:Ich bezweifle, dass die Installation eines *-amd64 Kernels (z.B. linux-image-2.6.26-2-amd64) dein System von 32 Bit auf 64 Bit umstellt.
Wenn ich das richtig sehe ist die Umstellung von libc6 der essenzielle Schritt.WEARENOTALONE hat geschrieben:Es gibt die Möglichkeit von 32bit zu 64bit zu migrieren, wie man hier nachlesen kann (Achtung: Warnung lesen!).
-
- Beiträge: 278
- Registriert: 19.04.2009 18:55:05
Re: 32Bit auf 64Bit "updaten"
Das ist sehr interessant, wieder was dazu gelernt ^^ Inwiefern unterscheiden sich die 64bit von der 32bit amd64 von der i386 Version des Linux Kernels? Kann man die beiden Versionen einfach untereinander austauschen, weil sie letztlich identisch sind (meine den Kernel, nicht das deb-Package)?Spasswolf hat geschrieben:Du hast Recht, dass die Installation eines -amd64 Kernels nicht das gesamte System auf 64bit umstellt, aber der amd64 Kernel ist tatsächlich ein echter 64bit Kernel, mit Athlon Optimierung hat das nichts zu tun.Ich bezweifle, dass die Installation eines *-amd64 Kernels (z.B. linux-image-2.6.26-2-amd64) dein System von 32 Bit auf 64 Bit umstellt. Die *-amd64 Variante des Linux Kernels in den Debian Repositories enthält wohl eher diverse Optimierungen für die Amd Athlon 64 Prozessoren Familie, "unabhängig" von 32 oder 64 Bit.
Ich benutze auf meinem 32 Bit System seit längerem den *-amd64 Kernel, nur war mir nie bewusst, dass er in Wirklichkeit ein 64 bit Kernel ist. ^^hikaru hat geschrieben:Das habe ich auch nicht behauptet, sondern nur, dass ein i386-System mit amd64-Kernel lauffähig ist.WEARENOTALONE hat geschrieben:Ich bezweifle, dass die Installation eines *-amd64 Kernels (z.B. linux-image-2.6.26-2-amd64) dein System von 32 Bit auf 64 Bit umstellt.
...
Zuletzt geändert von WEARENOTALONE am 22.09.2009 23:07:04, insgesamt 1-mal geändert.
Re: 32Bit auf 64Bit "updaten"
Warum?WEARENOTALONE hat geschrieben:Ich benutze auf meinem 32 Bit System seit längerem den *-amd64 Kernel, [..]
-
- Beiträge: 278
- Registriert: 19.04.2009 18:55:05
Re: 32Bit auf 64Bit "updaten"
Um meine Frage kurz selbst zu beantworten: Anscheinend nicht stark, denn die Kernel Configs unterscheiden sich nur minimal:WEARENOTALONE hat geschrieben: ...Inwiefern unterscheiden sich die 64bit von der 32bit amd64 von der i386 Version des Linux Kernels?...
Code: Alles auswählen
--- linux-image-2.6.26-2-amd64_2.6.26-19_i386/data.tar/boot/config-2.6.26-2-amd64 2009-08-19 11:52:26.000000000 +0200
+++ linux-image-2.6.26-2-amd64_2.6.26-19_amd64/data.tar/boot/config-2.6.26-2-amd64 2009-08-20 02:42:21.000000000 +0200
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.26
-# Wed Aug 19 05:16:14 2009
+# Wed Aug 19 21:57:56 2009
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
@@ -2198,7 +2198,7 @@
CONFIG_SYNCLINKMP=m
CONFIG_SYNCLINK_GT=m
CONFIG_N_HDLC=m
-# CONFIG_RISCOM8 is not set
+CONFIG_RISCOM8=m
CONFIG_SPECIALIX=m
# CONFIG_SPECIALIX_RTSCTS is not set
CONFIG_SX=m
Ich dachte, dass die *-amd64 Version für AMD Athlons optimiert wurde (CONFIG_MK8). Das ist aber zumindest bei den folgenden Versionen nicht der Fall:hikaru hat geschrieben:...Warum?
- linux-image-2.6.26-2-686_2.6.26-19_i386
- linux-image-2.6.26-2-amd64_2.6.26-19_amd64
- linux-image-2.6.26-2-amd64_2.6.26-19_i386
Gruß,
WANA
Re: 32Bit auf 64Bit "updaten"
Was vergleichst du denn hier?WEARENOTALONE hat geschrieben:--- linux-image-2.6.26-2-amd64_2.6.26-19_i386/data.tar/boot/config-2.6.26-2-amd64 2009-08-19 11:52:26.000000000 +0200
+++ linux-image-2.6.26-2-amd64_2.6.26-19_amd64/data.tar/boot/config-2.6.26-2-amd64 2009-08-20 02:42:21.000000000 +0200
(Hervorhebungen von mir)
-
- Beiträge: 278
- Registriert: 19.04.2009 18:55:05
Re: 32Bit auf 64Bit "updaten"
Da es das Paket linux-image-2.6.26-2-amd64 sowohl für den i386 Port als auch für den amd64 Port gibt, aber beide 64 Bit Kernel sind, wollte ich wissen, wo die Unterschiede genau liegen. Aus diesem Grund habe ich mir beide Pakete heruntergeladen, entpackt und die /boot/config-* Dateien beider Kernelpakete verglichen (diff -Naur ...). Beantwortet das deine Frage?
Re: 32Bit auf 64Bit "updaten"
Die Frage ist nur: Was bringt dir diese Information? Es ist doch eigentlich klar, dass ein 64bit-Kernel (der übrigens für 64bit-Prozessoren optimiert ist) die gleiche configuration hat. Dem Kernel selbst ist es eigentlich total egal, ob der Userspace 32 oder 64 Bit hat (vielleicht etwas gewagt die Aussage, aber vom Prinzip der schon).
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams
-
- Beiträge: 278
- Registriert: 19.04.2009 18:55:05
Re: 32Bit auf 64Bit "updaten"
Mir war das bisher nicht so klararmin hat geschrieben:Die Frage ist nur: Was bringt dir diese Information? Es ist doch eigentlich klar, dass ein 64bit-Kernel (der übrigens für 64bit-Prozessoren optimiert ist) die gleiche configuration hat. Dem Kernel selbst ist es eigentlich total egal, ob der Userspace 32 oder 64 Bit hat (vielleicht etwas gewagt die Aussage, aber vom Prinzip der schon).
Re: 32Bit auf 64Bit "updaten"
Ich hätte vermutet, dass mit einem einfachen Neusetzen der Architektur ein 'Upgrade' leicht möglich sei:
In der apt.conf müsste also nur folgendes gesetzt werden:
Zumindest für ein Herunterladen von architekturfremden Paketen habe ich das schon genutzt.
Code: Alles auswählen
$ apt-config dump | grep Architecture
APT::Architecture "i386";
Code: Alles auswählen
APT::Architecture "amd64";
Re: 32Bit auf 64Bit "updaten"
Das ist nicht selbstverständlich. Wenn ich aus einem 32bit-Adressraum einen Call an einen 64bit-Kernel mache geht das gut. Wenn allerdings ein 64bit-Kernel einen Call aus einem 64bit-Adressraum an ein 32bit-Programm macht geht das gegen die Wand. Irgendetwas muss also dafür sorgen, dass der 64bit-Kernel in einem 32bit-Adressraum arbeitet wenn das Userland 32bit hat.armin hat geschrieben:Was bringt dir diese Information? Es ist doch eigentlich klar, dass ein 64bit-Kernel (der übrigens für 64bit-Prozessoren optimiert ist) die gleiche configuration hat. Dem Kernel selbst ist es eigentlich total egal, ob der Userspace 32 oder 64 Bit hat (vielleicht etwas gewagt die Aussage, aber vom Prinzip der schon).
Eine andere Möglichkeit wäre, dass auch ein 64bit-Userland in einem 32bit-Adressraum arbeitet. Die Vorstellung gefällt mir nicht.
Ja. Ich dachte erst an einen Fehler deinerseits, weil beide Architekturen eine Config mit "amd64" im Namen tragen.WEARENOTALONE hat geschrieben:Beantwortet das deine Frage?
Wer entscheidet über die Architektur, wenn es gar keine apt.conf gibt?ThorstenS hat geschrieben:In der apt.conf müsste also nur folgendes gesetzt werden:
Re: 32Bit auf 64Bit "updaten"
Gute Frage, dpkg kennt sie jedenfalls:hikaru hat geschrieben:Wer entscheidet über die Architektur, wenn es gar keine apt.conf gibt?ThorstenS hat geschrieben:In der apt.conf müsste also nur folgendes gesetzt werden:
Code: Alles auswählen
dpkg --print-architecture
Re: 32Bit auf 64Bit "updaten"
Eine Liste der Architekturen findet man unter: /usr/share/dpkg/archtable
Aber das klärt immer noch nicht die Frage wie er die feststellt.
Für ganz Mutige
http://teddyb.org/~rlpowell/hobbies/deb ... index.html
Offzieller Standpunkt ist ja: Nein geht nicht.
http://alioth.debian.org/docman/view.ph ... l#id292796
Aber das klärt immer noch nicht die Frage wie er die feststellt.
Für ganz Mutige
http://teddyb.org/~rlpowell/hobbies/deb ... index.html
Offzieller Standpunkt ist ja: Nein geht nicht.
http://alioth.debian.org/docman/view.ph ... l#id292796
Gruß Athlux
Re: 32Bit auf 64Bit "updaten"
Ich hab mal fix in die dpkg-sourcen geschaut und noch den interessanten Schalter --print-installation-architecture gefunden.Athlux hat geschrieben:Eine Liste der Architekturen findet man unter: /usr/share/dpkg/archtable
Aber das klärt immer noch nicht die Frage wie er die feststellt.
Im Changelog:
Intern wird immer die Funktion printarch aufgerufen. Beteiligt sind die Dateien main.{c,h} und enquiry.c* src/enquiry.c (printarch): Completely nuke this function, we'll
no longer parse the compiler output and look up things in archtable.
Für weitere Recherchen sind meine C-Kenntnisse leider nicht mehr ausreichend.
- mikrokosmos
- Beiträge: 225
- Registriert: 26.07.2006 19:38:24
Re: 32Bit auf 64Bit "updaten"
Ich hab mich auch mal ein bisschen schlau gemacht und in die Quellen geschaut. In enquiry.c gibt es die Funktion printarch, welche den Inhalt der Variablen architecture ausgibt. Die Variable architecture stammt aus main.c und wird dort mit definiert und initialisiert. ARCHITECTURE wird in config.h per #define-Statement angegeben. config.h wird während des Laufes von configure erstellt, welches die Architektur des Systems irgendwann einmal abfragt. Soll heißen: Die Architektur wird beim Kompilieren fest in dpkg reingeschrieben.
Code: Alles auswählen
const char architecture[]= ARCHITECTURE;