openSUSE 12.1 : newer does’t always better, at least for this case

openSUSE 12.1 telah dirilis tanggal 16 November 2011 yang lalu, seperti biasa, inilah waktunya upgrade ke versi baru. Setelah 3 hari download iso DVD openSUSE 12.1 dengan kecepatan 80 kBps, akhirnya selesai juga. Saatnya untuk menginstall.

Hanya saja kali ini instalasi agak berbeda dari sebelumnya. Kalau biasanya aku menginstall openSUSE melalui media DVD, kali ini aku hendak menghemat penggunaan DVD dan menginstall openSUSE melalui USB flashdisk. Sebelumnya temanku sudah mendownload iso CD KDE, menggunakan KIWI image writter, iso tersebut diinstall ke USB flashdisk sehingga bisa digunakan sebagai live session maupun untuk instalasi.

Proses instalasi berjalan seperti biasa, tidak banyak perubahan dibandingkan proses instalasi di 11.4. Kalau ada perbedaan itu hanyalah soal artwork. Dan harus diakui, artwork di openSUSE 12.1 ini benar – benar bagus, green and elegant. Instalasi berjalan lancar, dan dalam beberapa menit, openSUSE siap digunakan.

What has changed

Setelah instalasi, waktunya memeriksa apa yang baru. Detail teknis openSUSE 12.1 sudah banyak dijelaskan di berbagai berita di internet, jadi tidak perlu dibahas di sini. Diantara perubahan itu misalnya digunakannya systemd sebagai initscript dan adanya terintegrasinya snapshot Btrfs di zypper menggunakan aplikasi snapper. Rasanya pengguna awam tidak akan telalu memperdulikan hal itu. openSUSE 12.1 juga hadir dengan KDE 4.7.2 dengan patch unutk nepomuk yang dibackport dari versi 4.7.3 sehingga nepomuk sekarang jadi jauh lebih stabil.

The havoc

Masalah di openSUSE dimulai di sini. Setelah login, desktop tidak responsif lumayan lama, sampai beberapa detik, sehingga menjengkelkan. Hal yang sama pernah aku alami di versi 11.4. Setelah mengingat – ingat sebentar, ketemu sumber masalahnya; pulseaudio. Unistall pulseaudio, dan proses login kembali lancar.

Masalah berikutnya adalah bluetooth. Sistem mendeteksi adapter bluetooth dengan benar, tetapi bluedevil menyatakan bahwa di komputer tidak terdapat adapter bluetooth. Awalnya aku menduga masalahnya ada di bluedevil, maka aku coba login ke XFCE dan menggunakan gnome-bluetooth, tapi hasilnya sama, adapter bluetooth dianggap tidak ada. Capek, aku putuskan melanjutkan kerjaan coding, namun ketika mencoba start server apache dengan rcapache2 start, malah yang muncul pesan redirecting to sysctl. Aku coba aktifkan mysql dengan rcmysql start dan mendapat pesan yang sama. Setelah aku coba utak – atik, akirnya ketemu penyebabnya; systemd, fitur baru yang dibanggakan pada rilis kali ini yang justru membawa masalah. Setelah uninstall systemd dan kembali menggunakan sysVinit, semua berjalan lancar. termasuk bluetooth bekerja dengan normal kembali.

Masalah berikutnya, wireless network. Meskipun openSUSE mendeteksi wireless device laptopku dengan benar, tetapi tidak bisa melisting dan koneksi ke AP. Kadang – kadang AP terlisting dan bisa koneksi, tetapi kemudian tiba – tiba hilang dan tidak bisa koneksi lagi. Aku coba googling, dan kelihatanya banyak orang lain yang mengalami masalah yang sama. Koneksi menggunakan kabel juga sering putus, dan kecepatannya sering drop dengan sendirinya. Awalnya aku duga penyebabnya Networkmanager, maka network aku alihkan menggunakan ifup, tapi hasilnya sama. Akhirnya aku coba menggunakan wicd, dan berhasil listing AP dengan stabil. Akan tetapi tetap tidak bisa konek ke AP tersebut. Aku coba koneksi kobel dengan wicd dan berhasil lancar dan stabil. Setelah utak – atik, aku hilangkan enkripsi koneksi wireless, dan wicd bisa konek ke AP tersebut. Akan tetapi saat ini aku membutuhkan koneksi wireless terenkripsi, jadi hal ini masih belum menyelesaikan masalah. Sampai saat ini aku masih koneksi ke internet menggunakan kabel. Dilihat dari ciri – cirinya, kemungkinan masalah terletak di kernel atau di driver wireless. Sayangnya untuk dua hal itu aku tidak bisa berbuat apa – apa kecuali menunggu perbaikan dari developer.

The excerpt

Ini adalah pertama kalinya aku merasa upgrade ke versi baru openSUSE tidak menyenangkan. Sebelumnya, upgrade ke versi baru selalu menawarkan perbaikan dari versi sebelumnya. Memang terkadang masalah muncul, tetapi bisa diselesaikan dengan mudah. Bisa jadi masalah ini disebabkan faktor lain, misal media instalasi. Selama ini aku selalu menginstall openSUSE memalui media DVD dan hampir tidak pernah mengalami masalah, sementara teman – teman yang mengisntall melalui media CD mengalami masalah. Aku akan mencoba menginstall ulang menggunakan DVD dan melihat apakah masalah tersebut hilang. Jika masalah tersebut masih ada, terpaksa aku rollback ke versi 11.4. openSUSE 12.1 menawarkan banyak fitur menarik dari aplikasi – aplikasi terbaru, tetapi jika koneksi internet tidak jalan, maka menggunakan 11.4 yang diupgrade ke aplikasi terbaru dari OBS masih lebih baik. Dan itulah keunggulan openSUSE dibandingkan distro lain. If you don’t like this one, you will always have another choices that make you happy.

Update:

Saat ini aku mencoba koneksi lagi menggunakan Networkmanager dan alhamdulillah lancar bisa koneksi wireless terenkripsi. Akan aku coba amati, kalau tetap lancar, berarti bugs telah hilang, dengan sendirinya 😀

Update 2 :

Setelah diamati, ternyata setiap kali login, Networkmanager tidak bisa mendeteksi AP yang terenkripsi. Untuk mengatasinya, bisa dengan cara mendisable wireless (hilangkan centang pada enable wireless di NM Applet), kemudian enable ulang wireless. Dengan trik ini, koneksi ke AP terenkripsi bisa berjalan lancar.

 

Update 3:

Sebelumnya sempat mengalami masalah printing dengan wireless printer. Aku pakai Brother MFC-J265W.  Di openSUSE 11.4 semua berjalan lancar. Di openSUSE 12.1 ini, hanya baisa digunakan untuk scan, sementara untuk printing gagal garena YAST tidak bisa mendeteksi driver printer. Aku coba via web interface cusps, juga gagal. Akirnya aku coba load file ppd nya via YAST, namun tetap tidak mau. Aku coba sekali lagi, kali ini berhasil. Driver printer terload, printer berhasil dikonfigurasi dan printing bisa berjalan normal. Satu – satunya masalah yang masih tersisa adalah koneksi dengan AP yang terenkripsi, namun bisa diatasi dengan trik yang aku sebutkan di Update 2 😀

After a lot of strungle, finally i come back as happy openSUSE user.

openSUSE 12.1 : newer does’t always better, at least for this case

Compile dan Optimalisasi Kernel Linux

by Trias Mukti Kuncoro
Pertama adalah mendapatkan kernel source, bisa langsung dari http://www.kernel.org/ atau dari repo distro yang anda pakai, umumnya letaknya di /usr/src/ Jika anda menggunakan kernel vanila dari kernel.org, letakkan di folder tersebut dan perlu diingat pastikan free space di partisi tersebut cukup longgar untuk melakukan kompilasi, jika opsi debugging enabled ketika compile kernel, ruang yang dibutuhkan mencapai 3 GB. Hal ini bisa disiasati jika partisi anda memang sudah mepet, gunakan static link, caranya? Cari sendiri gan.. :p Ya prinsipnya kernel source tadi anda letakkan di partisi lain misal /home/ baru kemudian buat static link dari /usr/src/ ke folder kernel source tersebu, jangan lupa file kernel yang udah didownload diekstrak dulu, jangan tanya lagi gimana caranya.. :p lewat GUI aja beres kok.. 😉
 
Oke setelah terekstrak dan tempat sudah beres, kemudian masuk ke folder kernel source tersebut. Oiya jangan lupa kita lakukan ini via console dan biar tambah mulus bertindak sebagai root, meskipun yang butuh akses root cuma tahap tertentu aja, tapi ga salah juga toh jika dari awal sudah sebagai root? 🙂
 
Dan jangan lupa tools2 yang dibutuhkan, intinya bagian development tools, lebih tepatnya kernel development. Jika manual 1 per 1:
-> gcc
-> make
-> binutils
-> ncurses-devel
beberapa distro membuat binutils menjadi 1 dengan gcc.
 
Oke setelah pemanasan dan persiapan sudah cukup, berikutnya adalah step by step mulai dari konfigurasi hingga compile dan install kernel. Dan perlu digaris-bawahi, asumsi adalah posisi kita di folder source kernel, jadi perintah2 yang ada berikut ada yang menggunakan relative path, mohon diperhatikan.
 
1) Ambil dahulu file konfigurasi kernel yang bersangkutan, bisa dicek di /proc/config.gz dengan perintah zcat:
# zcat /proc/config.gz > .config 
perhatikan baik2 ya, itu file [dot]config, ada karakter titik. Cara lain jika configurasi kernel anda tidak mengijinkan mengambil config dari kernel, bisa ambil dari /boot/ biasanya di sana juga diletakkan konfigurasi kernel yang sedang dipakai, filenya diawali dengan config, copy-kan ke folder source dengan nama .config
 
2) Konfigurasi kernel, jalankan:
# make menuconfig 
Langsung keluar dan simpan tanpa konfigurasi juga tak mengapa, misalkan hanya ingin mencoba kernel vanila dan konfigurasi disesuaikan dengan config kernel dari distro. Untuk konfigurasi dibahas di komentar.
 
3) Compile kernel, perintahnya sederhana saja dan ini berlaku hampir di semua distro kecuali beberapa seperti slackware berbeda. Saya memakai cara ini untuk compile kernel di opensuse, fedora, mandriva dan turunannya, untuk debian based saya sendiri belum nyoba, mungkin bisa googling. Atau dicoba saja langkah yang sama dengan yang biasa saya pakai, karena langkah2 ini saya baca dari dokumentasi kernel.
# make 
# make modules_install
# make install
bisa juga disambung supaya dieksekusi berurutan jadi:
# make && make modules_install && make install
Jika anda melakukan compile kedua dstnya di source yang sama, ada baiknya anda jalankan 
# make clean 
terlebih dahulu, supaya bersih dan proses compile kernel berjalan lebih cepat.
 
Khusus slackware:
# make bzImage
# make modules
# mv /boot/vmlinuz /boot/vmlinuz.old
# cat arch/i386/boot/bzImage > /boot/vmlinuz
# mv /boot/System.map /boot/System.map.old
# cp System.map /boot/System.map
# make modules_install
 
tambahkan entry kernel yang lama di /etc/lilo.conf untuk jaga2 jika kernel baru gagal. Tentu saja dari perintah pada slackware itu anda bisa menebak mana file kernel image-nya untuk ditambahkan di lilo.. 🙂 kemudian jangan lupa jalankan:
# lilo
untuk mengeksekusi konfigurasi lilo.conf tadi
 
jika tidak ada pesan error dan output terlihat bahwa kernel terinstall di boot-loader, maka selamat anda telah sukses meng-compile dan meng-install kernel
 
Tips n trik compile kernel:
Jika processor anda multi-core atau SMP (Symetric Multi Processor), manfaatkan semua core untuk mempercepat proses kompilasi, yaitu dengan opsi -jn dengan n=2,3,4,… yang artinya menjalankan multiple job sebanyak n.
 
Misal ingin multiple job 4, maka perintah compile menjadi:
# make -j4 && make modules_install -j4 && make install
 
Adapun angka n, idealnya disesuaikan dengan jumlah core processor anda, misal Core i3 yaitu 2 core maka dicoba -j2, meskipun bisa saja -j4 atau lebih. Hanya saja perlu dipertimbangkan ketika compile kernel disambi aktivitas di desktop misal browsing, ya tidak perlu sampai berlebihan seperti itu.. 🙂
 
General Setup –> Local version…:
Berguna untuk penamaan kernel, string akan mengikuti versi kernel, misal anda ingin namakan kernel dengan tambahan -PAE, isikan saja di entry tersebut string “-PAE” Nanti di nama kernel akan ada tambahan “-PAE”
 
General Setup –> Kernel Compression Mode:
hanya mode/algoritma kompresi kernel
 
General Setup –> Control Group Support:
Sejak kernel 2.6.37 atau 2.6.38 ada baiknya enable saja. Ini pernah dibahas yaitu sebuah patch kode kernel yang kata om Linuz meningkatkan performa Linux secara ajaib, signifikan, terutama ketika multi-tasking
 
Processor Type and Feature –> Processor family:
optimalisasi processor berdasarkan typenya. Jika berminat, sesuakan dengan processor anda. Misal Turion X2 bisa mencoba optimalisasi K8/Athlon/Opteron, Core 2 Duo juga ada sendiri. Tapi jika ragu biarkan saja defaultnya, umumnya distro sekarang ngeset di Pentium Pro (686)
 
Processor Type and Feature –> Preemption model:
model manajemen proses, apakah diijinkan menginterupsi kode2 kernel atau tidak, atau disediakan poin2 tambahan untuk interupsi kode kernel. 
1) Server mode: Sama sekali tidak diijinkan untuk interupsi kode2 kernel.
2) Desktop: Disediakan point untuk interupsi kode kernel, mengijinkan desktop lebih responsif tapi tidak mengganggu kode kernel yang kritis. 
3) Low-latency desktop: Jika latency dan responsif adalah segalanya. Tidak disarankan jika core processor terlampau banyak, misal 4 ke atas. Justru menurunkan performa. All around ada opsi nomor 2, bagus untuk semua kondisi dan spek kompi
 
Processor Type and Feature –> High Memory Support:
Di sinilah letaknya yang dimaksud PAE, yaitu fitur yang memungkinkan arsitektur 32 bit mengalamatkan memori lebih dari 4 GB (efektif 3GB), yaitu hingga 64 GB. Jika anda tidak berniat memakai RAM besar 4 GB lebih, baiknya pilih opsi di 4 GB saja, karena kode PAE sendiri secara teori overhead performa kernel meskipun tidak signifikan. Selain itu kode PAE menyebabkan penggunaan memori pada mesin 32 bit sedikit lebih boros
 
Processor Type and Feature –> Timer Frequency:
Ada pilihan 100 Hz, 250 Hz, 300 Hz, 1000 Hz. Belum tentu 1 setingan bagus di kompi yang lain. Dan juga tergantung kebutuhan aplikasinya. Jika kompi anda tipikal server atau desktop dengan coreyang ekstra banyak (4 atau bahkan lebih), setngan timer yang terlalu tinggi justru menurunkan performa secara signifikan, saya merasakan di processor 4 core jika timer 1000 Hz justru ngelag dan performa menurun, tapi menjadi perkasa ketika timer 300 Hz, 250 Hz atau 100 Hz (tested) 🙂 
 
Tapi jika anda sering bermain di aplikasi video dan audio editing, seting minimal 300 Hz atau bahkan 1000 Hz, karena aplikasi itu butuh banyak poin interupsi untuk akurasi mengolah suara dan video. Bahkan aplikasi DCC tertentu tidak mengijinkan running jika timer terlalu rendah misal 100 Hz.

=-=-=-=-=
Powered by Blogilo

Compile dan Optimalisasi Kernel Linux