Compile dan Install Kernel Source di Gentoo Raspberry Pi 4

Kamis, 22 Oktober 2020

 Compile dan Install Kernel Source di Gentoo Raspberry Pi 4. Di tutorial ini saya akan sharing sedikit mengenai bagaimana cara memasang kernel hasil compile sendiri di Gentoo, khususnya Gentoo versi arm64 di Raspberry Pi 4. Tutorial ini adalah lanjutan dari tutorial sebelumnya yakni cara install Gentoo di Raspberry Pi 4, menggunakan image dari Sakaki.

Nah, jika kalian merasa perlu meng-compile ulang kernel untuk Gentoo kalian dengan konfigurasi pribadi di tutorial ini saya akan sharing caranya, berdasarkan sistem yang termasang dari image yang disediakan oleh user Sakaki.

Persiapan

Sebelumnya, kalian harus menginstall gcc dan juga binutils versi stable, yangmana secara default untuk arsitektur arm64 menggunakan branch testing. Itu artinya kalian harus melakukan downgrade. Jalankan perintah berikut

sudo su

echo "sys-devel/gcc -~arm64" >> /etc/portage/package.accept_keywords/gcc

echo "sys-devel/binutils -~arm64" >> /etc/portage/package.accept_keywords/binutils

emerge --update --oneshot sys-devel/gcc sys-devel/binutils

Setelah instalasi paket diatas selesai, selanjutnya kita ubah gcc default yang akan kita gunakan untuk melakukan compile kernel nantinya. 

gcc-config --list-profiles

Selanjutnya pilih versi gcc yang lebih rendah atau stable, yang seharusnya ada di nomor 1.

gcc-config 1

env-update && source /etc/profile

FEATURES="-getbinpkg" emerge --oneshot sys-devel/libtool

Selanjutnya adalah proses download source kernel untuk Gentoo arm64 kalian.

mkdir -pv kbuild && cd kbuild

git clone --depth 1 https://github.com/raspberrypi/linux.git -b rpi-5.4.y 

Untuk branch terbaru saat ini adalah rpi-5.4.y. Kalian bisa cek sendiri di GitHub dan sesuaikan sendiri.

Compile

Selanjutnya adalah proses compile. Setelah cloning source codenya selesai, masuk ke direktori linux atau direktori hasil cloning diatas.

make distclean

make bcm2711_defconfig

make menuconfig

Selanjutnya atur sendiri konfigurasi compilenya, termasuk local version, ataupun modul yang akan dibuang dan dipasang di kernel baru. Setelah semuanya oke, lanjut ke proses compile.

nice -n 19 make -j4 Image modules dtbs

Prosesnya bisa sangat lama. Menggunakan Raspberri Pi 4 Model B saya membutuhkan waktu sekitar tiga jam lebih untuk menyelesaikan proses compile kernel ini dengan menggunakan seluruh core CPU yang tersedia.

Pasang Kernel

Selanjutnya adalah proses final yakni pemasangan kernel ke sistem. Namun sebelumnya, kalian harus menghapus kernel yang saat ini terpasang. Edit file /etc/portage/package.use/rpi-64bit-meta

sudo nano /etc/portage/package.use/rpi-64bit-meta

Lalu hapus paket binary kernel di baris terakhir. Sehingga nanti di akhir baris file menjadi seperti berikut:

#  - pitop: pull in Pi-Top support packages (NB most users will NOT want this;
#      the Pi-Top is a DIY laptop kit based around the RPi3) (requires xfce)
#  - apps: pull in baseline desktop apps (libreoffice etc.) (requires xfce)
#
# NB the main point of the core, xfce, pitop and apps USE flags is just to let
# you reduce what is in your @world set (/var/lib/portage/world).
dev-embedded/rpi-64bit-meta -kernel-bin

Re-emerge lagi untuk menghapus kernel yang saat ini terpasang.

sudo emerge -v rpi-64bit-meta

sudo emerge --depclean

Catatan: jangan sampai kalian merestart Raspi kalian setelah menjalankan command diatas dan belum memasang kernel baru, karena akan menyebabkan sistem gagal booting.

Selanjutnya install kernel menggunakan command berikut. Pastikan saat menjalankannya, kalian masih berada di direktori linux tempat kalian mengcompile kernel di step sebelumnya.

sudo cp -rv arch/arm64/boot/dts/overlays/ /boot/ 

sudo cp -v arch/arm64/boot/Image /boot/kernel8-p4.img

sudo cp -v arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb /boot/

sudo make modules_install

Selesai. Reboot Gentoo kalian dan seharusnya kalian sudah booting menggunakan kernel baru.

Sekian tutorial kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar. 

Artikel Terkait Gentoo