Archive for Mei, 2010

Mei 31, 2010

Lucid Puppy (Lupu) 5.01

Lucid Puppy 5.01

Lucid Puppy 5.01

Kemarin malam, saya sempat mencoba Lucid Puppy 5.01 secara frugal di laptop.

Sebenarnya distro standar Lucid Puppy versi 5.01 ini tidak jauh beda dengan Puppy Linux 4.31 yang selama ini di laptop saya. Yang membedakannya adalah distro ini dibuat dari paket-paket dpkg uBuntu Lucid, dengan cita rasa Puppy Linux yang ringan (130MB) dan menggunakan squashfs sebagai filesystem rootnya. Barry Kauler membuat script Woof (sebagai pengganti Puppy unleashed) untuk mengembangkan distro Puppy Linux dari paket-paket distro lain: dpkg, deb, mdk dan direncanakan rpm. Woof ini ditargetkan menjadi platform untuk membuat puplet (distro puppy turunan) mulai versi 5. Seperti dikatakan Barry, woof ini merupakan terobosan yang dapat mempercepat pengembangan Puppy Linux dan menawarkan efisiensi repository. Memang masih banyak PR, diantaranya tentang dependensi paket, tapi ini secara intensif sedang dikembangkan.

read more »

Iklan
Mei 26, 2010

Menstabilkan Board GESBC-9G20

Ethernet down di Sistem Linux GESBC-9G20

Ethernet down di Sistem Linux GESBC-9G20

Memang akan sangat menyenangkan saat melihat board embedded kita dapat menjalankan sistem Linux. Saat console mengeluarkan prompt, hati bersorak: “Horee!”. Semua aplikasi yang ada di sistem Linux dapat dijalankan dengan sempurna. Tapi, setelah ‘beberapa saat’ (saya tidak tahu pasti, berapa lama), link Ethernet down. Ini berarti semua aplikasi internet akan mati. Padahal itu esensial, Duh. Saya tidak tahu kapan dan bagaimana problem itu muncul. Jadi, sekarang yang perlu dilakukan adalah menstabilkan sistem: membangkitkan error secara repetitif (bilamana itu terjadi), mengisolirnya dan memperbaikinya. Hihihi, mumet dah…. Sampai saat ini saya masih belum menemukan solusinya, mohon kalau ada yang bisa membantu.

Formulasi masalahnya adalah link ethernet seringkali down dengan pesan:

[root@gesbc-ippbx /root]# eth0: link down
nfs: server 167.205.24.118 not responding, still trying
nfs: server 167.205.24.118 not responding, still trying

Kalau beruntung, link akan up dalam waktu yang tidak bisa ditentukan. Board yang digunakan adalah GESBC-9G20 yang menggunakan prosesor Atmel AT91SAM9G20, device driver ethernet controler menggunakan macb, dan ethernet physical menggunakan Davicom DM9161AEP. Root filesystem tersimpan di server NFS Puppy Linux 4.31, jadi sistem menggunakan filesystem NFS yang termouting sebagai root /.

read more »

Mei 21, 2010

VirtualBox pet File for Puppy Linux

(id: dibuang sayang…)

Here is Innotek VirtualBox-3.1.0-55467-Linux_x86-i486.pet file for Puppy Linux 4.3.1 I made several months ago. It is only for Puppy Linux 4.3.1 because its modules are compiled against kernel-2.6.30.5 source used in 4.31 version. Unless you have same kernel version, it won’t run successfully.

Install the package. VirtualBox shortcut will be found in System menu. To run it without restart, load vbox module drivers first by typing “/etc/init.d/rc.vboxdrv start” from console. Then, run VirtualBox either from console or by clicking Sun VirtualBox menu.

Enjoy it.

VirtualBox running on My Puppy

VirtualBox running on My Puppy

Mei 21, 2010

Eclipse GUI pet File for Puppy Linux

Here is easyeclipse-cplusplus-1211-i686.pet, a GUI-based software development tools for Puppy Linux. It runs well on my Puppy Linux 4.31. It is probably OK on others version of Puppy, although I’ve not test it on them.

To install the eclipse GUI, click that pet file from Rox Filer or type “$ rox easyeclipse-cplusplus-1211-i686.pet” from shell console. Eclipse shortcut can be found at Utility menu.

Below is its snapshot:

Eclipse GUI runs on Puppy Linux

Eclipse GUI runs on Puppy Linux

Mei 20, 2010

File /etc/services

Setiap tipe aplikasi internet baik server maupun client akan menggunakan nomor port seperti yang didefinisikan dalam RFC1700 tentang sistem penomoran, misalnya aplikasi http menggunakan port 80, ftp port 21, ssh port 22, atau ntp port 123.

Namun, dalam program server atau client, seringkali lebih disukai menggunakan nama servicenya daripada memberikan nomor portnya. Konversi nama service dan asosiasi nomor portnya dilletakkan di satu file konfigurasi. Di Linux, file ini adalah /etc/services. File ini digunakan oleh semua program internet yang berjalan di sistem Linux tersebut, sehingga terstandar untuk semua aplikasi. Contoh isi file tersebut adalah:

read more »

Mei 12, 2010

Membuat file *.exe untuk Windows di Linux

Hingga kini, saya bekerja dengan menggunakan komputer Linux, mulai untuk pengolahan dokumen sampai pembuatan program, semuanya dilakukan dengan menggunakan utility dan tool development Linux.

Pembuatan program executable untuk Linux sangat lah mudah. Dengan gcc sebagai compiler (plus linker), dan sedikit script Makefile, pekerjaan tersebut dapat diselesaikan dengan cepat. Tapi, kalau kemudian harus menghasilkan program untuk berjalan di Windows?

read more »

Mei 11, 2010

8Puzzle Generator

Kok 8Puzzle terus…? :D. Hehehe, mumpung lagi panas, jadi maklum yah…

Objektif permainan 8Puzzle adalah menyusun 9 cell dari keadaan awal (disebut initial state) menjadi susunan akhirnya (goal state). Nah, kalau di permainan nyatanya, permainan ini selalu solvable (dapat dipecahkan), walaupun susunan cell (tile)-nya diacak-acak. Tapi, kalau untuk program yang kita bebas untuk menentukan initial state dan/atau goal statenya, problem bisa saja tidak terpecahkan. Sehingga kalau kita buat algoritma untuk memecahkan 8puzzle, perlu ada testset yang benar-benar bisa dipecahkan.

Saya mencoba membuat program 8puzzle generator untuk membangkitkan testset untuk menguji algoritma yang diimplementasikan di program 8puzzle. Sederhana saja sih. Programnya bisa didownload di sini (untuk Windows) dan di sini (untuk Linux). Belum ada option untuk mengubah goalstatenya. Jadi, menjalankannya langsung dari konsole (Linux/Windows) dengan “./gen8puzzle” atau “gen8puzzle.exe

read more »

Tag:
Mei 10, 2010

uImage dan Rootfs untuk AT91SAM9G20

Hari ini, saya mulai membuat image kernel (uImage) dan root filesystem untuk board GESBC9G20 dengan prosesor AT91SAM9G20.

Image kernel dibuat untuk diload di bootloader u-Boot (uImage). Versi kernel yang digunakan 2.6.27 dengan patch untuk platform prosesor AT91. Konfigurasi kernel menggunakan konfigurasi default untuk board AT91SAM9G20-EK.

Root filesystem berisi paket-paket software berikut: uClibc-0.9.30, busybox-1.12.2, hotplug scripts, udev-119, ncurses-5.3, openssl-0.9.27d, zlib-1.2.3, zaptel-1.4.12, asterisk-1.4.17 dan driver Etherbank untuk VoIP gateway yang kami kembangkan.

Untuk membuat image kernel dan root filesystem tersebut, environment software yang digunakan adalah crossbuilder. Ini environment berisi script-script bash (shell) untuk membuat toolchain, mengkompile dan linking program secara batch. Sejak tahun 2005, script diupdate terus untuk keperluan membangun sistem embedded dengan prosesor 32-bit baik x86, arm maupun mips. Dan sekarang untuk membangun ip-pbx di board AT91SAM9G20.

read more »

Mei 10, 2010

Permainan 8Puzzle dan Algoritma Best-First Search

Dalam permainan 8Puzzle terdapat 9 cell 3 x 3 yang berisi 8 kotak (selanjutnya disebut tile, T), dengan penomoran 1 sampai 8 (T1-T8), yang bisa digeser. Satu cell selalu kosong (selanjutnya disebut blank, B), dan tile yang bersebelahan dengan blank dapat digeser ke cell blank tersebut. Bisa juga dikatakan, blank digeser ke arah tile sebelahnya, yang selanjutnya penggeseran blank ini akan digunakan dalam program. Susunan tiles yang unik menunjukkan satu state. Susunan tiles awal disebut state inisial, sedangkan susunan tiles akhir disebut state tujuan. Penggeseran blank berarti menambah satu state baru. Objektif permainan adalah menggeser blank sampai ke state tujuan. Suatu algoritma pencarian diterapkan untuk mencapai objektif tersebut, seperti ditunjukkan dalam Gambar berikut:

Contoh permainan 8puzzle

Ukuran performansi algoritma pencarian yang diimplementasikan adalah sebagai berikut:

read more »

Mei 6, 2010

Unsolvable 8Puzzle

Yuk, bermain sejenak dengan 8Puzzle :). Permainan yang terdiri dari 9 cell berisi 8 tile bernomor (1-8) dan 1 blank. Tile bernomor bisa digeser ke arah blank (sel yang kosong). Objektifnya dengan susunan tile awal diinginkan susunan tile akhir. Berikut contoh permainannya:

Contoh permainan 8puzzle

Berapa langkah pergeseran tile yang perlu dilakukan? Sok cobain, utak-utik sambil latihan otak. Syaratnya jangan pakai program apapun. Hehehe….

read more »