Hubungi Kami

Kerangka Materi

1. Pengantar Kernel Linux

  • Ikhtisar Linux Tertanam
  • Arsitektur kernel Linux
  • Ruang pengguna vs. ruang kernel
  • Tanggung jawab kernel
  • Alur kerja pengembangan kernel
  • Ikhtisar platform tertanam yang didukung

2. Menyiapkan Lingkungan Pengembangan

  • Menyiapkan workstation pengembangan
  • Konsep kompilasi silang (cross-compilation)
  • Menginstal alat pengembangan yang diperlukan
  • Menyiapkan papan pengembangan BeagleBone Black
  • Konfigurasi konsol serial
  • Menjalankan perangkat target

3. Mendapatkan dan Memahami Sumber Kode Kernel

  • Pohon sumber kernel Linux
  • Kernel stabil vs. kernel jangka panjang (LTS)
  • Unduh sumber kode kernel
  • Jelajahi struktur kode sumber
  • Dokumentasi kernel
  • Mengelola versi kernel

4. Mengonfigurasi, Mengompilasi, dan Menjalankan Kernel

  • Konfigurasi kernel menggunakan menuconfig
  • Memilih fitur kernel
  • Mengompilasi kernel secara silang (cross-compiling)
  • Membangun citra kernel (kernel images)
  • Memasang modul kernel
  • Ikhtisar bootloader
  • Menjalankan kernel khusus

5. Dasar-Dasar Device Tree

  • Tujuan dari Device Tree
  • Berkas Device Tree Source (DTS)
  • Device Tree Blob (DTB)
  • Konsep deskripsi perangkat keras
  • Memodifikasi berkas Device Tree
  • Membangun dan mendeploi Device Tree

6. Modul Kernel Linux

  • Arsitektur modul kernel
  • Membangun modul kernel yang dapat dimuat (loadable kernel modules)
  • Memuat dan melepas modul
  • Parameter modul
  • Ketergantungan modul
  • Berinteraksi dengan modul kernel
  • Teknik debugging modul

7. Debugging Kernel Linux

  • Pencatatan (logging) kernel dengan printk()
  • Menggunakan dmesg
  • Debugging dinamis
  • Analisis panic kernel
  • Pesan Oops
  • Debugging dengan GDB
  • Alat pelacakan kinerja dasar (basic performance tracing tools)

8. Driver Perangkat Karakter

  • Model driver perangkat Linux
  • Perangkat karakter
  • Mendaftarkan driver
  • Operasi berkas (File operations)
  • Operasi baca dan tulis
  • Antarmuka IOCTL
  • Manajemen memori
  • Pembersihan driver (Driver cleanup)

9. Integrasi Driver dan Akses Perangkat Keras

  • Perangkat dan driver platform
  • Pemrograman GPIO
  • Pemrosesan interupsi (Interrupt handling)
  • Pewaktu dan kerja tertunda (Timers and deferred work)
  • Akses register perangkat keras
  • Working with memory-mapped I/O

10. Kontrol Versi dengan Git

  • Dasar-dasar Git
  • Mengelola kode sumber kernel
  • Branching dan merging
  • Membuat patch
  • Meninjau perubahan
  • Bekerja sama dalam pengembangan kernel

11. Laboratorium Pengembangan Kernel Praktik Langsung

  • Menkonfigurasi kernel khusus
  • Membangun dan mendeploi kernel
  • Membuat modul kernel sederhana
  • Mengembangkan driver perangkat karakter dasar
  • Memodifikasi berkas Device Tree
  • Mengdebug masalah kernel pada BeagleBone Black

12. Praktik Terbaik dan Ringkasan

  • Gaya penulisan kode kernel
  • Menulis driver yang mudah dirawat (maintainable)
  • Jebakan pengembangan umum (Common development pitfalls)
  • Sumber daya dokumentasi kernel
  • Alur kerja kontribusi open-source
  • Tinjauan konsep kunci
  • Pertanyaan dan jawaban
  • Langkah selanjutnya untuk pengembangan kernel Linux

Persyaratan

Keakraban dasar dengan penggunaan sistem GNU/Linux

 14 Jam

Jumlah Peserta


Harga per Peserta

Testimoni (2)

Kursus Mendatang

Kategori Terkait