# Architektur ändern

## LinuxTom

Hallo Allerseits,

Wie kann ich die Architektur meines Gentoos's ändern.

Hintergrund: Ich hatte bisher einen P100 als Server und habe deshalb auch bei der Installation des stage3 "stage3-i586-2006.0.tar.bz2" genommen. Nun kann ich einen Athlon bekommen. Also Festplatte da raus und dort rein. Alles fein und läuft.

Nun würde ich jedoch gerne mit dem laufenden System von "i586-pc-linux-gnu" auf "i686-pc-linux-gnu" wechseln wollen. In den HowTo's habe ich leider nichts rechtes gefunden. Kann mir jemand bitte einen Tipp für den Anfang geben?

Wenn ich das in der make.conf einfach ändere, nehme ich an, kompiliert danach nischt mehr "so richtig".

----------

## Martux

Naja, wenn Du die alte Platte in den neuen Rechner gebaut hast und das geht, sollte es imho reichen in der make.conf auf i686 umzustellen und unter march=athlon einzutragen (bei athlon-xp eben dieses).

Danach mit 

```
 emerge --emptytree world 
```

 alle Pakete neu bauen, fertig.

----------

## firefly

das sollte auf jeden fall gehen, wenn du das update mit der neuen CPU machst.

Denn der Athlon kann auch code ausführen, der für i586 übersetzt worden ist.

----------

## LinuxTom

Ok, so habe ich es auch gehofft, nur im Verzeichnisbaum "/usr/i586-pc-linux-gnu/" steht das Eine oder Andere, das vielleicht gebraucht wird. Wird das alles dann unter "/usr/i686-pc-linux-gnu/" neu angelegt?

----------

## Martux

afaik ja  :Smile: 

----------

## Ampheus

```

emerge --emptytree world

```

reicht aber nicht. Wenn du wirklich alles auf die neue Architektur abgestimmt haben willst, musst du vorher ein

```

emerge --emptytree system

```

machen.

----------

## Thargor

Imo ist mehr nötig als 

```

emerge -e system 

emerge -e world

```

Man muss zuerst zweimal die(den?das?) Toolchain bauen

```

emerge glibc binutils gcc

emerge glibc binutils gcc

```

Und nicht vergessen:

```

gcc-config -P i686-pc-linux-gnu-<gcc.version>

source /etc/profile

```

und anschließend python, da in python einiges hardcoded ist, was sonst böse portagefehler geben würde (gleiches für perl hab ich mal gelesen)

```
emerge python perl portage
```

anschließend system und world zweimal neubauen:

```

emerge -e system 

emerge -e system 

emerge -e world

emerge -e world

```

Siehe auch: http://javadave.blogspot.com/2006/04/changing-gentoos-chost-from-i386-to.html

----------

## gentop

 *Thargor wrote:*   

> Imo ist mehr nötig als 
> 
> ```
> 
> emerge -e system 
> ...

 

Meiner Meinung nach ist system eine Untermenge von world - demzufolge kann das emerge -e system ruhig weggelassen werden. Falls ich falsch liege, korrigiert mich bitte  :Surprised: 

So long

//gentop

----------

## Thargor

Prinzipiell ja, aber in diesem Fall nein   :Wink: 

Soweit ich das weiß, muss man zuerst den/die/das toolchain mit dem alten toolchain neubauen

```
emerge glibc binutils gcc
```

Anschließend den/die/das toolchain mit dem neuen toolchain bauen

```
emerge glibc binutils gcc
```

Dann das angesprochene python problem fixen (sonst kommt libtool i386 not found blabla)

```
emerge python perl portage
```

Dann das System mit dem neuen Toolchain neubauen

```
emerge -e system
```

Dann das System mit dem neuen Toolchain und neuen system neubauen, um sicher zu gehen, dass alles gegen den neuen CHOST gelinkt ist (siehe python   :Wink:  )

```
emerge -e system
```

Dann das World mit dem neuen Toolchain und neuen System neubauen

```
emerge -e world
```

Dann das World mit dem neuen Toolchain und neuen System neubauen, um sicher zu gehen, dass alles im world gegen den neuen CHOST gelinkt ist

```
emerge -e world
```

----------

## gentop

OK. Gut zu wissen  :Cool: 

//gentop

----------

## Inte

 :Rolling Eyes:  Was soll das denn?

Mit dem emerge -e system wird die Toolchain bereits erneut installiert. Beim anschließenden emerge -e world kompilierst Du die Toolchain mit sich selbst nochmal neu, bevor alle anderen Anwendungen neu übersetzt werden.

Falls wirklich libtool-Fehler auftreten sollten, können die mit einem einfachem /sbin/fix_libtool_files.sh behoben werden.

----------

## Thargor

Als ich das mal gemacht hab fand ich genug threads mit Problemen und diese Methode war die einzige, bei der hinterher drunterstand: "Hat ohen Fehler funktioniert"

Kann natürlich auch sein, dass ich mich irre, aber ich glaube, da gab es dann Probleme mit der Reichenfolge, wo dann Pakete mit dem neuen chost gegen welche mit dem alten hardgelickt wurden.

Absolut sicher bin ich mir jedoch, dass man vorher die Toolchain separat mergen muss, da sonst die Reihenfolge nicht passt.

Und außerdem: Lieber einmal zuviel World emerged als ein defektes System.

Allgemein lässt sich auch sagen, dass es sauberer ist und schneller geht, das System neu aufzusetzen.

----------

## tost

2x emerge -e system und world ?

Das dauert ja ewig   :Rolling Eyes: 

----------

## musv

 *LinuxTom wrote:*   

> Hallo Allerseits,
> 
> Wie kann ich die Architektur meines Gentoos's ändern.
> 
> 

 

http://www.deppenapostroph.de/

Wollt ich nur mal so anmerken. Zum eigentlichen Thema wurde ja bereits alles gesagt.

Bzw. muß man das alles neu compilieren? Reicht nicht die Toolchain? Der Rest sollte doch mit der Zeit bei diversen Updates dann auch automatisch nach und nach umgestellt werden.

----------

## LinuxTom

 *Thargor wrote:*   

> Allgemein lässt sich auch sagen, dass es sauberer ist und schneller geht, das System neu aufzusetzen.

 

Da gebe ich Dir recht, aber wenn ich bei mir 5 Tage in Ruhe Zeit habe alles so zu bauen, wie ich es für richtig halte und dann mit dem Rechner weit weg fahre und dort die Festplatte einbaue und das Internet herstelle, will ich da nur die Toolchain neu bauen und wieder fort. Den Rest kann ich dann wieder von zu Hause aus machen.

Aber so wie Du das geschrieben hast, habe ich das in den letzten Stunden auch aus diversen Berichten rausgelesen. Der Link von Dir "Mi Mai 03, 2006 7:05 am" (und seine Unterlinks) waren mehr als Hilfreich.  :Smile: 

Ob es geklappt hat, sage ich Euch demnächst.

----------

## Treborius

https://forums.gentoo.org/viewtopic-t-282474-highlight-emerge+wrapper.html

script laden, anleitung lesen, dann kann nichts schief gehen, und die kompilierst (bei richtiger anwendung)

auch nichts öfter als nötig

----------

## psyeye

 *Thargor wrote:*   

> Allgemein lässt sich auch sagen, dass es sauberer ist und schneller geht, das System neu aufzusetzen.

 

Sorry, aber da ruf ich mal ein "Quark" aus.  :Wink: 

Ausser Plattencrash und extremes User-Zu-Blöd-Verhalten (was bei nem Hardware-Wechsel nicht der Fall ist!) kenn ich keinen Grund, ein Gentoo Linux neu zu installieren. Neue Grafikkarte; kein Problem. Neues Board; kein Problem. Neue Platte; kein Problem. 

Und dieses "emerge -e foo" ist zwar nett, wenn man ein kleiner Ricer ist; mit der Zeit wird doch aber sowieso alles "neu gebaut". Da muss man nicht x Tage investieren für ein Problem, das a) keines ist und b) sich mit der Zeit erledigt.

0.0002¢

psyeye

----------

## Anarcho

 *psyeye wrote:*   

>  *Thargor wrote:*   Allgemein lässt sich auch sagen, dass es sauberer ist und schneller geht, das System neu aufzusetzen. 
> 
> Sorry, aber da ruf ich mal ein "Quark" aus. 
> 
> Ausser Plattencrash und extremes User-Zu-Blöd-Verhalten (was bei nem Hardware-Wechsel nicht der Fall ist!) kenn ich keinen Grund, ein Gentoo Linux neu zu installieren. Neue Grafikkarte; kein Problem. Neues Board; kein Problem. Neue Platte; kein Problem. 
> ...

 

Also mein Mainboardwechsel hat mich schon zum neuinstallieren gebracht und ich bin kein Gento-Anfänger!

Vorher: nForce2

Nachher: Via KT880

Na, wer findet das kleine fehlende Detail?  (wo doch alle in Quizlaune sind)  :Twisted Evil: 

----------

## Inte

Das o fehlt!  :Wink: 

Bekomm ich jetzt ein Autogramm von dir?  :Laughing: 

----------

## Thargor

@musv: Es reicht eben nicht aus, nur die Toolchain neu zu kompilieren, da doch einige Sachen hardgelinkt sind (Vorallem Scriptsprachen oder wie die nochmal heißen (Also solche, die ohne compilieren auskommen (Python, Perl, etc. (ich liebe Klammern   :Very Happy:  ))))

@psyeye: Einfacher, als den chost zu ändern. Natürlich muss man oft nicht neu aufsetzen, aber in diesem Fall, geht neuinstallieren schneller als die sichere Methode (allles 2x redundant neubauen) (Wobei man natürlich auch einfach umstellen und weiterarbeiten könnte, was zwar schneller geht, aber nicht zu empfehlen ist)

----------

## Anarcho

 *Inte wrote:*   

> Das o fehlt! 
> 
> Bekomm ich jetzt ein Autogramm von dir? 

 

Das wars zwar nicht aber für originalität bekommst du natürlich eins! Musst du dir aber abholen.

----------

## psyeye

 *Anarcho wrote:*   

> 
> 
> Also mein Mainboardwechsel hat mich schon zum neuinstallieren gebracht und ich bin kein Gento-Anfänger!
> 
> Vorher: nForce2
> ...

 

Und warum?

psyeye

----------

## Haldir

Allgemeines aufräumen wohl, nicht jeder File wird immer korrekt entfernt, insb. bei Perl und Konsorten bleibt viel übrig. Ab und zu ist so eine Aufräumaktion ziemlich bequem  :Smile: 

Als ich von X86 auf X86_64 gewechselt bin, hab ich auch eine komplette Neuinstallation gemacht um den ganzen alten X müll los zu werden und ähnliches.

----------

## musv

 *Thargor wrote:*   

> @musv: Es reicht eben nicht aus, nur die Toolchain neu zu kompilieren, da doch einige Sachen hardgelinkt sind (Vorallem Scriptsprachen oder wie die nochmal heißen (Also solche, die ohne compilieren auskommen (Python, Perl, etc. (ich liebe Klammern   ))))
> 
> 

 

Moooooooooooooooooooooooooooooooooooment mal:

Soweit ich das aus dem ersten Posting entnehmen konnte, geht's hier um die Umstellung von i586 auf i686. Dabei könnte man (stell ich jetzt einfach mal so in den Forumsraum) i586 als 'ne Teilmenge von i686 betrachten, weil i686 is ja irgendwie abwärtskompatibel. Und i586 kam ja auch irgendwie genau davor (zeitlich gesehen (um mit der Tradition der Klammern fortzufahren)).

D.h. normalerweise sollte es ja ausreichen, die Hardware einfach umzustöpseln ohne irgendwas neu compilieren zu müssen. Was anderes wär es, wenn jetzt von march=athlon-xp auf march=pentium4 zum Beispiel umgestellt werden würde. Aber darum geht's ja hier nicht. 

D.h. wiederum: Das einzig wirklich notwendige, was ich hier bei der Umstellung sehe, ist die Anpassung des Chipsatzes (und diverser anderer Treiber) auf die neue Architektur im Kernel. 

Die Notwendigkeit einer Pseudo-Neuinstallation per emerge -e world halte ich für übertrieben. Inwiefern verlieren eigentlich Python und Perl ihre Funktionsfähigkeit bei Umstellung von i586 auf i686?

----------

## Anarcho

 *psyeye wrote:*   

>  *Anarcho wrote:*   
> 
> Also mein Mainboardwechsel hat mich schon zum neuinstallieren gebracht und ich bin kein Gento-Anfänger!
> 
> Vorher: nForce2
> ...

 

na ganz einfach: nForce2 = 32Bit Athlon und KT880 = 64Bit Athlon

Und beim Wechsel von 32Bit auf 64Bit ist es mit Abstand das beste neu zu installieren und nicht erstmal versuchen irgendwie das alte umzubauen.

----------

## Genone

 *tost wrote:*   

> 2x emerge -e system und world ?

 

Tja, manche Leute meinen halt, dass man glibc fünf mal neu bauen muss (nach dem Motto lieber zuviel als zuwenig), warum auch immer ...

----------

## Thargor

Gibts eine einfache Möglichkeit nur sachen zu emergen, die in world, abre nicht in system sind?  :Very Happy: 

----------

## Martux

Genone schrieb:

 *Quote:*   

> 
> 
> tost wrote:	
> 
> 2x emerge -e system und world ?	
> ...

 

Dass sehe ich genauso >> total überzogen und in keinem Verhältnis zum Nutzen   :Rolling Eyes: 

Und auch wenn ich mir damit jetzt Feinde mache, möchte ich an dieser Stelle auf http://funroll-loops.org/ verweisen.

(Ist zwar nicht meine 100%ige Meinung, aber was wahres is dran...)

----------

