[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Cross-Grade Debian 11 i386 -> amd64 (was: libc6 fehlt(?) nach Cross-Grade)



On 18.08.25 23:07, Marc Haber wrote:
On Mon, 18 Aug 2025 20:17:56 +0200, Paul Muster
<exp-311225@news.muster.net> wrote:

Die Maschine vermisst eine libc, wenn ich die Suchtreffer zu libpthread
richtig interpretiere. Dazu hatte sich crossgrader beschwert, es gebe
keine amd64-Variante der installierten libc6-xen.

Was ist zu tun? chroot ins root der VM und dort das richtige Paket als
:amd64 installieren. Und das ist welches? Einfach libc6? libc6-amd64?

Ich habe das zu lange nicht mehr gemacht, sorry. Hilft Dir vielleicht
meine Anleitung zum crossgrade aus meinem Blog von 2013?
https://blog.zugschlus.de/archives/972-How-to-amd64-an-i386-Debian-installation-with-multiarch.html

Nein, ehrlich gesagt nicht wirklich. Das ist nicht mehr aktuell, heutzutage gibt es crossgrader, der übernimmt die Bastelei weitestgehend.

Da habe ich auch ein wenig beschrieben, was alles passieren kann wenn
man einen Schritt auslässt. Habe das damals lange in einer VM geübt.
Vielleicht erkennst Du einen meiner Fehlerzustände als den Deiningen
wieder.

Tatsächlich nicht. Aber der Test anhand einer anderen VM ergab, dass man - wie so oft - lediglich die Ausgabe der Tools lesen muss, mit denen man arbeitet. Und crossgrader warnte am Ende der Stage 1 (dritter Durchlauf), dass möglicherweise bei zwei Paketen nicht die richtige Architektur ins initramfs gepackt wurde. (Genauer Wortlaut gerade nicht zur Hand.) Daher musste ich diese manuell als :amd64 installieren
 apt-get download logsave:amd64
 dpkg -i logsave_1.46.2-2_amd64.deb
 apt-get download libgcc-s1:amd64
 dpkg -i libgcc-s1_10.2.1-6_amd64.deb
und das initramfs aktualisieren
 update-initramfs -k all -u

Die so entstandene initrd verhalf der beim ersten Versuch geschrotteten VM zum erfolgreichen Boot. (Da habe ich dann in der VM selbst nochmal eine neue bauen lassen, damit alle IDs stimmen etc.) Und die zweite VM bootete direkt einwandfrei damit.

Irgendwann im Laufe der Stage 1 brauche ich auf meinen Maschinen einen manuellen Eingriff hinsichtlich systemv-core vs. systemd-sysv.
 apt-get download sysvinit-core:amd64
 dpkg -i sysvinit-core_2.96-7+deb11u1_amd64.deb
Sonst zieht crossgrader systemd auf die Maschine (aufgrund irgendeiner Abhängigkeit).

Dass es von libc6-xen keine :amd64-Version gibt, ist kein Problem. Man muss crossgrader allerdings per --force-unavailable für Stage 2 entsprechend instruieren.

Vorbereitend ist es sehr wichtig, ein sauberes Paketsystem zu haben. D.h. aptitude search ~o sollte tunlichst keine Pakete melden. Und Updates sollten auch nicht anstehen, sonst wird crossgrader das auch gleich machen - und solche Komplikationen will man nicht.


mfG Paul


Reply to: