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: