Bagaimana saya melakukan kompilasi silang kernel pada host Ubuntu?


16

Saya ingin lebih memahami tentang cara kerja kernel. Bagian dari ini adalah untuk mengkompilasinya sendiri. Bagaimana saya mengkompilasi silang Kernel pada host Ubuntu?

Jawaban:


24

Persiapan

Pertama, kita perlu menginstal prasyarat yang diperlukan. Saya menganggap Anda memiliki sudoakses.

sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
  • git adalah sistem kontrol versi yang digunakan oleh tim kernel Linux.
  • ncursesadalah perpustakaan untuk membangun menu konsol. Itu perlu untuk menuconfig.
  • make menjalankan kompilasi untuk kita.
  • gcc-arm-linux-gnueabi adalah cross-compiler.

Selanjutnya, kita perlu mengambil sumbernya, jalankan:

git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux

Ini akan mengkloning kode sumber ke direktori yang dipanggil raspberrypi-linuxdan mengubahnya.

Kompilasi

Pertama-tama kita perlu memindahkan file konfigurasi dengan menjalankan

cp arch/arm/configs/bcmrpi_cutdown_defconfig .config

Kemudian konfigurasikan kernel build

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig

Opsional: Sesuaikan bangunan menggunakan menuconfig

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig

Kemudian jalankan kompilasi

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Referensi

1
Terima kasih banyak telah memberikan alternatif untuk menggunakan crosstool-ng .
earthmeLon

Dalam kasus saya CROSS_COMPILE hanyalah awalan, jadi tindak lanjutnya harus cukup (tanpa gcc di akhir): make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
hazard89


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.