GNU/Linux >> Belajar Linux >  >> Linux

Daftar periksa untuk mengirimkan patch kernel Linux pertama Anda

Salah satu proyek open source terbesar dan tercepat, kernel Linux, terdiri dari sekitar 53.600 file dan hampir 20 juta baris kode. Dengan lebih dari 15.600 programmer berkontribusi pada proyek di seluruh dunia, kernel Linux mengikuti model pengelola untuk kolaborasi.

Dalam artikel ini, saya akan memberikan daftar cepat langkah-langkah yang terlibat dengan membuat kontribusi kernel pertama Anda, dan melihat apa yang harus Anda ketahui sebelum mengirimkan tambalan. Untuk melihat lebih dalam tentang proses pengiriman kontribusi patch pertama Anda, baca tutorial KernelNewbies First Kernel Patch.

Berkontribusi ke kernel

Langkah 1:Siapkan sistem Anda.

Langkah-langkah dalam artikel ini mengasumsikan Anda memiliki alat berikut di sistem Anda:

  • Editor teks
  • Klien email
  • Sistem kontrol versi (mis., git)

Langkah 2:Unduh repositori kode kernel Linux:

git clone -b staging-testing 
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git

Salin konfigurasi Anda saat ini:

cp /boot/config-`uname -r`* .config

Langkah 3:Bangun/instal kernel Anda.

make -jX 
sudo make modules_install install

Langkah 4:Buat cabang dan alihkan ke sana.

git checkout -b first-patch

Langkah 5:Perbarui kernel Anda agar mengarah ke basis kode terbaru.

git fetch origin
git rebase origin/staging-testing

Langkah 6:Buat perubahan pada basis kode.

Kompilasi ulang menggunakan make perintah untuk memastikan bahwa perubahan Anda tidak menghasilkan kesalahan.

Langkah 7:Lakukan perubahan Anda dan buat tambalan.

git add <file>
git commit -s -v
git format-patch -o /tmp/ HEAD^

Subjek terdiri dari jalur ke nama file yang dipisahkan oleh titik dua, diikuti oleh apa yang dilakukan patch dalam bentuk imperatif. Setelah baris kosong muncul deskripsi tambalan dan tag wajib ditandatangani dan, terakhir, perbedaan tambalan Anda.

Berikut adalah contoh patch sederhana lainnya:

Selanjutnya, kirim patch menggunakan email dari baris perintah (dalam hal ini, Mutt):

mutt -H /tmp/0001-<whatever your filename is>

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Untuk mengetahui daftar pengelola yang akan dikirimi patch, gunakan skrip get_maintainer.pl.

Yang perlu diketahui sebelum mengirimkan patch pertama Anda

  • Staging tree Greg Kroah-Hartman adalah tempat yang baik untuk mengirimkan patch pertama Anda karena ia menerima patch mudah dari kontributor baru. Saat Anda terbiasa dengan proses pengiriman tambalan, Anda dapat mengirim tambalan khusus subsistem dengan kompleksitas yang meningkat.
  • Anda juga dapat memulai dengan memperbaiki masalah gaya pengkodean dalam kode. Untuk mempelajari lebih lanjut, baca dokumentasi gaya pengkodean kernel Linux.
  • Skrip checkpatch.pl mendeteksi kesalahan gaya pengkodean untuk Anda. Misalnya, jalankan:
    perl scripts/checkpatch.pl -f drivers/staging/android/* | less
  • Anda dapat menyelesaikan TODO yang belum diselesaikan oleh pengembang:
    find drivers/staging -name TODO 
  • Coccinelle adalah alat yang berguna untuk pencocokan pola.
  • Baca arsip surat kernel.
  • Buka log linux.git untuk melihat komit oleh penulis sebelumnya untuk mendapatkan inspirasi.
  • Catatan:Jangan posting teratas untuk berkomunikasi dengan peninjau patch Anda! Berikut ini contohnya:

    Cara yang salah:

    Chris,

    Ya, ayo jadwalkan rapat besok, di lantai dua.

    > Pada Jum, 26 Apr 2013 jam 09:25, Chris menulis:

    > Hai John, saya punya beberapa pertanyaan:

    > 1. Apakah Anda ingin menjadwalkan rapat besok?

    > 2. Di lantai berapa di kantor?

    > 3. Jam berapa yang cocok untuk Anda?

    (Perhatikan bahwa pertanyaan terakhir secara tidak sengaja tidak terjawab dalam balasan.)

    Cara yang benar:

    Chris,

    Lihat jawaban saya di bawah...

    > Pada Jumat, 26 Apr 2013 jam 09:25, Chris menulis:

    > Hei John, saya punya beberapa pertanyaan:

    > 1. Apakah Anda ingin menjadwalkan pertemuan besok?

    Ya besok baik-baik saja.

    > 2. Di lantai berapa di kantor?

    Mari kita simpan di lantai dua.

    > 3. Jam berapa yang cocok untuk Anda?

    09:00 tidak apa-apa.

    (Semua pertanyaan dijawab, dan cara ini menghemat waktu membaca.)

  • Tantangan Eudyptula adalah cara yang bagus untuk mempelajari dasar-dasar kernel.

Untuk mempelajari lebih lanjut, baca tutorial KernelNewbies First Kernel Patch. Setelah itu, jika masih ada pertanyaan, tanyakan di milis kernelnewbies atau di saluran #kernelnewbies IRC.


Linux
  1. 9 hal yang harus dilakukan dalam 10 menit pertama Anda di server Linux

  2. 5 Ekstensi Shell GNOME Terbaik untuk Desktop Linux Anda

  3. Kernel Linux Untuk Nintendo Wii?

  1. Pengujian integrasi berkelanjutan untuk kernel Linux

  2. Apa alat perekam layar favorit Anda untuk Linux?

  3. Apakah kernel Linux memiliki fungsi utama?

  1. Buat bookmark untuk PDF Anda dengan pdftk

  2. Alat Linux untuk meningkatkan manajemen waktu Anda

  3. Memulai Lumina untuk desktop Linux Anda