coding unsplash

Cara Compile Kernel Linux Musl

Pada umumnya distro Linux menggunakan glibc sebagai pustaka C. Namun, ada juga yang menetapkan musl sebagai pustaka C, misalnya Void GNU/Linux. Distro ini yang saya gunakan sekarang.

Ketika saya ingin compile kernel, saya mendapat masalah seperti di gambar.
Error

Saya bingung apakah ada yang salah, apakah karena saya memakai clang, apakah ada config yang harus diaktifkan, atau apakah harus menggunakan GCC? Setelah saya bertanya di grup Telegram Void Linux, mereka berkata bahwa dibutuhkan patch tambahan agar compile bisa berjalan di distro berpustaka C musl. Ketika saya pasang patch, compile dapat dilanjutkan.

Compile Kernel Linux Musl

Yang pertama kita unduh file Kernel Linux di https://kernel.org.

# cd /usr/src/
# wget https://git.kernel.org/torvalds/t/linux-6.1-rc7.tar.gzCode language: Shell Session (shell)

Ekstrak file kernel tersebut.

# tar -xf linux-6.1-rc7.tar.gzCode language: Shell Session (shell)

Agar tersusun rapi, buat folder khusus patch.

# cd linux-6.1-rc7
# mkdir tambalCode language: Shell Session (shell)

Setelah itu, ubah direktori ke tambal dan unduh patch – patchnya.

# cd tambal/
# wget https://notabug.org/Marcoapc/voidxanmodK/raw/master/linux-clang/linux6.0-xanmod/patches/fix-musl-objtool.patch
# cd ../linux-6.1-rc7Code language: Shell Session (shell)

Aplikasikan file patch ke file kernel linux. Pastikan kamu berada di folder Kernel Linux.

# patch -p1 < tambal/fix-musl-objtool.patchCode language: Shell Session (shell)

Selesai, kamu tidak akan menemukan lagi error ketika compile di distro GNU/Linux yang menggunakan pustaka C musl.

Artikel Terkait

Leave a Reply

Your email address will not be published. Required fields are marked *