noprianto
noprianto
. 10 min read

Installasi Raspberry Pi

Bismillah,
Siapa yang tidak kenal dengan raspberry, sebuah komputer mini dengan kemampuannya yang hampir mendekati dengan komputer pada umumnya. Dengan ukuran yang kecil dan harga yang terjangkau sehingga sangat praktis jika digunakan, baik digunakan untuk kepentingan akademik ataupun industrial

Kebetulan saya baru beli raspberry untuk belajar computer vision di online shop, setelah mencari-cari saya memilih fullset raspberry pi 3 B + sehingga tinggal dicolokan terus bisa digunakan tanpa perlu beli komponen yang lain. Untuk detail spesifikasi raspberry tersebut bisa ngecek di official websitenya. Beberapa point yang perlu dilakukan untuk melakukan installasi adalah sebagai berikut;

Install OS raspberry pi

Sebenarnya ketika saya membeli sudah termasuk OS, tapi saya masih kurang puas untuk jika tidak melakukan sendiri. Infonya dari penjual OS yang sudah terinstall adalah raspbian desktop exclude software, yang akan saya install masih sama yaitu raspbian dekstop include software. Raspbian merupakan OS official dari raspberry, sebenarnya masih bisa memiliki OS yang lain jika temen-temen ingin mencobanya. Daftarnya bisa dicek di website raspberry. Setelah download OS selanjutnya adalah install OS ke microSD, cek terlebih dahulu microSD tersebut terletak dilokasi mana. Saya menggunakan mac OS

diskutil list

outputnya

/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *250.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 199.8 GB disk0s2
3: Apple_HFS DATA 49.9 GB disk0s3

/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +199.8 GB disk1
Physical Store disk0s2
1: APFS Volume OD3NG 101.7 GB disk1s1
2: APFS Volume Preboot 23.0 MB disk1s2
3: APFS Volume Recovery 509.8 MB disk1s3
4: APFS Volume VM 1.1 GB disk1s4

/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.9 GB disk2
1: Windows_FAT_32 boot 46.0 MB disk2s1
2: Linux 15.9 GB disk2s2

Dari output di atas ditampilkan bahwa MicroSD terletak pada /dev/disk2 dengan type Windows_FAT_32

kemudian unmount disk tersebut agar bisa dilakukan copy file image ke MicroSD

diskutil unmountDisk /dev/disk2

Langkah yang terakhir adalah melakukan copy file image yang sudah didownload sebelumnya ke MicroSD, jangan lupa menambahkan r pada alamat disknya.

$ sudo dd bs=1m if=Downloads/2018-11-13-raspbian-stretch-full.img of=/dev/rdisk2

5052+0 records in
5052+0 records out
5297405952 bytes transferred in 388.597547 secs (13632114 bytes/sec)

Sampai langkah di atas sebenarnya sudah selesai untuk proses installasi, kemudian gimana caranya mengakses raspberry yang sudah terinstall? Karena saya tidak memiliki keyboard dan mouse apalagi monitor atau istilahnya headless raspberry, caranya adalah dengan melakukan remote raspberry tersebut dengan mengaktifkan ssh. Buat terlebih dahulu file ssh tanpa ekstensi pada direktori boot MicroSD, ketikan perintah di bawah ini melalui terminal

touch /Volumes/boot/ssh

Konfigurasi network

Raspberry pi 3 B+ sudah ditanamkan wifi untuk melakukan koneksi, raspberry tersebut akan coba saya konekan ke modem mifi agar ipnya gampang kita ketahui tetapi misalkan akan dikonekan ke jaringan yang lebih luas kita harus masuk ke router atau menggunakan tool untuk mengetahui ip yang terdapat pada raspberry kita. Raspberry bisa kita setting wifinya untuk konek ke apn tertentu tanpa harus masuk ke raspberry terlebih dulu, perintah yang dapat digunakan adalah sebagai berikut

vim /Volumes/boot/wpa_supplicant.conf

Sebenarnya tidak harus menggunakan vim, silakan menggunakan editor teks favorit. Tetapi intinya adalah membuat file wpa_supplicant.conf dengan isi file seperti di bawah ini

country=ID
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="Noureen Cell"
psk="lepengdados"
}

Pada bagian ssid dan psk silakan diisikan sesuai dengan nama SSID dan password SSID yang digunakan. Sampai langkah ini selanjutnya kita akan login ke raspberry yang telah kita setting. Jangan lupa untuk meng-unmount MicroSD agar lebih aman menggunakan perintah yang telah kita gunakan di atas

diskutil unmountDisk /dev/disk2

Masuk ke raspberry pi

Setelah kita melakukan instalasi dengan OS raspberry yang terbaru dan mengkonfigurasi, selanjutnya kita akan mencoba raspberry. Seperti yang sudah saya sampaikan di atas bahwa, saya menggunakan modem mifi sehingga sangat mudah untuk mengetahui ip dan mac address raspberry tersebut. Langsung saja kita remote menggunakan ssh, untuk user default raspberry adalah pi dan password yang digunakan raspberry

$ ssh pi@192.168.8.102
The authenticity of host '192.168.8.102 (192.168.8.102)' can't be established.
ECDSA key fingerprint is SHA256:Qg/ZqSPIK3lthUUato2/sfEROurKDb5n0PvscSUJLQU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.8.102' (ECDSA) to the list of known hosts.
pi@192.168.8.102's password:
Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Nov 13 14:24:53 2018
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
pi@raspberrypi:~ $

Mengubah Timezone

Coba ketikkan perintah di bawah ini

pi@raspberrypi:~ $ date
Sat Mar 30 15:35:32 GMT 2019

Coba bandingkan dengan jam Anda saat ini, ya tentunya akan selisih sekitar 7 jam. Akan kita ubah sehingga menggunakan GMT+7 dengan perintah di bawah ini, nanti akan muncul dialog untuk menentukan lokasi. Pilih saja Asia untuk benua, dan Jakarta untuk daerahnya.

pi@raspberrypi:~ $ sudo dpkg-reconfigure tzdata
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_CTYPE = "UTF-8",
	LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory

Current default time zone: 'Asia/Jakarta'
Local time is now:      Sat Mar 30 22:44:01 WIB 2019.
Universal Time is now:  Sat Mar 30 15:44:01 UTC 2019.

Update dan Upgrade

Walaupun kita sudah download OS terbaru dari official website raspberry tapi biasanya ada beberapa paket yang dibutuhkan untuk dilakukan update. Langkah yang dapat dilakukan bisa menggunakan perintah di bawah ini

sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get autoclean && sudo reboot

Passwordless login

Sesuai dengan namanya, ketika login ke raspberry kita tidak perlu memasukkan username dan password asalkan public key laptop atau komputer sudah terdaftar. Cara mendaftarkan public key tersebut adalah sebagai berikut

$ ssh-copy-id pi@192.168.8.102
/usr/bin/ssh-copy-id: ERROR: No identities found

Jangan kwatir dengan pesan error tersebut, hal tersebut terjadi karena belum ada public key pada laptop atau komputer kita. Untuk membuatnya dapat menggunakan perintah di bawah ini

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/od3ng/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/od3ng/.ssh/id_rsa.
Your public key has been saved in /Users/od3ng/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:1Q85t2R/XMSKne9a2qWsuuKCM+/kELwXAlpbtaEkYcE od3ng@Od3ngs-MacBook-Pro.local
The key's randomart image is:
+---[RSA 2048]----+
| .=o. o ..|
| .Eo o o . . ..|
| o o . . =o+o.|
| o = . .B++.|
|. . + . S o.+|
| + . o|
| o.o .o|
| +=. . . =o|
| =+o..oo..=..|
+----[SHA256]-----+

$ ssh-copy-id -i .ssh/id_rsa.pub pi@192.168.8.102
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
pi@192.168.8.102's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'pi@192.168.8.102'"
and check to make sure that only the key(s) you wanted were added.

Selanjutnya kita tambahkan konfigurasi tambahan untuk menonaktifkan password ketika login, artinya hanya diizinkan menggunakan public key. Tambahkan konfigurasi seperti pada perintah di bawah ini

sudo nano /etc/ssh/sshd_config

Sesuaikan nilai konfigurasi seperti di bawah ini

PermitRootLogin no 
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no UsePAM no

Automount USB

Di raspberry usb yang kita tancapkan tidak bisa plug and play seperti di windows, kemudian file type seperti NTFS juga tidak bisa langsung terbaca. Ada paket yang dibutuhkan terkait permasalah tersebut

sudo apt-get install usbmount ntfs-3g
sudo nano /etc/usbmount/usbmount.conf

Selanjutnya sesuai isi file tersebut seperti berikut ini

FILESYSTEMS="vfat ntfs fuseblk ext2 ext3 ext4 hfsplus"
FS_MOUNTOPTIONS="-fstype=ntfs-3g,nls=utf8,umask=007,gid=46 -fstype=fuseblk,nls=utf8,umask=007,gid=46 -fstype=vfat,gid=1000,uid=1000,umask=007"
sudo nano /etc/udev/rules.d/usbmount.rules

Isi file tersebut seperti berikut ini

KERNEL=="sd*", DRIVERS=="sbp2",         ACTION=="add",  PROGRAM="/bin/systemd-escape -p --template=usbmount@.service $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="sd*", SUBSYSTEMS=="usb",       ACTION=="add",  PROGRAM="/bin/systemd-escape -p --template=usbmount@.service $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="ub*", SUBSYSTEMS=="usb",       ACTION=="add",  PROGRAM="/bin/systemd-escape -p --template=usbmount@.service $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="sd*",                          ACTION=="remove",       RUN+="/usr/share/usbmount/usbmount remove"
KERNEL=="ub*",                          ACTION=="remove",       RUN+="/usr/share/usbmount/usbmount remove"
sudo nano /etc/systemd/system/usbmount@.service

Isi file tersebut seperti berikut ini

[Unit]
BindTo=%i.device
After=%i.device

[Service]
Type=oneshot
TimeoutStartSec=0
Environment=DEVNAME=%I
ExecStart=/usr/share/usbmount/usbmount add
RemainAfterExit=yes

Kemudian coba tancapkan flaskdisk yang Anda punya pada raspberry dan masuk ke terminal ketikkan perintah di bawah ini untuk mengetahui flaskdisk mount dimana

pi@raspberrypi:~ $ tail -n2 /etc/mtab
/dev/sda1 /media/pi/ODENG vfat rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro 0 0
/dev/sda1 /media/usb0 vfat rw,nodev,noexec,noatime,nodiratime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro 0 0

Penutup

Demikian adalah langkah-langkah awal yang perlu kita lakukan ketikak baru memiliki raspberry, dalam hal ini yagn digunakan adalah raspberry 3B +. Semoga langkah-langkah di atas bermanfaat untuk yang baru memiliki raspberry seperti saya. Pada postingan yang akan datang akan saya coba menulis mengakses raspberry desktop menggunakan terminal, ditunggu ya. Mohon doanya semoga saya istiqomah menulis di blog ini.

Referensi

comments powered by Disqus