Belajar Embedded Linux

Darimana harus mulai belajar embedded Linux? Bagaimana memasukkan Linux ke dalam Compact Flash? Bagaimana meletakkan program aplikasi kita di atas embedded Linux? Beberapa pertanyaan tersebut mungkin muncul saat kita ingin mengimplementasikan Linux ke board embedded atau menghendaki sistem Linux yang kecil. Bisa jadi requirement yang diminta sudah tidak cukup lagi untuk diimplementasikan di desain kita sebelumnya (misalnya yang berbasis mikrokontroler) dan kita ingin berpindah ke sistem dengan resource yang lebih mencukupi. Mungkin banyak hal lain yang memotivasi atau menjadi visi produk kita.

Singkat aja, seperti belajar yang lainnya, belajar embedded Linux perlu tahu teori dan prakteknya🙂. Teori yang cukup bisa membantu adalah buku (atau e-book) Building Embedded Linux System (BELS) dari Karim Yaghmour. Cukuplah untuk membantu mengerti tentang konsep membangun sistem Linux, konsep kernel (dan modul), root filesystem, toolchain, bootloader dan debugging. Bagaimana mulai menyiapkan environment untuk membangun sistem Linux sampai konfigurasi sistem Linux untuk target dijelaskan di sini.

Untuk hal praktis, paling mudah adalah membaca LFS (Linux From Scratch) dan BLFS atau ALFS, dokumennya lengkap. Cukup membantu untuk mengerti bagaimana membangun linux sendiri dari scratch. Tapi, ini hanya dalam kasus Native Linux, yang artinya hanya bisa membangun sistem Linux untuk arsitektur target yang sama dengan arsitektur untuk membangunnya (contoh, membangun Linux di Pentium 3 (x86) untuk dijalankan di Pentium 3 juga). Dokumentasi kernel, library dan aplikasi apa yang diperlukan dan akan dibangun, diterangkan di sini secara gamblang.

Jump ke yang lebih praktis lagi adalah ke uclibc dan ambil buildroot. Itu toolchain untuk membangun sistem Linux menggunakan pustaka uClibc (versi libc untuk embedded system). Beberapa rutin pustaka dari glibc distrip untuk menghasilkan library yang kecil. Sistem dengan uClibc dipasangkan dengan Busybox sebagai utility Linux utamanya untuk menghasilkan sistem Linux kecil. Program Telnet sudah ada di Busybox. Network kernel, library kernel tcp-ip, dan pustaka tcp-ip sudah ada di kernel + uClibc. Aplikasi tinggal menggunakan API yang disediakan.
Ada juga embedded Configurable Operating System/ eCos yang cukup populer juga.

Kenapa perlu sistem Linux yang kecil? Kadangkala konstrain yang ada di board kita terbatas: kecepatan prosesor, memori dan storage. Sistem embedded Linux akan muat di storage yang kecil (misalnya Compact Flash, bahkan NOR flash yang di bawah 1 MB), bisa berjalan di RAM terbatas (16MB atau 32MB) dan di prosesor dengan kecepatan 200 MHz dengan nyaman. Sehingga jika requirement dari desain mulai meningkat, yang tidak bisa lagi ditangani oleh sistem mikrokontroller 8-bit, cobalah mulai melirik sistem embedded Linux ini.

7 Responses to “Belajar Embedded Linux”

  1. thanks atas info nya bung edw.
    kalo ada apa2 selama proses pembelajaran, saya
    akan kontak bung edw.

  2. salam kenal pak.. blog nya sangat berkesan bagi saya
    saya ingin bertanya pak, apakah ada teknik untuk mengecek koneksi fresh board embedded system dengan ARM proc untuk memastikan koneksi jalur2 di PCB antara proc, flash, RAM, konektor JTAG/serial dan yg lainnya berjalan dengan baik, mksd saya sebelum kita burn bootloader, kernel image dan ramdisk ke flash nya begitu. Terimakasih banyak pak.

    • Saya biasanya inspeksi hard dulu menggunakan mikroskop. Lihat apakah jalurnya putus atau malah bridging dengan jalur lain. Untuk konektor jtag, program jtag programmer bisa mendeteksi apa tipe jtag bs-nya.

  3. Saya coba untuk mengambil ebook Building Embedded Linux System (BELS) kok link ny ga bisa ya?

    mohon bantuan dan penjelasan. saya ingin sekali belajar linux embedded ini

    terima kasih

  4. sangat menarik pak.. kalo boleh tau lebih lengkapnya judul bukunya apa.?

Trackbacks

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: