Slackware 32bit Di Dalam Slackware 64bit

Submitted by w41lf0x on Thu, 05/14/2015 - 16:24

slackwareSelamat pagi semuanya. Setelah sekian lama hiatus, akhirnya saya menuliskan sesuatu kembali di blog ini. Ini juga karena titah pak Willy semalam. Hari ini saya ingin berbagi mengenai cara sederhana untuk menginstal dan menggunakan lingkungan Slackware 32bit di dalam Slackware 64bit. Mungkin banyak yang bertanya buat apa kok susah2 memasang (instalasi) Slackware 32bit ke dalam Slackware 64bit. Toh sudah ada paket2 multilib dari om AlienBOB. Saya jelaskan sedikit saja ya, karena memang ilmu saya masih sedikit.

Dalam sistem multilib, kita memang memasang dua biner yaitu biner2 64bit dari paket2 Slackware64 dan biner2 32bit dari paket2 multilib. Tetapi normalnya sistem multilib hanya digunakan sebagai runtime, atau hanya menyediakan lingkungan arsitektur biner yang kompatibel untuk menjalankan program2 32bit di dalam sistem 64bit. Ketika kita mencoba membangun (mengkompilasi) sebuah kode dalam lingkungan multilib, maka biner yang dihasilkan hanya kompatibel dengan sistem 64bit karena compiler yang digunakan tetap berarsitektur 64bit, alhasil meskipun biner tersebut di-link ke pustaka 32bit arsitektur biner mengikuti compiler-nya. Hal ini tentu akan menyulitkan pengguna sistem 64bit untuk membangun biner2 yang murni 32bit. Contohnya adalah ketika saya ingin membangun biner Mesa 9.2.5 dalam dua arsitektur, 64bit dan 32bit.

Alhamdulillah, ternyata ada solusi sederhana yang saya dapatkan dari forum Slackware di LinuxQuestion. Jadi singkatnya untuk mendapatkan lingkungan pengembangan 32bit di dalam Slackware 64bit adalah sangat mudah. Caranya seperti ini (jangan lupa jadi root dulu):

1. Silakan sediakan sumber instalasi Slackware 32bit (bisa CD, DVD, repo online, atau repo offline)

2. Buat sebuah direktori yang akan menjadi ROOT_DIR untuk instalasi Slackware 32bit, terserah mau ditaruh di mana. Sebagai contoh saya membuat direktori /slack32:

mkdir -p /slack32

3. Lalu instalasi paket2 Slackware 32bit ke dalam direktori ROOT 32bit (contoh saya /slack32/). Lihat man installpkg untuk informasi lebih lengkap tentang opsi --root:

installpkg --root /slack32/ LOKASI_PAKET2_SLACKWARE32/{a,ap,d,l,n,tcl,x}/*.t?z

4. Setelah instalasi selesai, tetapkan dahulu ARCH untuk instalasi 32bit tersebut menggunakan profil shell. Konfigurasi profil shell ditetapkan dengan membuat sebuah file teks (benar2 file teks biasa, penjelasan buat yang suka pakai istilah macem2). Kita bisa menetapkannya di file /etc/profile atau di dalam direktori user (.profile atau .bashrc). Kalau tidak ada ya tinggal buat saja, wong ya cuma file teks biasa. Untuk membuka file teks biasa, gunakan editor teks apa saja yang anda kenal.:

echo "export ARCH=i486;" >> /slack32/etc/profile
echo "JAVA_HOME=/usr/lib/java;" >> /slack32/etc/profile
echo "QT4DIR=/usr/lib/qt;" >> /slack32/etc/profile
echo "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig;" >> /slack32/etc/profile

atau

echo "export ARCH=i486;" >> /slack32/root/.profile
echo "JAVA_HOME=/usr/lib/java;" >> /slack32/root/.profile
echo "QT4DIR=/usr/lib/qt;" >> /slack32/root/.profile
echo "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig;" >> /slack32/root/.profile

atau

echo "export ARCH=i486;" >> /slack32/root/.bashrc
echo "JAVA_HOME=/usr/lib/java;" >> /slack32/root/.bashrc
echo "QT4DIR=/usr/lib/qt;" >> /slack32/root/.bashrc
echo "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig;" >> /slack32/root/.bashrc

5. Silakan pindah ROOT ke dalam direktori instalasi Slackware 32bit kita, dan jalankan bash sekali lagi untuk memuat profil tersebut (silakan cek dengan perintah env):

chroot /slack32/
bash

6. Selamat menggunakan lingkungan 32bit di dalam Slackware64.

Berikut ini adalah gambar yang berisi contoh perbedaan biner yang dihasilkan:

slack32-slack64-1 slack32-slack64-4_0 slack32-slack64-2 slack32-slack64-6 slack32-slack64-3 slack32-slack64-7

Selamat mencoba, mudah2an bermanfaat