Catatan: Ada banyak sumber yang tersedia yang meliputi patch dan upgrade kernel. Ini melibatkan men-download file patch atau kode kernel Linux source dan kompilasi kernel baru. Ini bukan praktek terbaik untuk mengikuti pada sistem Linux yang paling. Kebanyakan distribusi menyesuaikan kernel. Setiap kustomisasi tersebut akan hilang jika Anda melakukan upgrade kernel generik.
Upgrade kernel pada sistem Debian Anda dapat dilakukan dengan mudah (jenis) menggunakan alat paket apt untuk menginstal sebuah "kernel-image" paket. Alasan utama untuk upgrade kernel adalah untuk mendukung perangkat keras baru atau mengimplementasikan beberapa fungsi baru. Perhatikan bahwa CD Debian menawarkan berbagai paket kernel yang lebih baru. Jika tidak ada kernel yang lebih baru pada CD Anda tidak mendukung beberapa perangkat keras baru atau fungsi, menerapkan driver hardware baru atau fungsi dengan menggunakan modul loadable bukan dengan upgrade kernel. Modul loadable dibahas di halaman ini.
Ada banyak perangkat lunak bebas di luar sana yang ditulis untuk Linux / UNIX yang hanya tersedia dalam format source code. Sebagaimana dijelaskan pada Dasar-dasar halaman, ini adalah cara paling efisien untuk para pengembang untuk mendistribusikan perangkat lunak mereka. Ketika Anda mendapatkan file kode sumber (s) Anda kompilasi mereka untuk menghasilkan executable biner yang khusus untuk OS dan platform perangkat keras. Mengetahui bagaimana untuk mengkompilasi file sumber adalah keterampilan yang sangat diperlukan di dunia Linux / UNIX jadi kita akan mendedikasikan bagian yang baik dari halaman ini untuk itu.
Seperti disebutkan pada Paket halaman, program kompilasi bisa menjadi pengalaman frustasi. Anda dapat mengalami segala macam kesalahan karena file perpustakaan usang, asumsi-asumsi tertentu yang dibuat oleh programmer (yang tidak berlaku pada sistem Anda), dan penyebab lainnya banyak. Menyelamatkan diri beberapa paket kesedihan dan penggunaan bila memungkinkan atau setidaknya menggunakan pre-compiled binari jika mereka tersedia untuk sistem tertentu. Di sisi terang, fakta bahwa Debian didistribusikan dengan lebih dari 14.000 paket Anda akan kesulitan untuk menemukan sesuatu yang tidak tersedia sebagai paket. Karena itu, jika semua yang Anda bisa dapatkan adalah kode sumber, mendapatkan dan menekan.
Sebenarnya ada dua langkah yang terlibat dalam menghasilkan executable biner dari file sumber, kompilasi dan menghubungkan. Kebanyakan program, baik tertulis untuk PC atau mainframe, bertindak cukup banyak cara yang sama. Mereka akan membuat "panggilan" untuk sistem operasi untuk spesifik "layanan" seperti "Berikan tanggal saat ini" atau "Katakan yang pengguna menjalankan program ini". Ini akan menjadi sakit jika programmer harus menulis kode yang sama berulang-ulang dalam setiap program mereka menulis untuk menangani fungsi umum. Untuk mengatasi ini ada hal-hal yang disebut "perpustakaan" yang berisi kode untuk ton tugas-tugas rutin. Alih-alih menulis kode aktual untuk melakukan suatu tugas, programer hanya menambahkan referensi ke rutinitas perpustakaan (sering disebut sebagai "panggilan fungsi") dalam kode sumber program mereka. Masing-masing rutinitas (atau "fungsi") memiliki nama yang unik, dan programmer menggunakan nama ini dalam referensi mereka.
Setelah programmer telah menulis kode sumber untuk program, yang Anda ingat dari Dasar-dasar halaman dalam format file terbaca-manusia teks, mereka "kompilasi" itu menggunakan program compiler. Setiap bahasa pemrograman memiliki kompiler sendiri (atau beberapa dari mereka). Program compiler membaca teks file kode sumber sebagai input dan meludah keluar file biner disebut "objek" file. Ini hanya biner (mesin yang dapat dibaca) versi file kode programmer soure, lengkap dengan referensi tersebut untuk rutinitas perpustakaan.
Langkah selanjutnya disebut "menghubungkan" dan itu di mana mereka referensi perpustakaan diurus. Linker juga hanya program lain. Bunyinya dalam beberapa file, file objek yang dihasilkan oleh kompilator dan satu atau lebih file-file library. Setiap kali linker menemukan referensi ke sebuah perpustakaan rutin dalam file objek, membaca file-file library dan menemukan rutinitas itu. Kemudian menggantikan referensi programmer dengan kode untuk rutin dari file library. Setelah itu telah menggantikan semua referensi dengan kode dari file-file library linker kemudian meludah keluar file biner executable.
Di Linux, membuat utilitas menangani kompilasi dan menghubungkan. Ketika Anda menjalankan utilitas membuat Anda akan melihat baris yang dimulai dengan gcc yang merupakan singkatan dari GNU C Compiler. Anda juga dapat melihat pesan error dengan kata-kata:
belum terselesaikan simbol
Ini berarti bahwa selama proses menghubungkan rutin perpustakaan yang direferensikan dalam berkas tidak dapat ditemukan dalam salah satu file library. Ini mungkin menunjukkan bahwa file perpustakaan Anda berada di luar tanggal atau Anda kehilangan file library. Kemudian pada halaman ini Anda akan menggunakan utilitas apt untuk menambah paket yang berisi file library karena rutinitas di dalamnya direferensikan oleh kode sumber kita gunakan.
Alasan umum untuk kesalahan ketika mencoba untuk mengkompilasi driver adalah bahwa kode sumber kernel dan / atau file header yang tidak hadir. Jika anda berencana untuk kompilasi driver untuk perangkat (seperti Logitech QuickCam) yang tidak memiliki driver disertakan dengan Debian, Anda harus menginstal paket-paket sebelum Anda mengkompilasi driver. (Lihat bagian Modular Pergi bawah ini.)
Jadi bagaimana semua ini kompilasi dan linking terjadi? Kebanyakan sistem Linux memiliki / usr / local subdirektori. "Lokal" mengacu pada hal yang khusus untuk mesin lokal. Dengan kata lain, jika program tertentu tidak diinstal pada semua sistem Linux secara default, maka itu merupakan sesuatu yang tambahan untuk yang mesin lokal particlar. Sehingga sebagian besar program pihak ketiga dan utilitas harus dipasang di bawah / usr / local subdirektori.
Ada cukup beberapa subdirektori di bawah / usr / local subdirektori. Dua di antaranya adalah / usr / local / src (untuk file source code) dan / usr / local / bin (untuk biner). Membuat utilitas biasanya akan menempatkan setiap binari yang baru disusun dalam direktori / usr / local / bin.
Dengan Linux, Anda biasanya mengeluarkan empat perintah untuk mengkompilasi, link, dan menginstal sebuah program:
mengkonfigurasi biasanya merupakan shell script yang sangat panjang dan kompleks yang mengerikan penulis program (mudah-mudahan) yang dihasilkan untuk membuat pengalaman Anda kompilasi lebih mudah. Pada dasarnya pemeriksaan keluar sistem anda untuk melihat apa yang Anda miliki dan di mana itu dan untuk memastikan itu memiliki segala yang dibutuhkan. Saya juga melihat jenis yang sama dari script diberi nama program atau driver dengan ekstensi sh. (Contoh 'myprogram.sh' bukan 'configure'). Namun, script tersebut tidak menjamin sebuah kompilasi yang sukses. Seperti naskah juga dapat membuat sesuatu yang disebut "makefile" yang digunakan oleh utilitas make pada langkah berikutnya./ Configure. (Mungkin tidak memiliki ini)
membuat
make install
make clean
Membuat utilitas adalah apa yang sebenarnya kompilasi dan menghubungkan. Jika itu akan bom, ini adalah di mana ia akan mengebom.
make install menempatkan file biner disusun dalam tepat (/ usr / local / bin) subdirektori.
make clean membersihkan file-file sementara yang dihasilkan oleh proses kompilasi dan linking.
Sekarang Anda tahu apa yang Anda akan lakukan, dan bagaimana melakukannya, mari kita mengkompilasi program. (Meskipun kompilasi adalah hanya satu langkah dalam proses, "kompilasi" Istilah ini sering digunakan untuk merujuk pada seluruh proses kompilasi, menghubungkan, dan menginstal.)
Program dan Utilitas |
Jika Anda tidak familier dengan IRC (Internet Relay Chat), ini seperti sebuah ruang chat on-line yang dapat diakses menggunakan klien IRC. Organisasi atau individu akan mengatur server IRC yang mereka dengan klien IRC dapat mengakses dan terus on-line, real-time diskusi. Anda dapat melihat segala sesuatu yang semua obrolan jenis anggota lainnya ke klien IRC mereka dan orang lain dapat melihat segala sesuatu yang diketik dalam klien IRC.
Karena salah satu opsi dukungan Debian adalah melalui chat room IRC, kita akan menggunakan kode sumber untuk klien IRC untuk contoh kita. Klien IRC kita akan gunakan disebut ScrollZ (www.scrollz.com). Ini adalah "konsol" klien, yang berarti berjalan di antarmuka berbasis karakter dari shell. Tidak ada GUI diperlukan. Namun, itu tidak menggunakan sesuatu yang disebut ncurses (juga kadang disebut sebagai hanya "kutukan") yang memungkinkan grafis tipe menampilkan pada layar konsol.
Sementara beberapa ncurses paket yang telah terinstal di sistem Anda, satu hilang. (Menemukan bahwa keluar melalui salah satu pengalaman kompilasi frustasi saya bicarakan.) Ini adalah file library yang berisi rutin disebut tgetent bahwa linker mencari karena itu dirujuk dalam kode sumber. Kita harus menambahkan paket yang berisi file ini perpustakaan. Tentu, sistem Debian Anda akan membutuhkan konektivitas internet sehingga Anda bisa FTP bola tar ScrollZ ke sistem anda (Anda akan melihat bagaimana di bawah) atau Anda dapat mendownloadnya menggunakan sistem yang berbeda dan FTP ke sistem Debian Anda.
Instal paket ncurses dibutuhkan (off dari CD # 3) menggunakan perintah:
apt-get install libncurses5-dev
Langkah selanjutnya adalah men-download klien ScrollZ sumber bola kode tar. Ketika Anda akan ftp bola kode sumber tar untuk sistem Anda, Anda akan ingin berada di subdirektori yang tepat sebelum Anda melakukan transfer sehingga berakhir di tempat yang tepat. Dengan demikian, kita menggunakan dua perintah berikut untuk memulai proses download sumber ScrollZ bola kode tar:
cd / usr / local / srcMasukkan anonim ketika diminta untuk nama pengguna dan alamat e-mail Anda ketika diminta untuk password. (. Ini hanyalah adat, mereka tidak mengumpulkan alamat e-mail sehingga mereka dapat spam Anda) Setelah Anda login, download sumber ScrollZ bola tar menggunakan perintah berikut pada ftp> prompt:
ftp ftp.scrollz.com
cd pub / ScrollZ / sumberPerintah ls akan menampilkan file apa yang tersedia. Pada saat Anda mencoba ini ScrollZ-1.9.3.tar.gz mungkin tidak lagi tersedia sehingga hanya men-download file versi terbaru yang berakhir dengan ekstensi. Gz. Anda akan melihat sebuah baris yang mengatakan:
ls
mendapatkan ScrollZ-1.9.3.tar.gz
berhenti
150 Pembukaan BINARY modus koneksi data ...
dan hanya akan tampak duduk di sana. File ini men-download. Tidak hanya ada indikator kemajuan.
Seperti disebutkan kembali pada Dasar-dasar halaman, ketika Anda ekstrak bola tar itu ekstrak dengan struktur direktori yang sama yang tar-ed. Bola tar banyak yang mengandung subdirektori. Konvensi adalah bahwa direktori induk memiliki nama yang sama dengan file yang didownload, minus hal. Tar.gz. (Ini tidak selalu diikuti namun.) Jadi jika kita menggunakan perintah berikut untuk mengekstrak bola tar kita baru saja download:
tar-zxvf ScrollZ-1.9.3.tar.gz
kita akan berakhir dengan subdirektori berikut:
/ Usr/local/src/ScrollZ-1.9.3
yang akan berisi isi diekstrak dari bola tar. Jika kita menggunakan perintah:
cd ScrollZ-1.9.3kita akan melihat isinya. Anda akan melihat beberapa hal di sini yang praktek umum dengan bola tar sumber. Anda biasanya akan melihat file dokumentasi dengan nama-nama seperti (atau mulai dengan) README yang biasanya berisi informasi umum tentang program dan INSTALL yang memiliki instruksi untuk menginstal program. (Nama-nama yang di atas-kasus serupa juga terjadi untuk file dokumentasi.) Ini adalah file teks yang dapat Anda baca dengan editor teks apapun. Ada sering juga / doc atau / subdirektori dokumen dengan dokumen teks lebih file seperti user manual. Jika Anda mengalami masalah menginstal sebuah program tempat pertama harus Anda perhatikan adalah file dokumentasi, terutama apapun yang berhubungan dengan instalasi. ScrollZ yang INSTALL.ScrollZ file instalasi dokumentasi terletak di doc / subdirektori.
ls-laf
Kami melihat bahwa ada (untungnya) shell script configure. Jadi seperti yang disebutkan di atas, perintah pertama kami gunakan adalah untuk menjalankan shell script. Kami mendahului nama shell script dengan / karena subdirektori itu di tidak di jalan sistem kami.. Jadi mengetik:
/ Configure.
dan Anda akan melihat satu ton teks pergi terbang oleh pada layar Anda. Pada akhir semua itu diharapkan akan (bukan pesan kesalahan) ada beberapa teks memberitahu Anda untuk melakukan 'make'. Hanya karena ia memberitahu Anda lakukan untuk make tidak berarti Anda harus. Gunakan kombinasi tombol Shift-PageUp untuk mencari baris dengan "tidak dapat menemukan" atau "tidak dapat menemukan" di dalamnya. Garis-garis ini biasanya mencantumkan nama fungsi yang tidak dapat ditemukan di perpustakaan apapun dan Anda harus mencari tahu apa perpustakaan diperlukan sebelum melanjutkan. Jika tidak ada baris seperti itu ada (yang mereka tidak boleh karena kita download perpustakaan tambahan sebelumnya), kita dapat melakukan membuat:
membuat
Anda mungkin melihat beberapa pesan peringatan selama proses kompilasi. Jika salah satu dari mereka cukup serius untuk menjadi show-stopper kompilasi akan mengebom dengan pesan kesalahan. Jika tidak, akan menyelesaikan berhasil dengan banyak hal baru di layar.
Selanjutnya kita melakukan:
make install
untuk menginstal file dalam direktori masing-masing. Lalu, akhirnya, sebuah:
make clean
Thats it! Anda telah dikompilasi dan diinstal program dari kode sumber. Sekarang Anda dapat memastikan program ini adalah di jalan dengan mengetikkan:
whereis scrollz
dan kita melihat bahwa itu di:
/ Usr / local / bin
direktori (dimana make install katakan). Sebenarnya, file scrollz hanya symbolic link ke biner eksekusi bernama scrollz-1.9.3 yang di direktori yang sama.
Sebelum kita menjalankan program kita harus mengatur beberapa variabel lingkungan dan file. Pertama kita akan menambahkan variabel lingkungan ke profil kita sehingga kita tidak harus secara manual mengatur mereka setiap kali kita menggunakan program ini. Buka file profil Anda dengan perintah:
nano ~ /. profil
(Ingat bahwa karakter ~ mewakili path ke direktori home Anda) dan menambahkan tiga pernyataan berikut:
IRCNICK = "penguin"Gunakan apa pun julukan yang Anda inginkan untuk diri sendiri di tempat penguin tetapi membuatnya agak unik (dan pendek). Kemudian keluar dari editor menyimpan file.
IRCSERVER = "irc.debian.org"
ekspor IRCNICK IRCSERVER
Berikutnya, buat direktori bahwa program akan mencari di dalam direktori home Anda dengan menggunakan perintah:
mkdir ~ /. ScrollZ
Buat file kosong 'save' dalam direktori baru dengan perintah:
touch ~ / .ScrollZ / ScrollZ.save
Sekarang, dengan menggunakan editor teks, membuat kosong "rc" file bahwa program akan mencari di direktori home Anda (pastikan nama dimulai dengan periode) dengan perintah:
nano ~ /. scrollzrcdan masukkan pernyataan berikut ke dalam file ini:
mengatur LOAD_PATH ~ /. ScrollZ
Keluar dari editor menyimpan file. (. Hampir selesai) Sekarang Anda bisa reboot sistem atau secara manual menambahkan variabel di atas untuk lingkungan yang sedang berjalan menggunakan perintah berikut:
IRCNICK = "penguin"Yang menangani setup program. Jika Anda tidak masih terhubung ke Internet, hubungkan kembali sekarang. Sejak program ini adalah di jalan kita, harus kita lakukan untuk menjalankannya adalah mengetikkan:
IRCSERVER = "irc.debian.org"
ekspor IRCNICK IRCSERVER
scrollz
Anda akan melihat kesalahan yang mengatakan bahwa ia tidak dapat membuka file ScrollZ.save dengan berkedip kursor di sudut kiri bawah layar. Sekarang bahwa Anda dalam program ini, Anda akan memasuki IRC (dan beberapa ScrollZ) perintah, bukan perintah Linux. Masukkan perintah berikut:
/ Sve
dan tekan Enter untuk membuat file dan menyimpan pengaturan.
Anda sekarang terhubung ke server IRC debian.org itu tetapi Anda harus memasuki ruang Debian. Untuk melakukan itu, masukkan perintah IRC:
/ Join # debian
Anda berada di! Apa pun yang Anda ketik pada baris di bawah bar biru (di mana kursor saat ini berkedip) akan ditampilkan dalam ruangan (setelah Anda tekan Enter). Itulah mengapa Anda harus mulai semua perintah IRC dengan karakter (/) slash. Mereka tidak ditampilkan sebagai chatting. Para lj di sisi kanan bar biru singkatan "terakhir bergabung" dan nama panggilan Anda akan berada di sana sampai orang lain bergabung ruang setelah Anda.
Jadi bagaimana jika Anda berada di chat room dan Anda ingin mencoba sesuatu di prompt shell? Hanya tekan kombinasi Alt-F2 untuk sampai ke konsol yang berbeda. Menekan Alt-F1 akan membawa Anda kembali ke konsol sesi chat Anda masuk
Perintah IRC berikut akan sangat membantu selama sesi chat Anda:
/ Join # ruangan-namaPerhatikan bahwa / berhenti keluar program ScrollZ selain meninggalkan ruangan.
/ Leave # ruangan-nama
/ Quit pesan perpisahan kepada peserta
/ Msg individu-peserta-julukan swasta pesan
/ Whois-nama panggilan Anda
/ Whois lain-peserta-julukan
Ketika ruangan sibuk yang terbaik untuk memulai pesan ditujukan untuk particpant tertentu dengan paggilan peserta. Ketika meminta bantuan dengan masalah, sejelas mungkin dan pasokan sebagai informasi yang relevan sebanyak mungkin.
Itulah kabar baik. Sekarang kabar buruk. Dalam banyak kasus di atas kompilasi / menghubungkan / menginstal prosedur tidak akan ada gunanya bagimu. Banyak sumber bola tar tidak mengandung shell script configure. Dalam hal ini semua dapat Anda lakukan adalah mencari file-file dokumentasi atau halaman Web di situs Web penulis untuk mengkompilasi dan informasi instalasi. Dalam beberapa kasus penulis dapat berasumsi mereka yang menggunakan program mereka berpengalaman Linux / UNIX administrator dan tidak akan menawarkan banyak di jalan dokumentasi. Jika hal ini terjadi, e-mail mereka meminta petunjuk yang lebih spesifik. Alamat e-mail mereka atau URL ke situs Web mereka mungkin akan diberikan di salah satu file dokumentasi.
Driver
Itu kompilasi program. Hal besar lain yang sering membutuhkan kompilasi adalah driver. Kebanyakan driver mengkompilasi ke dalam driver "modul" yang kami jelaskan pada bagian berikutnya.
Mari kita lihat driver untuk NIC 3Com 3c509 populer. Kode sumber untuk driver tersedia di www.scyld.com/network/3c509.html . Dekat bagian bawah dari file kode sumber adalah sebagai berikut berkomentar baris:
/ * * Lokal variabel: * Mengkompilasi-perintah: "gcc-DMODULE-D__KERNEL__-Wall-Wstrict-prototipe-O6-c 3c509.c" * Version-control: t * Terus-baru-versi: 5 * C-indent-tingkat: 4 * C-dasar-offset: 4 * Tab-lebar: 4 * Akhir: * /Perhatikan bahwa perintah yang dibutuhkan untuk mengkompilasi driver diberikan dalam komentar ini. Namun, juga tergantung pada halaman Web di atas, tepat di samping link untuk kode sumber driver, ini adalah link tentang cara mengatur driver sebagai modul. Setiap penulis atau perusahaan yang membuat sopir kode sumber tersedia harus menyediakan Anda dengan informasi yang sama baik sebagai komentar dalam kode sumber, dalam file README yang menyertainya, atau pada halaman Web. Jika tidak, e-mail mereka memintanya. Jika mereka mendapatkan cukup e-mail mungkin mereka akan menemukan itu bermanfaat untuk membuat file README atau halaman Web.
Pergi Modular |
Salah satu hal kernel harus lakukan adalah antarmuka dengan potongan tertentu dari perangkat keras. Seperti sistem operasi lain, ini perangkat keras yang memiliki driver perangkat lunak mereka sendiri individu. Salah satu alasan kernel telah tumbuh dalam ukuran selama bertahun-tahun adalah bahwa driver lebih dan lebih untuk perangkat keras semakin banyak telah dikompilasi ke kernel.
Dengan semua perangkat keras baru keluar, mencoba untuk mengkompilasi di semua driver perangkat keras yang tersedia akan menghasilkan kernel besar yang memakan sepotong baik (jika tidak semua) dari memori sistem anda. Sementara mungkin masuk akal untuk mengkompilasi beberapa driver ke dalam kernel (seperti IDE dan hard-drive SCSI controller driver), sebagian besar driver perangkat keras dapat dikompilasi sebagai modul loadable dan dinamis ditambahkan ke kernel yang berjalan sesuai kebutuhan.
Selain driver perangkat keras, modul juga dikembangkan untuk sistem berkas baru dan rutin kernel baru seperti enkripsi data. Menambahkan modul tidak meningkatkan ukuran kernel. Mereka hanya mengambil ruang disk lebih banyak (dan lebih banyak memori jika mereka dimuat).
Dengan driver modulizing Anda mengurangi ukuran dari kernel dasar yang menghemat persyaratan kernel memori. Menggunakan modul juga lebih aman. Jika anda mengkompilasi driver baru ke dalam kernel tidak ada cara untuk mendapatkan itu. Jika ada bug di dalamnya Anda cukup banyak kacau. Anda harus memutar kembali ke kernel sebelumnya. Mampu mengelola modul loadable berarti bahwa jika Anda memuat modul baru dan hal itu menyebabkan masalah, Anda cukup membongkar.
Yang menyenangkan tentang modul adalah bahwa jika Anda menemukan diri Anda perlu untuk menambahkan beberapa driver baru atau fungsionalitas baru untuk kernel anda, anda dapat melakukannya tanpa menambal atau mengganti kode sumber kernel dan mengkompilasi ulang semuanya. Loadable modul seperti menambahkan kode ke kernel yang berjalan .
Hari-hari ini driver semua modul loadable ditulis dan banyak kali modul driver hanya tersedia dalam format kode sumber (sourceforge.net menyediakan akses ke banyak dari). Kompilasi modul driver tidak jauh berbeda dari kompilasi program. Anda hanya akan berakhir dengan sebuah file dengan ekstensi o (huruf 'O' - bukan nol)..
Utilitas Anda gunakan untuk mengelola modul yang terkandung dalam paket modutils. Utilitas ini meliputi:Catatan: Kode sumber untuk modul driver banyak membutuhkan akses ke kode sumber kernel atau hanya header kernel selama proses kompilasi. Anda tidak mengkompilasi ulang kernel. Hanya saja pengemudi membutuhkan akses ke header kernel tertentu, sumber, dll file.
Jika tidak yakin apa yang dibutuhkan oleh driver khusus, coba kompilasi hanya dengan file header pertama. Debian termasuk banyak "kernel-header" paket pada CD biner. Masukkan perintah:
apt-cache search kernel-header
untuk melihat mereka semua. Ini PENTING bahwa Anda menginstal satu yang cocok dengan kernel yang Anda jalankan. Masukkan perintah:
uname-a
untuk mengetahui versi kernel Anda menjalankan dan menginstal paket header yang cocok persis (mungkin berbeda tergantung pada prosesor dalam sistem anda). Pada sistem saya itu:
apt-get install kernel-headers-2.4.27-1-386
Jika kode sumber kernel diperlukan anda bisa mendapatkan yang off dari CD biner ditetapkan juga. Perhatikan bahwa kernel bola tar sekitar 180 mcg dalam ukuran sehingga Anda akan ingin menggunakan perintahdf-h untuk memastikan Anda memiliki sekitar 400 mcg gratis di hard-drive Anda sebelum Anda menginstal source kernel. Gunakan perintah:
apt-get install kernel-source-2.4.27
untuk memuat kernel dari CD set Debian biner ke sistem anda. Catatan bahwa ini menginstal bzip tunggal (terkompresi) file kode sumber ke dalam direktori/ usr / src. Anda harus terlebih dahulu unbzip dengan perintah:
bunzip2 kernel-source-2.4.27.tar.bz2
(Ini akan mengambil sebentar.) Kemudian Anda harus untar untuk membuat direktori souce kernel menggunakan perintah:
tar-xvf kernel-source-2.4.27.tar
Anda dapat menghapus file. Tar setelah ekstraksi untuk membebaskan beberapa ruang disk.
- lsmod - berisi daftar modul dimuat
- insmod - menyisipkan modul ke dalam kernel
- rmmod - menghapus modul dari kernel
- modprobe - alternatif yang lebih baik untuk insmod karena memeriksa modul tergantung
- depmod - membangun sebuah file yang berisi informasi dependensi digunakan oleh modprobe
Ada beberapa utilitas lain tetapi ini adalah yang paling sering digunakan. Mereka adalah file biner semua dan semua berada di direktori / sbin.
Poin penting untuk diingat adalah bahwa modul mungkin khusus untuk versi kernel atau setidaknya versi kernel yang diberikan dan yang lebih tinggi. Jika modul tidak ditulis untuk versi kernel anda, anda akan mendapatkan pesan kesalahan saat Anda mencoba dan memuatnya. Modul nama file diakhiri dengan o dan. Berada di sebuah subdirektori yang memiliki direktori induk dengan nama yang mencakup versi kernel Linux. Sebagai contoh, file modul pada sistem
/ Lib/modules/2.4.27-1-386/kernel/drivers/ideSelain itu,
/ Lib/modules/2.4.27-1-386/kernel/drivers/net
/ Lib/modules/2.4.27-1-386/kernel/drivers/video
/ Lib/modules/2.4.27-1-386juga di mana file modules.dep file tersebut berada. File modules.dep yang mana dependecy modul informasi yang dihasilkan oleh utilitas depmod disimpan dan diakses oleh utilitas modprobe.
Bagi yang penasaran, jika Anda pergi mencari melalui file startup sistem mencari perintah insmod atau modprobe Anda tidak akan menemukan apapun. Salah satu script di / etc / init.d subdirektori yang disebut cukup pada awal proses startup shell script kerneld. Script shell kerneld memanggil sbin / / biner kerneld yang menyebabkan modul untuk otomatis dimuat sebagai mereka dibutuhkan. Selain itu, modul opsional terdaftar dalam file / etc / modules juga diambil.
Jika Aada boot sistem dan menggunakan kombinasi Shift-PageUp kunci untuk melihat pesan yang dihasilkan pada awal proses boot, anda akan melihat modul mulai di-load segera setelah proses init dimulai.
Ini saat startup sistem dimana Anda kemungkinan besar untuk melihat modul yang berhubungan dengan pesan dan kesalahan. Yang paling umum dimulai:
insmod: / etc / modules.conf lebih baru daripada ....
Ini sebenarnya tidak masalah, hanya masalah tanggal file. Sebagian besar waktu itu hanya akan menghilang dalam perjalanan menggunakan sistem anda.
Kompilasi Modul driver
Kembali pada Webcam halaman kami menemukan bahwa Debian tidak datang dengan driver untuk kamera USB populer QuickCam. Ada driver untuk itu pada sourceforge.net disebut qc-usb . Driver ini dilengkapi dengan sebuah script yang memeriksa hal-hal tertentu dan berisi perintah-perintah kompilasi yang diperlukan. Sebelum melanjutkan Pastikan Anda telah menginstal kernel file header seperti yang dijelaskan sebelumnya.
Anda dapat mendownload driver menggunakan utilitas FTP pada sistem Debian Anda (seperti yang kita menunjukkan di atas untuk file program ScrollZ) atau download dengan menggunakan sistem lain dan FTP ke sistem Debian Anda. Jika Anda kemudian Anda mungkin FTPed itu ke direktori home Anda pengguna sehingga Anda akan perlu menyalin file ke direktori yang tepat dengan perintah:
Kemudian masuk ke direktori / usr / local / src / subdirektori dan masukkan perintah:
dan / usr/local/src/qc-usb-0.6.2 subdirektori akan dibuat dan berisi semua file. Jika Anda daftar file dalam direktori Anda akan melihat file quickcam.sh yang merupakan setup script yang ditulis oleh pengembang pengemudi dalam upaya untuk membuat membuat modul driver mudah bagi Anda.
Pastikan Anda memiliki cam terpasang pada saat ini. Kita perlu memasok ke skrip quickcam.sh dengan lokasi file kernel header yang kita instal sebelumnya. Untuk menjalankan script dan penawaran itu dengan informasi ini kita gunakan:
Ini akan mulai dengan memeriksa file dan utilitas. Mengabaikan peringatan tentang kgcc ekspor. Ini kemudian akan memperingatkan Anda bahwa Anda tidak harus dijalankan sebagai root tapi kami akan tetap melakukannya karena kemudian di script itu akan meminta password root jika kita tidak.
Pada satu titik Anda akan melihat banyak pesan kesalahan insmod. Ini hanya mencoba untuk mencari tahu apa jenis USB sirkuit Anda miliki dan mereka dapat diabaikan. Akhirnya, Anda akan melihat sekelompok perintah gcc compiler dan bila dilakukan script akan mencoba dan memuat driver. Bila Anda melihat baris:
Nama: Logitech QuickCam USB
Itu saja! Reboot sistem dan masukkan perintah lsmod pada prompt shell dan Anda akan melihat driver quickcam dimuat. Sekarang bahwa Anda memiliki pengemudi auto-loading Anda dapat kembali ke Webcam halaman untuk terus menyiapkan server cam Anda.
Sayangnya tidak semua modul driver termasuk script setup tapi pada daftar yang sangat harus ada dokumentasi yang tersedia yang memberitahu Anda bagaimana melakukan kompilasi. (Jangan lupa untuk menempatkan akhir o file driver ke dalam subdirektori di bawah direktori yang benar lib/modules/2.4.27-1-386/kernel/drivers /..) Kelemahan satu untuk script adalah bahwa orang yang menulis hal itu mungkin membuat asumsi tertentu tentang lokasi file, dll yang tidak benar dan script mungkin membom keluar. Jika script tidak membom jangan menganggap pengemudi tidak akan bekerja pada sistem anda
0 komentar:
Posting Komentar