WWW.USBINOV.COMPiranti USB untuk PC, Laptop dan Raspberry Pi.

Nyobain piCore-7.0 Yuk!

Halo, Pembaca. Ketemu lagi di Catatan Eksperimen Raspberry Pi. Kita nyobain piCore di Raspberry Pi kita yuk. Pasti menyenangkan.

Apakah piCore itu? piCore adalah sebuah distro linux untuk mikroprosesor ARM. piCore adalah versi ARM dari Tiny Core Linux, yakni distro linux berukuran mini yang ringan dan cepat. piCore-7.0 adalah versi terbaru dari distro piCore. Ukuran file image-nya sekitar 47MB saja. Belum ada apa-apanya memang, tapi desain Tiny Core Linux yang modular menjadikan kita mudah untuk menambahkan aplikasi-aplikasi (paket program) sesuai kebutuhan. Paket program pada Tiny Core Linux disebut sebagai ekstensi (extention).

Karena berukuran mini, ringan dan cepat, piCore menjadi salah satu pilihan sistem operasi terbaik untuk embedded-system berbasis ARM atau Raspberry Pi pada khususnya. Versi kernel yang yang digunakan pun versi baru. piCore-7.0 menggunakan kernel linux versi 4.1.13. Raspbian-Wheezy terbaru masih menggunakan kernel versi 3.18. Dan yang membuat saya ingin segera mencoba piCore-7.0 adalah adanya program micropython. Nah, menarik bukan?

Sebelum saya lanjutkan, mungkin ada baiknya kita sedikit mengetahui tentang Tiny Core Linux. Berikut adalah sekilas tentang Tiny Core Linux.

Tiny Core Linux

Tiny Core Linux adalah distro linux berukuran mini yang sangat ringan. Tiny Core Linux berjalan sepenuhnya di RAM. Filesystem pun ada di RAM.Instalasi paket program bisa dikatakan sebagai virtual saja karena instalasi paket program juga dilakukan di RAM, tidak secara fisik pada media penyimpanan. Oleh karena program aplikasi berada di RAM, maka proses eksekusinya juga menjadi lebih cepat. Namun demikian, karena jumlah RAM yang terbatas dan jauh lebih sedikit dibanding media penyimpan secara fisik, maka tidak banyak aplikasi yang bisa diinstalasi dan dijalankan.

Masalah keterbatasan RAM ini tentu bukan masalah, karena kita tidak hendak membuat workstation dengan Raspberry Pi dan piCore. Embedded-system berbasis Raspberry Pi tentunya hanya akan menjalankan program aplikasi yang kita buat, baik itu aplikasi desktop yang membutuhkan display (desktop) ataupun aplikasi headless (tanpa display) yang bisa diakses melalui web (web-application).

Tiny Core Linux memiliki konsep yang agak berbeda dengan distro linux pada umumnya. Tiny Core Linux lebih cocok disebut sebagai toolkit untuk mengembangkan sistem komputer berbasis linux yang sesuai dengan kebutuhan aplikasi kita. Mengapa demikian? Karena Tiny Core Linux bersifat modular. Paket program bisa diinstalasi dengan mudah. Manajemen paketnya juga mudah digunakan. Sebagai contoh, untuk melakukan instalasi paket program gcc, perintahnya adalah:

$ tce-load -wi gcc

Perintah tersebut akan mengunduh paket gcc beserta dependensinya dan melakukan instalasi di RAM. Paket program gcc tidak hilang dan tetap tersedia ketika sistem di restart.

Untuk membangun sistem aplikasi berbasis Tiny Core Linux cukup mudah. Semisal kita akan membuat sistem kontrol suhu dengan fitur-fitur sebagai berikut:

  • membaca sensor melalui port USB
  • menampilkan suhu target dan suhu aktual pada display (monitor/lcd)
  • melakukan logging
  • pengesetan parameter bisa di remote menggunakan infra merah atau web browser
  • mengontrol pemanas melalui port USB

maka kita bisa menggunakan Tiny Core Linux dan kemudian menambahkan paket-paket program dan/atau library-library yang kita butuhkan, antara lain: X11, SQLite3, LIRC, LibUSB dan websocketd (atau web server seperti apache dan nginx). Program aplikasinya bisa kita buat menggunakan bahasa pemrograman apapun.

Lha kalau begitu saja ya sama saja dengan distro-distro linux lain …

Iya juga sih, tapi yang bikin beda adalah, dengan Tiny Core Linux, kita bisa atur sendiri ekstensi-ekstensi apa saja yang diinstalasi ketika booting. Oleh karenanya Tiny Core bisa sangat optimal bekerja pada platform yang kita gunakan dengan segala batasan-batasan yang dimiliki platform tersebut. Untuk kebutuhan contoh aplikasi sistem kontrol suhu tersebut, kita cukup menggunakan microSD berukuran kecil saja (2GB sudah terlalu besar).

By The Way, saya memiliki sebuah komputer khusus untuk belajar Tiny Core Linux. Komputer yang saya gunakan adalah Intel Pentium-4 dengan 2GB RAM. Komputer ini tanpa hard-disk dan booting melalui microSD 8GB yang tertancap pada USB Card Reader. Sejauh yang saya pelajari dengan menggunakannya, Tiny Core Linux memang ringan dan cepat. Tiny Core Linux juga mudah digunakan. Instalasi paket programnya juga gampang. Saya menggunakan komputer Tiny Core saya untuk berbagai keperluan antara lain:

  • belajar linux dan pemrograman
  • memrogram mikrokontroler AVR
  • memrogram board mikrokontroler sejuta umat ARDUINO
  • browsing dan web testing
  • me-remote Raspberry Pi, baik SSH maupun Remote Desktop

Simak screenshot berikut ini. (Ingat ya : Pentium-4, 2GB RAM, 8GB microSD).

Tiny Core Linux

Nah, lumayan kan?

piCore

piCore juga berjalan sepenuhnya di RAM. piCore mempunyai 2 mode pengoperasian yakni:

  1. Cloud (Internet) Mode
  2. Mounted Mode

Mode pertama (Cloud) adalah mode default. Pada mode ini, Raspberry Pi wajib terkoneksi dengan internet. piCore berjalan sepenuhnya di RAM. Instalasi program dan data yang tercipta selama sistem berjalan akan hilang ketika direset. Untuk menjalankan Raspberry Pi dengan piCore pada mode Cloud, yang diperlukan hanyalah microSD dengan image piCore.

Mode pengoperasian kedua (Mounted) menggunakan microSD sebagai media penyimpan data. Pada mode ini, program yang di download dan diinstalasi akan disimpan pada partisi pada microSD dan akan tetap tersedia pada saat piCore di restart. Adapun data-data yang tercipta selama sistem berjalan akan hilang kecuali dilakukan penyimpanan secara manual atau secara otomatis menggunakan skrip.

Instalasi piCore

Pertama-tama, download image piCore-7.0 melalui link berikut ini:

http://tinycorelinux.net/7.x/armv6/releases/RPi/piCore-7.0.zip

Selanjutnya, ekstraksi dan tulis file image piCore-7.0.img pada microSD menggunakan program seperti Win32 Disk Image atau Rufus.

picore rufus

Setelah microSD siap, tancapkan pada slot SD Card pada Raspberry Pi dan nyalakan. Lalu jalankan program putty untuk me-remote Raspberry Pi menggunakan SSH.

> putty tc@192.168.1.102

Username dan password piCore adalah “tc” dan “piCore” (tanpa “”).

picore ssh

Nah, piCore sudah siap dan siap dikustomisasi untuk aplikasi.

Partisi SD Card piCore

piCore memiliki 2 buah partisi yakni:

  • /mnt/mmcblk0p1
  • /mnt/mmcblk0p2

Partisi pertama (mmcblk0p1) adalah partisi dengan tipe VFAT (Win95). Partisi ini berisi sistem piCore dan bootloader, firmware dan file-file dasar sistem operasi linux lainnya. Partisi tidak di mount pada saat piCore berjalan. Sistem yang berjalan tidak lagi menggunakan partisi ini dan tidak pernah ada proses penulisan ke partisi ini.

Partisi kedua (mmcblk0p2) adalah partisi yang berisi program server SSH (supaya Raspberry Pi bisa diremote via SSH) dan Midnight Commander. Partisi ini berukuran sangat kecil, hanya beberapa MB saja. Jika kita mengoperasikan piCore dengan mode Mounted, maka partisi ini perlu kita ekspansi dulu agar ukurannya maksimal. Caranya adalah sebagai berikut.

  1. Gunakan program fdisk untuk menghapus partisi kedua dan membuatnya kembali dengan ukuran maksimal.
    $ sudo fdisk -u /dev/mmcblk0
  2. Tampilkan daftar partisi dengan tombol perintah ‘p’, kemudian catat alamat awal sector dimana partisi kedua ini diawali. Catat, jangan gak dicatat. Catatan saya adalah 69648.
  3. Hapus partisi kedua, caranya tekan tombol ‘d’ kemudian tombol ‘2’.
  4. Buat kembali partisi kedua dengan perintah ‘n’, kemudian ‘p’ (primary partition) dan ‘2’. Masukkan nilai awal sektor yang tadi dicatat (69648) dan selanjutnya tekan ENTER saja untuk akhir sektor untuk mendapatkan kapasitas maksimum.
  5. Tekan ‘w’ untuk menuliskan perubahan yang dilakukan dan reboot.
  6. Setelah reboot, ekspansi filesystem dengan perintah:
    $ sudo resize2fs /dev/mmcblk0p2
  7. Selesai, sekarang kita bisa menggunakan seluruh kapasitas SD Card.

picore_p2

onboot.lst

File onboot.lst berisi daftar ekstensi yang akan diinstalasi ketika piCore booting. Daftar ekstensi yang ada dalam file ini hanya 2 yakni mc.tcz (Midnight Commander) dan openssh.tcz. Kita bisa mengedit file ini sehingga paket-paket program yang kita butuhkan untuk aplikasi secara otomatis diinstalasi ke RAM pada saat booting.

GUI piCOre

Untuk menginstalasi paket GUI piCore, caranya sangatlah gampang. Hanya butuh satu perintah saja, yakni:

$ tce-load -wi TC

Secara otomatis piCore akan mengunduh semua file yang dibutuhkan dan melakukan instalasi di RAM. Setelah selesai, kita bisa masuk mode GUI dengan perintah:

$ startx

Dan selanjutnya, piCore akan otomatis masuk mode GUI ketika reboot.

Anda bisa menginstalasi ekstensi-ekstensi lain yang Anda butuhkan dengan perintah tce-load -wi. Daftar ekstensi dapat dibaca di alamat berikut ini:

http://tinycorelinux.net/7.x/armv6/tcz.

micropython

micropython sangat menarik tapi saya belum sempat mempelajarinya. Yang saya ketahui adalah micropython digunakan pada board bernama pyboard. Saya belum berhasil mengakses GPIO Raspberry Pi dengan micropython. Mungkin lain kali jika sudah bereksperimen dan berhasil, saya akan berikan catatannya melalui blog ini.

Backup/Restore

Telah disampaikan sebelumnya bahwa piCore menjalankan seluruh sistem dari RAM. Filesystem pun terletak di RAM. Data yang tercipta di RAM selama sistem berjalan akan hilang jika tidak disimpan ke partisi sdCard.

piCore memiliki utilitas untuk keperluan backup dan restore. Nama file utilitas tersebut adalah filetool.sh.

Untuk menyimpan data (backup) digunakan perintah:

$ filetool.sh -b

Data akan disimpan menjadi file backup pada direktori:

/mnt/mmcblk0p2/tce/mydata.tgz

Dan untuk mengembalikan data (restore) digunakan perintah:

$ filetool.sh -r

Nah, demikianlah pengantar tentang piCore – sistem operasi alternatif untuk Raspberry Pi. Semoga bisa menambah wawasan kita semua.

Terima kasih sudah membaca dan selamat berkarya.

Add a Comment

Your email address will not be published. Required fields are marked *