Berkenalan dengan BuildRoot

BuildRoot adalah satu set Makefile yang ditujukan untuk mempermudah membangun sebuah sistem embedded linux. Dengan BuildRoot kita bisa membangun cross-compiler toolchain, root filesystem, dan kernel image dengan sekali buat. Kita tidak perlu mengerti secara detail satu per satu proses yang dilakukan oleh BuildRoot. Mulai dari download paket yang dibutuhkan, patching, hingga kompilasi dilakukan secara otomatis oleh BuildRoot.

Perubahan mungkin sekali terjadi untuk menyesuaikan dengan sistem yang ingin kita bangun sendiri yang nantinya perubahan itu akan berbentuk sebagai satu file patch untuk diterapkan pada satu paket tertentu.

Untuk mengunduhnya, kita dapat clone BuildRoot git dengan perintah berikut:

$ git clone git://git.buildroot.net/buildroot

Atau download paket terkompresi di: http://buildroot.net/downloads/.

Untuk lebih lengkapnya, bisa kunjungi tautan berikut: http://buildroot.org/buildroot.html

Pertama-tama kita perlu mengonfigurasi buildroot dengan perintah:

make menuconfig

Kemudian akan muncul pilihan sebagai berikut:
1. Target Architecture
Adalah pilihan untuk processor family yang nantinya output dari buildroot akan dijalankan. arm, armeb, i386, mips, dll.
2. Target Architecture variant
Adalah varian tertentu dari processor yang dipilih. Terdapat beberapa perbedaan mendasar dari beberapa processor yang memiliki core sama. Misalkan dari family/core ARM terdapat beberapa macam “ordo”: arm, armeb, arm6, arm7, dll. Contoh perbedaan dari masing-masing ordo terdapat pada tipe endianness, beberapa instuksi dan fitur (armv6 vs armv7, thumb, etc), dan lain lain.

3. Target ABI
Ini hanya muncul ketika kita memilih arsitektur ARM. Saat ini ARM mendukung dua macam Application Binary Interface, yaitu OABI dan EABI (Embedded-application ABI)

4. Build Option
Di sini ditentukan metode untuk membangun sebuah sistem. Biasanya tidak diperlukan perubahan di bagian ini.

5. Toolchain
Buildroot mendukung beberapa macam toolchain, antara lain:

  • buildroot toolchain: toolchain yang dibentuk oleh buildroot dengan uClibc sebagai C library
  • External toolchain: pilihan untuk menggunakan toolchain dari luar buildroot, misalkan dari vendor board, atau provider toolchain lain seperti Code Sourcery
  • Crostool-NG toolchain: pilihan untuk menggunakan toolchain dengan metode pembuatan dari crosstool-ng. Tambahan: Crosstool-NG adalah sebuah tool yang memungkinkan kita untuk membuat sebuah custom toolchain dengan parameter sesuai keinginan kita sendiri (C library, thread implementation, dll)

6. System Configuration
Adalah pilihan untuk mengatur konfigurasi sistem dari mulai hostname, system banner, device management, serial port, dll.

7. Package Selection for the target
Di sini kita dapat memilih aplikasi apa saja yang akan kita install di target.

8. Filesystem image
Di sini kita dapat memilih format output image dari buildroot (cramfs, cloop, ext3, jffs2, ubifs, squashfs, dll)

9. Bootloaders
Pilihan bootloader yang akan kita gunakan. Barebox, U-Boot, dll

10. Kernel
Saat ini Buildroot hanya mendukung Linux kernel. Di sini kita dapat memilih versi kernel yang akan kita gunakan, patch untuk kernel bersangkutan, konfigurasi kernel, format kernel image, dll.

Setelah kita selesai konfigurasi sistem, kita tinggal memanggil perintah `make’ buildroot akan otomatis membangun sistem sesuai dengan konfigurasi kita tadi.

Pos ini dipublikasikan di Embedded, Linux, System Builder dan tag , , . Tandai permalink.

Satu Balasan ke Berkenalan dengan BuildRoot

  1. Ping balik: Membangun Mini Sistem dengan Buildroot | Embedid

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