2/25/22

Cara Install Boot Raspberry Pi OS Ubuntu Server Melalui Penyimpanan USB Hardisk Portable



1. Flash OS Raspbian ke SD-Card.


2. Flash OS Ubuntu Server ke SSD menggunakan aplikasi balenaEtcher.


3. Pasang SD-Card ke Raspberry Pi, lalu nyalakan. 


4. Pada kasus ini saya mengakses Raspberry Pi melalui ssh menggunakan aplikasi putty. 


5. Upgrade terlebih dahulu OS yang kita gunakan.


$ sudo apt update && sudo apt full-upgrade -y


Cara ini untuk meningkatkan sistem dan semua aplikasi yang sudah terinstall





6. Edit file rpi-eeprom-update dan ganti FIRMWARE_RELEASE_STATUS "default" menjadi "beta"




7. Install pembaruan beta bootloader terbaru dengan menjalankan perintah berikut: 


$ cd /lib/firmware/raspberrypi/bootloader/beta/

$ ls

$ sudo rpi-eeprom-update -d -f pieeprom-2021-02-16.bin (adalah tanggal bootloader beta terbaru pada kasus saya. Disarankan pilih versi terbaru)


Setelah perintah rpi-eeprom-update selesai, reboot raspberry





8. Verifikasi eeprom. Pastikan bootloader adalah versi terbaru.


$ vcgencmd bootloader_version




Setelah melakukan perintah diatas, matikan Raspberry Pi.


9. Pasang SSD ke Raspberry melalui port USB 3.0


Cari nama partisi dengan perintah berikut :


$ lsblk





* / dev / sda1: partisi boot pada SSD.

* / dev / sda2: partisi utama di SSD.


Buat partisi di / mnt / boot (partisi boot) dan / mnt / principal (partisi utama)


$ sudo mkdir /mnt/boot && sudo mount /dev/sda1 /mnt/boot

$ sudo mkdir /mnt/principal && sudo mount /dev/sda2 /mnt/principal





10 . Copy konten file (*.dat & *.elf files) dari /boot partition ke /mnt/boot.


$ cd /mnt/boot

$ sudo cp /boot/*.elf /mnt/boot/ 

$ sudo sudo cp /boot/*.dat /mnt/boot/





11. Ekstrak file vmlinuz pada partisi boot 


$ cd /mnt/boot

$ zcat vmlinuz > vmlinux





12. Edit file config.txt 


# sudo nano /mnt/boot/config.txt


Tambahkan script dibawah kemudian simpan.


dtoverlay=vc4-fkms-v3d 

boot_delay 

kernel=vmlinux 

initramfs initrd.img followkernel





13. Tambahkan script untuk dekompresi otomatis kernel di partisi boot (/mnt/boot/) dan beri nama auto_decompress_kernel.


$ sudo nano /mnt/boot/auto_decompress_kernel 


Tambakan script dibawah kemudian simpan


#!/bin/bash -e

# auto_decompress_kernel script

#Set Variables 

BTPATH=/boot/firmware 

CKPATH=$BTPATH/vmlinuz 

DKPATH=$BTPATH/vmlinux  

#Check if compression needs to be done. 

if [ -e $BTPATH/check.md5 ]; then  

   if md5sum --status --ignore-missing -c $BTPATH/check.md5; then

      echo -e "\e[32mFiles have not changed, Decompression not needed\e[0m"  

      exit 0  

   else 

      echo -e "\e[31mHash failed, kernel will be compressed\e[0m"  

   fi 

fi

#Backup the old decompressed kernel 

mv $DKPATH $DKPATH.bak  

if [ ! $? == 0 ]; then  

   echo -e "\e[31mDECOMPRESSED KERNEL BACKUP FAILED!\e[0m"  

   exit 1 

else  

   echo -e "\e[32mDecompressed kernel backup was successful\e[0m" 

fi  

#Decompress the new kernel 

echo "Decompressing kernel: "$CKPATH".............."  

zcat $CKPATH > $DKPATH  

if [ ! $? == 0 ]; then  

   echo -e "\e[31mKERNEL FAILED TO DECOMPRESS!\e[0m"  

   exit 1 

else  

   echo -e "\e[32mKernel Decompressed Succesfully\e[0m" 

fi  

#Hash the new kernel for checking 

md5sum $CKPATH $DKPATH > $BTPATH/check.md5  

if [ ! $? == 0 ]; then  

   echo -e "\e[31mMD5 GENERATION FAILED!\e[0m"  

else 

   echo -e "\e[32mMD5 generated Succesfully\e[0m" 

fi  

#Exit 

exit 0





Beri akses pada file diatas agar bisa dieksekusi


$ sudo chmod +x auto_decompress_kernel


14 Tambahkan file pada folder /mnt/principal/etc/apt/apt.conf.d/ dengan nama 999_decompress_rpi_kernel


$ sudo nano /mnt/principal/etc/apt/apt.conf.d/999_decompress_rpi_kernel


Tambahkan script dibawah kemudian simpan.


DPkg::Post-Invoke {"/bin/bash /boot/firmware/auto_decompress_kernel"; };





Beri akses pada file diatas agar bisa dieksekusi


$ sudo chmod +x /mnt/principal/etc/apt/apt.conf.d/999_decompress_rpi_kernel


15 Matikan Raspberry Pi dan cabut SD-Card, kemudian nyalakan. 

Cek kembali partisi dengan perintah :


$ lsblk


Raspberry pi sudah bisa boot dari SSD menggunakan OS ubuntu server 20.04. 

Share on Facebook
Share on Twitter
Share on Google+

Related : Cara Install Boot Raspberry Pi OS Ubuntu Server Melalui Penyimpanan USB Hardisk Portable

0 comments:

Post a Comment