32-bitars program i 64-bitars-miljö


32-bitars program i 64-bitars-miljö

Allmän

Tio enkla steg för att skapa en dubbel miljö. För att kunna köra 32-bitars program i en 64-bitars miljö måste en separat 32-bitars miljö upprättas i en så kallade chroot.

  1. apt-get install dchroot debootstrap
  2. Välj en lämlig plats på filsystemet för 32-bitars miljön t ex /usr/chroot32. Skapa den katalogen.
  3. Lägg till katalogen i /etc/dchroot.conf i formen av ubuntu-version, hoary, breezy, dapper katalog: dapper /usr/chroot32.
  4. Starta debootstrap --arch i386 dapper /usr/chroot32.
  5. Lägg till de 32-bitars arkiv som behövs i /usr/chroot32/etc/apt/sources.list
  6. Byt till den nya miljön chroot /usr/chroot32
  7. Rätt land/språk dpkg-reconfigure locales.
  8. Uppdatera distributionen apt-get update och apt-get dist-upgrade.
  9. Utanför 32-bitarsmiljön, i ett annat fönster (?), lägg till i /etc/fstab nedanstående lista och gör mount -a.
  10. Skapa ett skript, /usr/bin/run32 enligt nedan, gör det körbart med chmod +x /usr/bin/run32.

Gör en länk från run32 till programnamnet som finns i 32-bitars miljön. För program som finns i båda, t ex synaptic kan man använda namnkonventionen synaptic32 för 32-bitars-versionen. Givetvis måste den döpas om i sin miljö för att detta skall fungera.

Lycka till!

/etc/fstab


         /home $CHROOT32/home none bind 0 0
         /tmp $CHROOT32/tmp none bind 0 0
         /dev $CHROOT32/dev none bind 0 0
         /proc $CHROOT32/proc none bind 0 0
         /etc/passwd $CHROOT32/etc/passwd none bind 0 0
         /etc/shadow $CHROOT32/etc/shadow none bind 0 0
         /etc/group $CHROOT32/etc/group none bind 0 0
         /etc/sudoers $CHROOT32/etc/sudoers none bind 0 0
         /etc/hosts $CHROOT32/etc/hosts none bind 0 0
         /etc/resolv.conf $CHROOT32/etc/resolv.conf none bind 0 0
         /etc/nsswitch.conf $CHROOT32/etc/nsswitch.conf none bind 0 0

/usr/bin/run32


    #!/bin/sh
    /usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $*" 

annons