Satu lagi hasil ngoprak-ngoprek gak jelas, tapi lumayan nambah ilmu. Tutorial yang udah cukup lama, jadi mungkin aja kadaluarsa. Feel free untuk koreksi ya. Enjoy!
-- Tutorial starts here --
I. Pendahuluan
Linux Angstrom adalah sebuah distribusi linux yang dikembangkan secara spesifik untuk komputer-komputer kecil seperti BeagleBoard-xM. Cara yang paling cepat untuk menjalankan Linux Angstrom adalah dengan menggunakan microSD yang disertakan dalam paket BeagleBoard-xM. MicroSD yang disertakan ini sebenarnya sudah berisi Linux Angstrom, akan tetapi yang disertakan hanyalah Linux Angstrom versi verifikasi. Dengan kata lain, Linux Angstrom versi ini hanya dapat digunakan untuk melakukan verifikasi terhadap seluruh sistem BeagleBoard-xM. Linux versi ini tidak mempunyai graphical user interface (GUI) dan melakukan seluruh pekerjaan seperti sebuah RAM; sehingga semua perubahan yang dilakukan terhadap Linux Angstrom akan hilang.
MicroSD yang disertakan terdiri dari sebuah partisi File Allocation Table (FAT) yang besarnya kira-kira 117MB, sedangkan sisanya tidak terformat (kapasitas microSD yang disertakan adalah 4GB). Partisi yang sudah diformat berisi beberapa file sebagai berikut:
a. Boot loaders X-loader (MLO) dan U-boot (u-boot.bin)
b. Kernel Linux (uImage)
c. Boot script (user.scr)
d. RAM disk root file system (ramdisk.gz)
e. md5sum file, untuk pengecekan file
Agar kita dapat menggunakan semua fitur yang dimiliki Linux Angstrom, kita harus membuat sebuah file system Linux Angstrom baru agar mendapatkan akses root dan juga kernel. Pada bagian selanjutnya akan dijelaskan bagaimana mendapatkan image Linux Angstrom yang dibutuhkan dan cara melakukan boot dari image tersebut.
II. Mempersiapkan Beagleboard-xM dan Host (PC/Laptop)
Perhatikan bahwa Beagleboard-xM tidak mendukung sistem plug and play, jadi hubungkan semua perangkat tambahan ke Beagleboard-xM (kecuali port serial boleh terakhir) sebelum menghidupkan Beagleboard-xM.
Linux Angstrom pada BeagleBoard-xM dapat dijalankan sebagai client dan PC/Laptop sebagai host. Keduanya dijalankan sebagai client dan host menggunakan port Serial yang terdapat pada BeagleBoard-xM dan port USB pada host. Untuk itu diperlukan sebuah kabel penghubung dari port USB ke port Serial.
Untuk host, diperlukan sebuah software agar dapat membaca perangkat yang terhubung dengan port USB-Serial, dan semua aktivitas perangkat tersebut (dalam hal ini BeagleBoard-xM) akan ditampilkan dan dikendalikan melalui terminal atau konsol. Untuk sistem operasi Microsoft® Windows®, dapat menggunakan Hyperterminal atau PuTTy. Untuk pengguna Linux dapat menggunakan minicom, seperti yang akan ditampilkan pada contoh dibawah. Sedangkan untuk pengguna Mac dapat menggunakan screen, ZTerm, atau MacWise.
Bagi pengguna Linux yang belum memiliki minicom, jalankan perintah dibawah ini dan masukkan password jika diminta. Pastikan PC/Laptop telah tersambung dengan network/internet.
sudo apt-get install minicom
Setelah minicom terinstal, hubungkan kabel penghubung USB-Serial ke host melalui port USB pada host dan ke BeagleBoard-xM melalui port Serial. Setelah itu jalankan perintah ls /dev/ untuk mengetahui nama perangkat yang akan dihubungkan melalui port Serial. Catat nomor ttyUSBn yang ditampilkan pada konsol.
febrian@ubuntu:~$ ls /dev/
agpgart fuse mem ram13 sda1 tty12 tty28 tty43 tty59 usbmon0 vcsa2
autofs hidraw0 net ram14 sda2 tty13 tty29 tty44 tty6 usbmon1 vcsa3
block hidraw1 network_latency ram15 sda3 tty14 tty3 tty45 tty60 usbmon2 vcsa4
bsg hpet network_throughput ram2 sda4 tty15 tty30 tty46 tty61 usbmon3 vcsa5
btrfs-control input null ram3 serial tty16 tty31 tty47 tty62 usbmon4 vcsa6
bus kmsg oldmem ram4 sg0 tty17 tty32 tty48 tty63 usbmon5 vcsa7
char log pktcdvd ram5 shm tty18 tty33 tty49 tty7 v4l vga_arbiter
console loop0 port ram6 snapshot tty19 tty34 tty5 tty8 vcs video0
core loop1 ppp ram7 snd tty2 tty35 tty50 tty9 vcs1 zero
cpu loop2 psaux ram8 stderr tty20 tty36 tty51 ttyS0 vcs2
cpu_dma_latency loop3 ptmx ram9 stdin tty21 tty37 tty52 ttyS1 vcs3
disk loop4 pts random stdout tty22 tty38 tty53 ttyS2 vcs4
dri loop5 ram0 rfkill tty tty23 tty39 tty54 ttyS3 vcs5
ecryptfs loop6 ram1 root tty0 tty24 tty4 tty55 ttyUSB0 vcs6
fb0 loop7 ram10 rtc tty1 tty25 tty40 tty56 uinput vcs7
fd mapper ram11 rtc0 tty10 tty26 tty41 tty57 urandom vcsa
full mcelog ram12 sda tty11 tty27 tty42 tty58 usb vcsa1
Setelah mengetahui alamat ttyUSBn, jalankan minicom menggunakan perintah di bawah ini.
sudo minicom -s
List di bawah menampilkan contoh tampilan konfigurasi minicom.
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
Pilih Serial port setup yang akan menampilkan sub-menu seperti di bawah ini (setiap konfigurasi sub-menu dapat berbeda-beda).
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyS0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : Yes |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
Buatlah agar sub-menu tersebut memiliki konfigurasi seperti di bawah ini. Perhatikan bahwa nomor ttyUSB tergantung pada nomor yang didapat dari tahap sebelumnya!
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
Setelah yakin semua konfigurasi telah benar, maka simpan konfigurasi ini sebagai default dengan cara memilih pilhan Save setup as dfl lalu keluar dengan memilih Exit. Maka pada konsol akan muncul tampilan minicom seperti di bawah ini.
Welcome to minicom 2.4
OPTIONS: I18n
Compiled on Jun 3 2010, 13:46:31.
Port /dev/ttyUSB0
Press CTRL-A Z for help on special keys
Untuk memastikan, nyalakan BeagleBoard-xM (kabel yang terhubung dengan BeagleBoard-xM hanya kabel power dan kabel Serial, jangan ada yang lain) dan tekan sembarang tombol pada keyboard untuk menghentikan hitungan mundur autoboot. Pesan boot-loader akan menampilkan versi X-Loader dan U-boot, tanggal pembuatan, dan lain-lain. Tampilan pada konsol minicom akan seperti di bawah ini.
Texas Instruments X-Loader 1.4.4ss (Jan 4 2011 - 12:38:07)
Beagle xM Rev A
Reading boot sector
Loading u-boot.bin from mmc
U-Boot 2010.03 (Jan 04 2011 - 12:38:02)
OMAP3630/3730-GP ES2.0, CPU-OPP2, L3-165MHz,
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MB
NAND: 0 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
Probing for expansion boards, if none are connected you'll see a harmless I2C error.
No EEPROM on expansion board
Beagle xM Rev A
Die ID #45e600011ff00000015739eb0801f02b
Hit any key to stop autoboot: 0
OMAP3 beagleboard.org #
Apabila tampilan sudah seperti di atas, maka host dan BeagleBoard siap digunakan.
III. Tahapan-tahapan Membuat MicroSD Bootable Linux Angstrom
Bagian ini menjelaskan bagaimana mendapatkan image Linux Angstrom yang dibutuhkan dan juga bagaimana melakukan boot dari image tersebut. Disarankan untuk membaca bagian ini terlebih dahulu sampai mengerti urutannya (jangan mencoba sambil membaca), karena apabila urutannya salah maka harus dimulai lagi dari awal.
Berikut adalah tahapan-tahapan membuat microSD bootable Linux Angstrom.
- Mengunduh file-file berikut dari http://www.angstrom-distribution.org/demo/beagleboard/
a. mkcard.txt
b. MLO
c. u-boot.bin
d. Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
- Masukkan microSD dengan kapasitas minimal 4GB (disarankan), dan tentukan nama dari microSD tersebut. Sebagai contoh, jika Anda menggunakan memory card reader, gunakan perintah fdisk dan carilah perangkat yang memiliki karakteristik yang sama dengen microSD yang digunakan. Contoh dibawah ini adalah /dev/sdb :
febrian@ubuntu:~# fdisk –l
...
Disk /dev/sdb: 1977 MB, 1977614336 bytes
255 heads, 63 sectors/track, 240 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 9 72261 c W95 FAT32 (LBA)
/dev/sdb2 10 240 1855507+ 83 Linux
- Unmount semua partisi yang dimiliki microSD. Gunakan nama perangkat dari microSD dan perintah di bawah ini:
sudo umount /dev/sdb?
- Format microSD card meggunakan mkcard.txt yang telah diunduh. Gunakan nama perangkat dari microSD dan perintah di bawah ini:
chmod +x mkcard.txt
sudo ./mkcard.txt /dev/sdb
Catatan: Jangan sampai salah dalam melakukan format. Jangan sampai yang diformat adalah file system.
Apabila proses format telah selesai, maka Anda akan mendapatkan sebuah microSD yang memiliki dua buah partisi:
a. Sebuah partisi FAT berkapasitas 70MB yang diberi label boot.
b. Sebuah partisi ext3 berlabel Angstrom yang berkapasitas seluruh sisa dari microSD.
Seluruh sisa tutorial ini mengasumsikan bahwa partisi yang dimiliki oleh microSD adalah
/media/boot
dan /media/Angstrom
.
- Unpack file Angstrom-Beagleboard.....tar.bz2 kedalam partisi
/media/Angstrom
(perintah ini memakan cukup banyak waktu).
sudo tar -C /media/Angstrom –xjvf Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
- Pindahkan file-file berikut ke partisi
/media/boot
secara berurutan (folder kernel dari partisi/media/Angstrom
adalah kosong).
cp MLO /media/boot
cp u-boot.bin /media/boot
cp /media/Angstrom/boot/uImage /media/boot
- Setelah semua operasi selesai dilakukan, sinkronisasi file system dan unmount microSD.
sync
sudo umount /dev/sdb?
- Masukkan microSD kedalam BeagleBoard-xM dan nyalakan.
Catatan: Apabila saat melakukan boot pertama kali terjadi error seperti ini:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block...
Restart BeagleBoard beserta sistem, hentikan hitungan mundur auto boot, dan ketikkan perintah berikut.
setenv mmcroot /dev/mmcblk0p2 rw
boot
Ketika melakukan boot pertama kali, sistem membutuhkan beberapa saat untuk melakukan konfigurasi terhadap sistem secara otomatis. Apabila BeagleBoard-xM terhubung dengan sebuah monitor menggunakan port video output (baik itu DVI-D Connector atau S-Video Connector), maka proses ini akan menampilkan logo Angstrom, sedangkan pada konsol akan menampilkan setiap komponen yang dikonfigurasi. Setelah sekitar 10 menit, maka akan muncul layar login Angstrom pada monitor dan sebuah prompt boot pada konsol. Gunakan layar login untuk membuat sebuah pengguna baru dan log-in, atau dapat pula log-in pada konsol sebagai root (tanpa password). Tampilan konsol (gunakan minicom dan port Serial pada BeagleBoard-xM) pada saat melakukan login diperlihatkan di bawah ini.
.-------.
| | .-.
| | |-----.-----.-----.| | .----..-----.-----.
| | | __ | ---'| '--.| .-'| | |
| | | | | |--- || --'| | | ' | | | |
'---'---'--'--'--. |-----''----''--' '-----'-'-'-'
-' |
'---'
The Angstrom Distribution beagleboard ttyS2
Angstrom 2010.7-test-20110104 beagleboard ttyS2
beagleboard login: root
root@beagleboard:~#
IV. Beberapa Hal yang Perlu Diketahui
Bagian ini akan menjelaskan beberapa hal penting yang perlu diketahui setelah berhasil melakukan boot Linux Angstrom pada BeagleBoard-xM. Untuk pengguna yang beru pertama kali menggunakan BeagleBoard-xM dan Linux Angstrom, tidak ada salahnya untuk membaca bagian ini.
1. Menambahkan Password pada Pengguna
Untuk menambahkan password pada sebuah pengguna, dapat menggunakan baris perintah dibawah ini.
passwd
password2. Menambahkan Pengguna Baru
Untuk menambahkan pengguna baru, dapat menggunakan baris perintah dibawah ini.
useradd
userBaru3. Melakukan Baris Perintah dengan Akses Root (saat menggunakan pengguna selain root)
Bagi yang sudah pernah berinteraksi dengan Ubuntu, pasti sedikit kebingungan saat akan melakukan baris perintah dengan akses root. Biasanya pada Ubuntu hal ini dapat dilakukan dengan menggunakan perintah
sudo
, namun perintah ini secara default tidak tersedia pada Angstrom. Sayangnya, mengkonfigurasi perintah sudo
pada Angstrom cukup sulit, sehingga trik yang biasa dilakukan adalah tetap bekerja pada pengguna root (yang otomatis mendapatkan akses root), atau berpindah dari pengguna biasa ke pengguna root dengan memasukkan perintah dibawah ini (masukkan password root saat diperintahkan, bukan password pengguna seperti Ubuntu). su
-
4. Instalasi Software dan Manajemen Package
Seperti pada distribusi Linux lainnya, Angstrom menyediakan sebuah cara standar untuk mengatur software pada sistem, yaitu menggunakan Package Manager yang memungkinkan pengguna untuk melakukan instalasi software yang khusus telah disediakan untuk Angstrom dari local storage dan network repositories. Selain itu pengguna juga dapat menghapusnya sesuai kebutuhan, mencari yang dibutuhkan, dan lain sebagainya.
Angstrom adalah distribusi Linux yang mirip dengan Debian. Akan tetapi, bukannya menggunakan
apt
untuk melakukan manajemen package, Angstrom menggunakan opkg
. Catat bahwa yang terbaik saat melakukan manajemen package adalah menggunakan perintah opkg
dan tidak mengutak-atik file perintah tersebut. Berikut ini adalah beberapa trik yang penting untuk diketahui.a. Memperbarui Sistem atau Package (via Network)
opkg
updateopkg
upgradePerintah update akan mengunduh seluruh daftar package yang disediakan oleh jaringan resmi Angstrom. Sedangkan perintah upgrade akan memperbarui seluruh sistem dan software yang telah diinstal ke dalam Angstrom.
Catatan: Kedua perintah di atas sangat direkomendasikan saat baru pertama kali melakukan boot Linux Angstrom.
b. Mencari Package (via Network)
opkg
search kataKunciatau
opkg
list | grep kataKuncic. Mendapatkan Deskripsi Package
opkg
info packagenamed. Menginstal Package (via Network)
opkg
install namaPackageCatatan: Seluruh package lain yang diperlukan oleh package XYZ secara otomatis akan terinstal pula.
e. Menginstal Package (via Local Filesystem)
opkg
install /dir/dir/namaPackage.ipkCatatan: Package lain yang diperlukan oleh package XYZ tidak secara otomatis terinstal.
f. Menginstal Package yang Mengalami Konflik
Tidak seperti Ubuntu, Angstrom tidak secara otomatis menghapus package-package yang mengalami konflik. Apabila instalasi mengalami error akibat konflik, maka yang dapat dilakukan adalah menghapus terlebih dahulu package atau (cara terakhir) memakai baris perintah di bawah ini.
opkg
install namaPackage --force-overwriteg. Menghapus Package
opkg
remove namaPackagePetunjuk: Tambahkan perintah --recursive untuk menghapus seluruh package yang saling berhubungan/bergantungan. Hati-hati!
Catatan: Apabila penghapusan package gagal karena daftar package yang saling berhubungan/bergantungan terlalu banyak, dan yakin kesemuanya tidak akan dipakai lagi, maka bisa menggunakan perintah di bawah ini.
opkg remove namaPackage --force-removal-of-dependent-packages
h. Mendapatkan Daftar Seluruh Package yang Telah Diinstal pada Sistem
opkg
list_installedV. Referensi
BeagleBoard-xM System Reference Manual Revision A2. http://beagle.s3.amazonaws.com/design/xM-A/BB_xM_SRM_A2_01.pdf
BeagleBoard-xM System Reference Manual Revision A3. http://beagle.s3.amazonaws.com/design/xM-A3/Beagle_SRM_xM_A3_0.pdf
http://www.bidorbuy.co.za/item/21632891/USB_2_0_TO_RS232_SERIAL_DB9_9_PIN_ADAPTER_CABLE.html
-- Tutorial ends here --
Sip, tutorialnya udah beres. Selamat mencoba! :D PS: Yang sabar ngopreknya ya.. :)
-- Tutorial ends here --
Sip, tutorialnya udah beres. Selamat mencoba! :D PS: Yang sabar ngopreknya ya.. :)
This comment has been removed by the author.
ReplyDelete