Prakata

Uh, nampaknya tulisan ini sudah terpublikasi di Planet. Sepertinya saya salah memencet tombol. Ya, sudah, berhubung tulisan ini ditujukan bagi pemakai lanjut yang beruntung memiliki Raspberry Pi. Sebelumnya, saya menggunakan repositori BlankOn dan harus memakai cara yang hancur-hancuran. Beruntung, @aftian memberikan tautan yang benar mengenai repositori BlankOn yang sebenarnya.

 

Uh, seandainya kamu adalah wanita cantik akan kukecup mesra. Ha… ha… ha….

kabur takut kena gaplok

Sekilas Raspberry

Raspberry menggunakan ARM dengan tambahan prosesor untuk menghitung floating point. Firmware yang ia gunakan mengasumsikan bahwa SDCard memiliki setidaknya hal berikut:

  • Partisi pertama harus FAT32 (VFAT) dan berisi firmware yang akan dijalankan pertama kali.
  • Partisi kedua biasanya berisi sistem berkas utama. Biasanya formatnya EXT4.

Di dalam BlankOn, SDCard terpasang sebagai mmcblk0. Dengan demikian, partisi pertama disebut /dev/mmcblk0p1 dan partisi kedua bernama /dev/mmcblk0p2.

Saya mengasumsikan kartu memori (SDCard) sudah terpartisi dan terformat dengan baik. Gampang, tinggal menggunakan gparted.

Saya membagi beberapa pekerjaan ini menjadi beberapa bagian:

  • Awalan: mempersiapkan partisi yang hendak ditulisi dan variabel rootfs agar memudahkan.
  • Pasang Awal: proses debootstrap. Dilakukan dua kali karena kita menggunakan arsitektur yang berbeda
  • Konfigurasi: pasang sandi, jaringan, waktu, lokalisasi, dsb.
  • Pasang kernel: memasang kernel yang telah disertakan oleh Hexxeh.
  • Bersih-bersih: menghapus paket-paket dan melepaskan partisi.

Ada beberapa proses yang terlewat, seperti membuat pengguna biasa baru. Nanti saya perbaiki lagi tulisan ini, saya hendak mengulang apa yang saya kerjakan.

Tulisan ini sudah berhasil dan diujicobakan pada dapur Fem*na… hahaha…. 🙂

Awalan

export rootfs=/mnt
mount /dev/mmcblk0p2 $rootfs

Pasang Awal

debootstrap --verbose --arch armhf --variant=minbase --no-check-gpg --foreign rote $rootfs http://arsip-dev.blankonlinux.or.id/raspbian
cp $(which qemu-arm-static) $rootfs/usr/bin
mkdir $rootfs/dev/pts
mount -t devpts none $rootfs/dev/pts
mount -t proc none $rootfs/proc
LC_ALL=C chroot $rootfs /debootstrap/debootstrap --second-stage

Konfigurasi

echo "deb http://arsip-dev.blankonlinux.or.id/raspbian rote main" > $rootfs/etc/apt/sources.list
echo "blankjp" > $rootfs/etc/hostname
cat > $rootfs/etc/hosts << EOF
127.0.0.1    localhost.localdomain    localhost blankjp
::1     localhost6.localdomain6    localhost6 blankjp
EOF

cat > $rootfs/etc/network/interfaces << EOF
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
EOF

cat >> $rootfs/etc/modules << EOF
echo vchiq
snd_bcm2835
EOF

LC_ALL=C chroot $rootfs /usr/bin/apt-get update
LC_ALL=C chroot $rootfs /usr/bin/apt-get -y --force-yes install binutils kmod
LC_ALL=C chroot $rootfs 
/usr/bin/apt-get -y --force-yes install apt-utils dialog locales
&& dpkg-reconfigure locales && dpkg-reconfigure tzdata
LC_ALL=C chroot $rootfs 
/usr/bin/apt-get -y --force-yes install
dhcp3-client udev netbase ifupdown iproute ssh iputils-ping wget net-tools ntpdate vim less LC_ALL=C chroot $rootfs su -c "echo \"root:blankon\" | chpasswd" LC_ALL=C chroot $rootfs su -c "sed -i -e 's/KERNEL\!=\"eth\*|/KERNEL\!=\"/' /lib/udev/rules.d/75-persistent-net-generator.rules"
LC_ALL=C chroot $rootfs dpkg-reconfigure locales
LC_ALL=C chroot $rootfs dpkg-reconfigure tzdata

cat > $rootfs/etc/fstab << EOF
/dev/mmcblk0p2 / ext4 noatime,nodiratime  0  0
/dev/mmcblk0p1 /boot vfat defaults  0   0
EOF

Pasang Kernel

mount /dev/mmcblk0p1 $rootfs/boot
touch $rootfs/boot/start.elf
mkdir $rootfs/lib/modules
ROOT_PATH=$rootfs BOOT_PATH=$rootfs/boot rpi-update
echo "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" > $rootfs/boot/cmdline.txt

Bonus: Menambah Satu Pengguna

LC_ALL=C chroot $rootfs 
/usr/bin/apt-get -y --force-yes install
sudo LC_ALL=C chroot $rootfs addgroup blankon LC_ALL=C chroot $rootfs chroot $rootfs useradd blankon -g blankon -G adm,disk,sudo,audio,video,plugdev -m LC_ALL=C chroot $rootfs su -c "echo \"blankon:blankon\" | chpasswd"

Bersih-bersih

LC_ALL=C chroot $rootfs /usr/bin/apt-get clean
umount $rootfs/boot
umount $rootfs/dev/pts
umount $rootfs/proc
umount $rootfs
sync

Beres

Colok ke Raspberry Pi dan berharap tidak ada masalah.