Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Membangun Driver Linux
Jakarta, 30 Oktober 2008 Andika Triwidada < gmail.com > To insert this slide into your presentation Save this template as a presentation (.ppt file) on your computer. Open the presentation that will contain the image slide. On the Slides tab, place your insertion point after the slide that will precede the image slide. (Make sure you don't select a slide. Your insertion point should be between the slides.) On the Insert menu, click Slides from Files. In the Slide Finder dialog box, click the Find Presentation tab. Click Browse, locate and select the presentation that contains the image slide, and then click Open. In the Slides from Files dialog box, select the image slide. Select the Keep source formatting check box. If you do not select this check box, the copied slide will inherit the design of the slide that precedes it in the presentation. Click Insert. Click Close.
2
Mengapa Linux? OSS paling populer Distribusi dalam bentuk distro
Semua distro memiliki kesamaan paling tinggi pada tingkat kernel Banyak distro yang memelihara kernel masing- masing (kernel vanilla + patch spesifik distro)
3
Mengapa Driver Linux? Fun Profit Scratch an itch Karena saya bisa! :D
4
Apakah Harus di Kernel? NDISwrapper untuk berbagai driver jaringan
Userspace driver FUSE (Filesystem in USErspace) NTFS, ZFS User Mode SCSI, User Mode USB, User Mode I2C
5
Apakah Harus Menulis Driver?
First line support: basis data driver vs hardware vs distro Second line: “porting” driver ke kernel spesifik distro Third line: membangun driver baru
6
1 - Basis Data Driver Distro apa yang akan didukung? Ada distro yang berorientasi ke server, ke desktop, ke laptop, dan ke appliance Hardware apa yang akan didukung? Apakah setiap hardware yang didukung akan didukung juga pada setiap distro? ... search
7
2 - Porting antar Distro Sisi kernel
Versi kernel, konfigurasi kernel, patch Sisi userspace Packaging
8
3 – Buat Driver Baru SDM? Mari kita siapkan bersama! Prerequisite:
C programming Bahasa Inggris tulis Perorangan vs tim?
9
Strategi Pengembangan
Mulai dari hardware-less, misal ROT-13 driver atau Caesar cipher driver Pilih satu hardware, pilih versi kernel, pilih distro Implementasi paralel & independen (?) oleh beberapa grup Mentoring
10
Checklist Identifikasi fungsionalitas perangkat dan tekonologi interface Cari data sheet, pahami model pemrograman registernya Cari driver serupa di kernel Bila ditemukan yang serupa, cari perbedaan tepatnya Bila mulai dari scratch, luangkan cukup waktu untuk merancang driver dan struktur datanya Pakai tool software dan hardware yang memadai
11
C#1 Hampir semua driver memiliki layer inti yang menyediakan layanan dan layer abstraksi yang membungkus perbedaan detil hardware Driver perlu berinteraksi dengan komponen kernel lain Modem: UART, tty, line discipline Mouse: input event ...
12
C#3 sound/drivers/dummy.c drivers/usb/usb-skeleton.c
drivers/net/pci-skeleton.c drivers/video/skeletonfb.c
13
Masalah Lain API kernel “selalu” berubah
Dokumentasi dari vendor hardware tidak selalu tersedia Volume mail LKML luar biasa Bahasa di LKML sangat “lugas”
14
Lingkungan Pengembangan
Virtualisasi bila mungkin, tapi tanpa akses ke hardware Virtualbox UML (User-mode Linux) Cross reference tool
17
Masalah Firmware Beberapa hardware tidak bisa berjalan hanya dengan 'sekedar' driver Firmware mungkin juga memiliki bug
18
Masalah Modem Winmodem tidak memiliki DSP
fungsi DSP digantikan oleh software, agar harga hardware bisa dipangkas fungsi interfacing/konversi A/D dan D/A digabung dengan hardware sound driver perlu dijalankan pada prioritas tinggi, real-time apakah ada implementasi software open-source DSP untuk 28k, 56, V.90?
19
Masalah Dokumentasi Ketersediaan NDA khusus
20
Reverse Engineering Mengamati perilaku device driver yang telah ada pada OS lain Case study: USB device usbsnoop CIFS
21
French Cafe http://samba.org/ftp/tridge/misc/french_cafe.txt
Dokumentasi publik French Cafe Imagine you wanted to learn French, and there were no books, courses etc available to teach you. You might decide to learn by flying to France and sitting in a French Cafe and just listening to the conversations around you. You take copious notes on what the customers say to the waiter and what food arrives. That way you eventually learn the words for "bread", "coffee" etc. Protocol Scanner Differential
22
Acuan Kernelnewbies Kernel Janitor /usr/src/linux-x.y.z LKML
23
Buku Essential Linux Device Drivers, Sreekrishnan, 2008
Understanding the Linux Kernel, 3rd ed., Bovet dan Cesati, 2005 Linux Kernel Development, 2nd ed., Robert Love, 2005
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.