Open Issues threads ya diatur dalam debiansysdepslinux. mk dan debiansysdepskfreebsd. mk. Debiansysdepshurd. mk set ke no. Tapi ini hanya baca di debianrules karena memutuskan beberapa paket nscd debitorysdepshurd. mk s libcextrainstall untuk ld. so. Cek dengan konfigurasi GCC. Bisa menambahkan toggle ke 036 (cap) build di debianrules. dbuild. mk untuk melewati hal-hal lokal. IRC, freenode, hurd, 2013-08-28 Jalankan debianrules patch untuk menerapkan tambalan (alih-alih melakukannya saat membangun). Kemudian Anda bisa mengedit file secara manual. Beberapa lewat: libc. I686. Xen EGLIBCPASSESlibc i686. Dll. Jika membangun dengan EGLIBCPASSESlibc (lebih spesifik lagi, tanpa xen), aturan libc0.3-devextrapkginstall di debiansysdepshurd-i386.mk akan gagal. (Sama untuk libc6-devextrapkginstall di debiansysdepsi386.mk misalnya). Mengapa penanganan khusus ini hanya dilakukan untuk xen. Tapi bukan untuk i686 Samuel: Secara historis karena caranya seperti itu di linux-i386. Saya tidak tahu alasan sebenarnya. Lakukan ekspor LCALLC sebelum membangun, jika tidak, pesan kesalahan testsuitemake akan berbeda dari yang tersimpan dalam file hasil-pemeriksaan yang paling sering didebet, yang mengakibatkan kegagalan build palsu. Jalankan debianrules build-arch DEBBUILDOPTIONSparallel2 EGLIBCPASSES. Untuk membangun (atau membangun bukan membangun-lengkungan untuk membangun barang-barang yang bebas hambatan juga). Dapat mengganggu dengan C-c selama locale stuff atau testsuite jika hanya tertarik pada build tree. Jalankan fakeroot debianrules biner DEBBUILDOPTIONSparallel2 EGLIBCPASSES. Untuk membangun paket Debian atau biner-arch hanya untuk arsitektur yang bergantung. Dua langkah terakhir ini juga bisa digabungkan sebagai dpkg-buildpackage - Rdebianrules EGLIBCPASSESlibc - nc-b - uc. - nc akan mencegah langkah bersih yang pertama kali mencoba un-patch, yang mungkin bertentangan jika Anda telah melakukan pengeditan dengan memasang patch. Jika file versi simbol Debian tidak up to date dan paket Debian gagal karena hal ini, menempatkan DPKGGENSYMBOLSCHECKLEVEL0 di lingkungan membantu melihat dpkg-gensymbols manusia. Ijin, freenode, hurd, 2013-07-01 Hak Cipta 2011, 2013 Free Software Foundation, Inc. Diizinkan untuk menyalin, mendistribusikan dan memodifikasi dokumen ini dengan syarat GNU Free Documentation License, Versi 1.2 atau lebih baru yang diterbitkan oleh Free Software Foundation tanpa Bagian Invarian, tidak ada Teks Sampul Depan, dan tidak ada Teks Sampul Belakang. Salinan lisensi disertakan dalam bagian yang berjudul Lisensi Dokumentasi Bebas GNU. Terakhir diedit 2015-02-17 23:58:35 UTCI telah mencoba berulang-ulang untuk mengunggah proyek saya ke ekstra-pengembangan namun gagal terus-menerus .. inilah log TMPquotvartmpquot TEMPquotvartmpquot DEBIANFRONTENDquotnoninteractivequot DEBIANPRIORITYquotcriticalquot DEBBUILDOPTIONSquotparallel4quot TMPDIRquotvartmpquot dpkg-buildpackage: set CFLAGS Ke nilai default: - g - O2 dpkg-buildpackage: setel CPPFLAGS ke nilai default: dpkg-buildpackage: setel LDFLAGS ke nilai default: dpkg-buildpackage: set FFLAGS ke nilai default: - g - O2 dpkg-buildpackage: setel CXXFLAGS ke default Nilai: - g - O2 dpkg-buildpackage: paket sumber tabcgpa dpkg-buildpackage: versi sumber 0.3 dpkg-buildpackage: arsitektur host armel dpkg-checkbuilddeps: Menggunakan tool Scratchbox untuk memuaskan builddeps fakeroot debianrules bersih dhtestdir dhtestroot rm - f build-stamp configure - Cap Tambahkan perintah disini untuk membersihkan setelah proses build. Scratchboxtoolsbinmake clean make1: Memasuki direktori homebuilder1maemo-fremantle-armel-extras-develworktabcgpa-0.3 Makefile: 98: beberapa pola sasaran. Berhenti. make1: Meninggalkan direktori homebuilder1maemo-fremantle-armel-ekstra-develworktabcgpa-0,3 make: bersih Kesalahan 2 dpkg-buildpackage: error: fakeroot debianrules bersih memberikan error exit statusnya 2 dan juga pada mencoba lain TMPquotvartmpquot TEMPquotvartmpquot DEBIANFRONTENDquotnoninteractivequot DEBIANPRIORITYquotcriticalquot DEBBUILDOPTIONSquotparallel4quot TMPDIRquotvartmpquot dpkg-buildpackage: set CFLAGS ke nilai default: - g - O2 dpkg-buildpackage: setel CPPFLAGS ke nilai default: dpkg-buildpackage: setel LDFLAGS ke nilai default: dpkg-buildpackage: set FFLAGS ke nilai default: - g - O2 dpkg-buildpackage: setel CXXFLAGS ke Nilai default: - g - O2 dpkg-buildpackage: paket source tabcgpa dpkg-buildpackage: versi sumber 0.3 dpkg-buildpackage: arsitektur host armel dpkg-checkbuilddeps: Menggunakan tool Scratchbox untuk memuaskan builddeps fakeroot debianrules bersih dhtestdir dhtestroot rm - f build-stamp Add Disini perintah untuk membersihkan setelah proses build. Rm - rf builddir dhclean dpkg-source - b tabcgpa-0.3 dpkg-source: info: menggunakan format sumber 1.0 dpkg-source: info: bangunan tabcgpa di tabcgpa0.3.tar. gz dpkg-source: info: bangunan tabcgpa di tabcgpa0. 3.dsc debianrules build mkdir - p builddir cd builddir ampamp qmake-qt4 PREFIXusr. Tabcgpa. pro scratchboxtoolsbinsh: baris 1: qmake-qt4: perintah tidak ditemukan make: builddirMakefile Error 127 dpkg-buildpackage: error: debianrules build memberi error exit status 2 Saya telah mencoba berbagai aturan file yang tersedia di thread dan juga default yang dibuat di Qt sdk .. tidak bekerja bekerja dengan deb dpkg - i Apakah libqt4-dev di Build Depends (debiancontrol) Apakah libqt4-dev di Build Depends (debiancontrol) saya mencoba dengan dan tanpa hasil yang sama akhirnya bekerja menambahkan libqt4-dev dan mengganti Aturan file lagi Im berlari ke masalah yang sama saya menambahkan libqt4-dev ke file kontrol saya: Paket: Dicer Sumber: dicer Versi: 0.1 Arsitektur: sandaran senjata Maintainer: Willem Liu ltwillem. liugmailgt Dipasang-Ukuran: 94 Tergantung: libc6 (gt 2.5. 0-1), libgcc1 (gt 1: 4.2.1), libqt4-core (gt 4.6.2 git20100401), libqt4-gui (gt 4.6.2 git20100401), libstdc6 (gt 4.2.1), libqt4-dev Bagian: Userother Priority: extra Homepage: gitoriousdicer Keterangan: Program melempar dadu. Menghasilkan hasil acak untuk sejumlah dadu dengan sejumlah mata. File aturan saya terlihat seperti berikut: usrbinmake - f - makefile - Contoh debianrules yang menggunakan debhelper. File ini awalnya ditulis oleh Joey Hess dan Craig Small. Sebagai pengecualian khusus, saat file ini disalin oleh dh-make menjadi file output dh-make, Anda dapat menggunakan file output tanpa batasan. Pengecualian khusus ini ditambahkan oleh Craig Small pada versi 0.37 dh-make. Uncomment ini untuk mengaktifkan mode verbose. Ekspor DHVERBOSE1 configure: configure-stamp configure-stamp: dhtestdir Tambahkan perintah di sini untuk mengkonfigurasi paket. Build-stamp: configure-stamp dhtestdir Tambahkan perintah di sini untuk mengkompilasi paket. (MAKE) docbook-to-man debiandicer. sgml gt dicer.1 clean: dhtestdir dhtestroot rm - f build-stamp configure-stamp Tambahkan sini perintah untuk membersihkan setelah proses build. (MAKE) install bersih: build dhtestdir dhtestroot dhclean - k dhinstalldirs Tambahkan perintah disini untuk menginstal paket ke debiandicer. (MAKE) INSTALLROOTquot (CURDIR) quotdebiandicer install Bangun file arsitektur-independen disini. Binary-indep: build install Kami tidak melakukan apapun secara default. Bangun file yang bergantung pada arsitektur di sini. Binary-arch: build install dhtestdir dhtestroot dhinstalldocs dhinstallexamples dhinstallman dhlink dhlink dbcstress dhfixperms dynstalldeb dhshlibdeps dhgencontrol dhmd5sums dhbuilddeb binary: binary-indep binary-arch. PHONY: build binary-indep biner-arch binary install configure Bisakah Anda memberi saya petunjuk apapun Adalah laporan kesalahan TMPquotvartmpquot TEMPquotvartmpquot DEBIANFRONTENDquotnoninteractivequot DEBIANPRIORITYquotcriticalquot DEBBUILDOPTIONSquotparallel4quot TMPDIRquotvartmpquot dpkg-buildpackage: setel CFLAGS ke nilai default: - g - O2 dpkg-buildpackage: setel CPPFLAGS ke nilai default: dpkg-buildpackage: setel LDFLAGS ke nilai default: dpkg-buildpackage: set FFLAGS ke nilai default: - g - O2 dpkg-buildpackage: atur CXXFLAGS ke nilai default: - g - O2 dpkg-buildpackage: paket sumber dicer dpkg-buildpackage: versi sumber 0.1 dpkg-buildpackage: arsitektur host armel dpkg-checkbuilddeps: Menggunakan tool Scratchbox untuk memuaskan builddeps fakeroot Debianrules bersih dhtestdir dhtestroot rm - f build-stamp configure-stamp Tambahkan sini perintah untuk membersihkan setelah proses build. Scratchboxtoolsbinmake clean make1: Memasuki direktori homebuilder1maemo-fremantle-armel-extras-develworkdicer-0.1 make1: Tidak ada peraturan untuk membuat target ...... NokiaQtSDKMaemo4.6.2sysrootsfremantle-arm-sysroot-10.2010.19-1-slimusrshareqt4mkspecsdefaultqmake. conf, diperlukan Oleh Makefile Berhenti. Make1: Meninggalkan direktori homebuilder1maemo-fremantle-armel-extras-develworkdicer-0.1 make: clean Error 2 dpkg-buildpackage: error: fakeroot debianrules clean memberi status error exit 2 vBulletinreg v3.8.8, Copyright copy2000-2017, vBulletin Solutions, Inc. Debian User Forums Im mencoba untuk membangun paket quotminitunesquot (flavio. tordini. orgminitunes) tapi ketika saya mencoba kode Code: Pilih semua dpkg-buildpackage build exit dengan kode Kode: Pilih semua dpkg-buildpackage: error: fakeroot debianrules binary memberikan error Exit status 2 Ini benar-benar terjadi ketika saya mencoba untuk membangun paket apapun dengan quotdhmakequot jadi saya bertanya-tanya apakah itu karena file debianrules saya, yang saya tidak begitu yakin bagaimana cara mengeditnya. Apa yang seharusnya benar-benar ada dalam file seperti yang saya punya yang saya cantumkan di bawah untuk paket minitunes debianrules: Kode: Pilih all usrbinmake - f - makefile - Contoh debianrules yang menggunakan debhelper. File ini awalnya ditulis oleh Joey Hess dan Craig Small. Sebagai pengecualian khusus, saat file ini disalin oleh dh-make menjadi file output dh-make, Anda dapat menggunakan file output tanpa batasan. Pengecualian khusus ini ditambahkan oleh Craig Small pada versi 0.37 dh-make. Uncomment ini untuk mengaktifkan mode verbose. Ekspor DHVERBOSE1 Terakhir diedit oleh badhat101 pada 2010-08-23 06:31, diedit 1 kali total. Wow. Ini adalah proyek ambisius yang Anda lakukan. File debianrules adalah seperangkat instruksi untuk membangun paket dan DEB. Jadi salah satu alasan paket Anda tidak dibangun adalah karena Anda belum menuliskan peraturan apa pun. Mengingat fakta bahwa pengembang memiliki paket lain di Debian: minitube dan fakta bahwa kedua paket tersebut ditulis dalam CQt, Anda mungkin bisa meminjam banyak dari file debianrules di minitube. Tentu saja, kedua paket berbeda, jadi Anda harus hati-hati membaca petunjuk pemasangan, dll untuk mengetahui cara mengkonfigurasi paket minitunes dengan benar. Juga, perhatikan bahwa Anda harus membuat minitunes pada Squeeze (atau Sid) karena minitunes memerlukan Qt 4.5 atau 4.6. Itu bukan jawaban sederhana yang Anda cari, tapi dengan sedikit kerja keras dan ketekunan, Anda akhirnya akan menemukannya dan belajar banyak sepanjang jalan. Good Luck, - Soul Singin. Update: cdbs memasukkan semuanya secara default ke usrlocal, dan meskipun saya yakin ada flag sederhana yang bisa dipasang dengan benar ke usr Saya hanya mengambil file peraturan dari smplayer di Squeeze, tapi kompresi lzma bersifat opsional (meski mendapat Inkscape 0.48.0 -1 deb turun menjadi 9,7 MB dari 23 MB QMAKEOPTS DEFINESNODEBUGONCONSOLE MAKEOPTS PREFIXusr QMAKEqmake-qt4 LRELEASElrelease-qt4 QMAKEOPTSquot (QMAKEOPTS) gunakan lzma untuk mengkompres deb, yang belum disetujui Debian for Debian, gunakan bzip2 atau biarkan kosong untuk menggunakan gzip overridedhbuilddeb: Dhbuilddeb - - Z lzma Keluhan yang saya dapatkan dari bahasa lintian, selain Mepis adalah kuota distribusi yang bagus, adalah kurangnya manual. Heres the debian folder Attachments debian. tar. gz (1.66 KiB) Downloaded 32 times Last edited by stevepusser on 2010 -08-23 05:59, edited 1 kali total Repositori MX Linux Backports berlimpah Jika kita tidak memiliki sesuatu, tanyakan saja dan cobalah dengan baik - kita menyukai tantangan Paket baru: Varietas 0.6.3, Bulan Pucat 27.1. 0, Liquorix kernel 4.9-9, SM Player 17.1.0, Corebird 1.0, Shotwell 24.5, Mesa 13.0.4 stevepusser - Saya meminjam dari peraturan yang telah Anda kirimkan dari paket lain dan paket minitunes dikompilasi dengan mereka. Seperti yang disarankan orang lain, saya akan membaca panduan Debian Maintainers dan juga panduan Miriam Ruiz, tapi saya memang ingin membuat tangan saya sedikit kotor dulu karena saya baru mengenal Debian (dan semua pembacaan yang telah saya lakukan sejauh ini membuat saya Kepala berputar) Sekarang saya tahu dari mana harus memulai dan memiliki beberapa trik rapi yang tidak mungkin saya pikirkan, yaitu mencuri peraturan dari paket lain, saya akan bersenang-senang mencari cara yang tepat untuk melakukan semuanya. Badhat101 menulis: trik rapi yang tidak saya duga, yaitu mencuri peraturan dari paket lain Kadang, saat Anda tur museum seni, Anda akan melihat siswa melukis salinan karya master seniman. Konsep yang sama bisa diterapkan pada pemrograman matematika dan komputer: Anda bisa belajar banyak dengan meniru para master. Good Luck and Have Fun - Soul Singin. Disclaimer Building dan menggunakan custom kernel akan membuat sangat sulit untuk mendapatkan dukungan untuk sistem anda. Meskipun ini adalah pengalaman belajar untuk mengkompilasi kernel Anda sendiri, Anda tidak akan diizinkan untuk menginfeksi bug pada kernel yang dibuat khusus (jika Anda melakukannya, mereka akan Ditolak tanpa penjelasan lebih lanjut). Catatan: Halaman ini memerlukan pembersihan yang signifikan. Anda mungkin ingin merujuk ke halaman KernelBuildYourOwnKernel di wiki Ubuntu, bukan yang merupakan panduan bersih dan lebih up-to-date untuk membangun kernel sederhana. Jika Anda memiliki kontrak dukungan komersial dengan UbuntuCanonical, ini akan membatalkan dukungan tersebut. Perhatikan juga bahwa halaman ini menjelaskan bagaimana melakukan hal-hal untuk kernel Edgy (2.6.17) dan yang lebih baru Sampai pada sumber kernel ini, kami tidak memiliki mekanisme yang memungkinkan orang membangun kernel mereka sendiri dengan mudah. Ini disengaja. Halaman ini TIDAK menjelaskan bagaimana membangun kernel hulu dari kernel. org. Ini adalah bagaimana membangun kembali kernel Ubuntu yang sebenarnya dimulai dari sumber. Alasan untuk mengkompilasi kernel kustom Anda adalah pengembang kernel. Anda memerlukan kernel yang dikompilasi dengan cara yang khusus, bahwa kernel resmi tidak dikompilasi (misalnya, dengan beberapa fitur eksperimental diaktifkan). Anda mencoba untuk men-debug masalah di kernel kernel saham yang telah Anda ajukan atau akan mengajukan laporan bug. Anda memiliki perangkat keras yang kernel kernel tidak mendukung. Anda menyukai komputer dan penasaran dan tertarik untuk melakukan hacking pada sistem GNULinux Anda sendiri untuk mempelajari lebih lanjut tentang cara kerjanya (dengan pemahaman bahwa Anda harus memperbaiki apa pun yang Anda pecahkan). Alasan TIDAK mengkompilasi kernel kustom Anda hanya perlu mengkompilasi driver khusus. Untuk ini, Anda hanya perlu menginstal paket-paket header linux. Anda tidak tahu apa yang Anda lakukan, dan jika Anda memecahkan sesuatu, Anda memerlukan pertolongan untuk memperbaikinya. Bergantung pada kesalahan Anda, Anda mungkin harus menginstal ulang sistem Anda dari awal. Anda sampai ke halaman ini karena kesalahan, dan memeriksanya karena terlihat menarik, tapi Anda benar-benar tidak ingin belajar banyak tentang kernel. Jika Anda ingin menginstal kernel baru tanpa kompilasi, Anda bisa menggunakan Synaptic. Cari linux-image dan pilih versi kernel yang ingin anda instal. Cara yang lebih mudah adalah dengan mengklik System gt Administration gt Update Manager. Lalu klik tombol Check, dan akhirnya klik Apply semua update termasuk kernel. Alat yang Anda butuhkan Untuk memulai, Anda perlu menginstal beberapa paket. Gunakan baris perintah berikut untuk menginstal secara tepat paket yang dibutuhkan untuk rilis yang Anda gunakan: Catatan: Paket makedumpfile tidak tersedia di Hardy. Dapatkan source kernel Ada beberapa cara untuk mendapatkan source kernel Ubuntu: Option A) Gunakan git Use git - Ini untuk pengguna yang selalu ingin tetap sinkron dengan source kernel Ubuntu terbaru. Untuk informasi Anda, petunjuk rinci tentang hal itu dapat ditemukan di Panduan Git Kernel Git repositori tidak menyertakan file kontrol yang diperlukan, jadi Anda harus membuatnya: Opsi B) Download arsip sumber Download arsip sumber - Ini untuk pengguna yang Ingin membangun kembali paket standar Ubuntu dengan tambalan tambahan. Perhatikan bahwa ini hampir selalu kedaluwarsa dibandingkan dengan sumber pengembangan terakhir, jadi Anda harus menggunakan git (opsi A) jika Anda memerlukan tambalan terbaru. Gunakan perintah berikut untuk menginstal dependensi pembuatan dan ekstrak sumbernya (ke direktori saat ini): Sumber modul Ubuntu mungkin juga diperlukan jika Anda berencana mengaktifkan dukungan PAE dan 64 GiB di kernel untuk Hardy 32-bit (8.04). Modul yang disediakan Ubuntu mungkin tidak kompatibel dengan kernel yang dilindungi PAE. Sumber akan didownload ke subdirektori di dalam direktori saat ini. Ubuntu Karmic Koala (9,10) dan rilis yang lebih baru Sumber akan didownload ke direktori saat ini sebagai trio file (untuk Lucid, setidaknya) (.orig. tar. gz. diff. gz dan. dsc) dan sub - direktori. Misalnya, jika uname - r kembali 2.6.32-25-generik. Kamu akan mendapatkan linux2.6.32.orig. tar. gz. Linux2.6.32-25.44.diff. gz. Linux2.6.32-25.44.dsc dan sub-directory linux-2.6.32. Opsi C) Download paket sumber Download paket sumber (petunjuk rinci lebih jauh ke bawah halaman ini di bawah Alternate Build Method (B): The Old-Fashioned Debian Way) - Ini untuk pengguna yang hanya ingin memodifikasi, atau bermain-main dengan, Source kernel yang di-patch Ubuntu. Sekali lagi, ini tidak akan menjadi yang paling up-to-date (gunakan Option Agit jika Anda memerlukan sumber terbaru). Perlu diketahui hal ini TIDAK sama dengan Option BDownload source archive. Memodifikasi sumber untuk kebutuhan Anda Bagi kebanyakan orang, cukup modifikasi konfigurasi saja sudah cukup. Jika Anda perlu menginstal patch, baca instruksi dari penyedia patch untuk mempelajari bagaimana cara menerapkannya. Konfigurasi Ubuntu saham terletak di debianconfigARCH dimana ARCH adalah arsitektur yang sedang Anda bangun (dimulai dengan lela ini adalah debian. masterconfigARCH). Dalam direktori ini ada beberapa file. File konfigurasi adalah basis untuk semua target dalam arsitektur itu. Lalu ada beberapa file config. FLAVOUR yang berisi pilihan yang spesifik untuk target itu. Sebagai contoh, berikut adalah file untuk 2.6.20, i386: Jika Anda tidak menemukan file konfigurasi di bawah debianconfig. Anda mungkin menemukannya di direktori boot Anda (misalnya, bootconfig-2.6.22-14-generik) jika tidak, Anda harus memeriksa untuk melihat apakah lokasi alternatif telah ditentukan di dalam debiandebian. env dari direktori sumber kernel Anda. Jika Anda perlu mengubah opsi konfigurasi, cukup modifikasi file yang berisi pilihannya. Jika Anda hanya memodifikasi file konfigurasi, ini akan mempengaruhi semua target arsitektur ini. Jika Anda memodifikasi salah satu file target, itu hanya akan mempengaruhi target itu. Setelah menerapkan patch, atau menyesuaikan konfigurasi, selalu yang terbaik adalah meregenerasi file konfigurasi untuk memastikannya konsisten. Ada perintah pembantu untuk ini. Untuk meregenerasi semua arsitektur yang dijalankan: Jika Anda hanya ingin memperbarui satu arsitektur. Jalankan: Catatan: Jika Anda tidak memiliki direktori debian setelah menggunakan sumber apt-get. Gunakan dpkg-source - x dsc untuk mengekstrak sumber dengan benar. Untuk dua perintah berikut ini, Anda perlu memberikan skrip di direktori debianscriptsmisc dan debianscripts untuk melakukan perintah dengan perintah berikut: Membangun Kernel Ada dua cara yang tercantum untuk membangun kernel Ubuntu: Build Method A: Bangun kernel (Ketika source berasal dari repositori git, atau dari apt-get source) Untuk membangun kernel sangat sederhana. Bergantung pada kebutuhan Anda, Anda mungkin ingin membangun semua target kernel, atau hanya satu yang spesifik untuk sistem Anda. Namun, Anda juga ingin memastikan bahwa Anda tidak berbenturan dengan kernel saham. Catatan: Meskipun petunjuk di luar ini termasuk membuat cabang kernel yang terpisah dan unik, tidak seperti di sini, ini mencakup penjelasan menyeluruh tentang semua langkah yang diperlukan dari awal sampai akhir. Instruksi ini khusus untuk pohon git dan untuk sumber yang didownload melalui sumber apt-get. Bukan saat mendownload paket source linux dari kernel. org Gunakan perintah ini untuk membangun semua target arsitektur yang sedang Anda bangun: debianrules clean create debiancontrol. Debianchangelog Dan seterusnya dari debian. ltbranchnamegt (misalnya debian. master). Hal ini diperlukan di pohon git berikut git commit 3ebd3729ce35b784056239131408b9a72b0288ef UBUNTU: Config Abstrak direktori debian. Variabel lingkungan AUTOBUILD memicu fitur khusus di kernel build. Pertama, ia melewatkan pemeriksaan ABI normal (ABI adalah kompatibilitas biner). Hal ini bisa dilakukan karena ini juga menciptakan ID ABI yang unik. Jika Anda menggunakan repo git, ID unik ini dihasilkan dari git HEAD SHA. Jika tidak, itu dihasilkan dari program uuidgen (yang berarti setiap kali Anda menjalankan debianrules, UUID akan berbeda). Paket Anda akan diberi nama dengan menggunakan ID ini. (Perhatikan bahwa di Intrepid dan yang lebih baru, Anda memerlukan skipabitrue untuk melewati pemeriksaan ABI.) Untuk membangun target tertentu. Gunakan perintah ini: Di mana FLAVOR adalah salah satu rasa utama kernel (misal: generik) Untuk membangun salah satu rasa khusus (ditemukan di debianbinary-custom. d), gunakan: Dari dokumentasi ini, rasa khusus meliputi xen dan rt. Jika Anda memiliki lebih dari satu prosesor atau lebih dari satu inti, Anda dapat mempercepat semuanya dengan menjalankan perintah kompilasi bersamaan. Tambahkan CONCURRENCYLEVEL2 untuk dua prosesor atau dua core ganti 2 dengan nomor apapun sesuai dengan pengaturan perangkat keras Anda (untuk Gutsy dan nanti, Anda bisa menggunakan DEBBUILDOPTIONSparallel2). Jika Anda mendapatkan kesalahan ABI, Anda bisa menghindari pemeriksaan ABI dengan skipabitrue. Misalnya, Untuk memicu pembuatan ulang, hapus file stempel yang sesuai dari debianstamp (misalnya stamp-build-server untuk rasa server, dsb.). Debs ditempatkan di direktori induk direktori direktori kernel Anda. Jika diperlukan, sumber modul Ubuntu untuk Hardy (8.04) dapat dibangun dengan cara yang sama. Atau, jika Anda perlu menentukan kernel yang berbeda dari pada yang sedang berjalan, gunakan Jika Anda mengalami kesalahan, coba jalankan ini di kerneldir. (Contoh untuk rasa generik) Metode Bangun Alternatif (B): Jalan Debian Kuno-Mode Sistem pengembangan Ubuntu yang baru sangat bagus untuk pengembang, bagi orang-orang yang membutuhkan kernel pendarahan mutakhir yang mutlak, dan orang-orang yang perlu membangun beragam Set kernel (beberapa rasa). Namun bisa jadi sedikit rumit bagi pengguna biasa. Jika Anda tidak memerlukan sumber pengembangan terbaru, ada cara sederhana untuk mengkompilasi kernel Anda dari paket sumber linux. Seperti yang disarankan di atas, semua yang Anda butuhkan untuk ini adalah: Perintah terakhir dalam urutan membawa Anda ke direktori teratas dari pohon sumber kernel. Sebelum membangun kernel, Anda harus mengkonfigurasinya. Jika Anda ingin menggunakan kembali konfigurasi kernel yang saat ini berjalan, mulailah dengan Sebelum Anda menjalankan membuat menuconfig atau membuat xconfig (inilah langkah selanjutnya yang harus Anda lakukan), pastikan Anda memiliki paket yang diperlukan: Jika Anda mau Seperti untuk melihat apa yang berbeda antara konfigurasi kernel asli Anda dan yang baru (dan memutuskan apakah Anda menginginkan fitur baru), Anda dapat menjalankan: Sejak kernel 2.6.32, fitur baru memungkinkan Anda untuk memperbarui konfigurasi menjadi hanya Kompilasi modul yang benar-benar digunakan di sistem Anda: Lalu, terlepas dari apakah Anda menggunakan kembali konfigurasi yang ada atau mulai dari nol: Bagaimana dengan ini. (Yang berasal dari KernelBuildYourOwnKernel Page di bagian Modifying the configuration) Jika Anda menggunakan ulang konfigurasi yang ada, perhatikan bahwa kernel Ubuntu dibangun dengan informasi debugging, yang membuat modul kernel yang dihasilkan (file. ko) jauh lebih besar daripada yang seharusnya. menjadi. Untuk mematikannya, masuk ke konfigurasi Kernel hackinglt - lalu, di bawah debugging Kernel, --gt dan matikan MATI Kumpulkan kernel dengan info debug. Sekarang Anda bisa mengkompilasi kernel dan membuat paketnya: Anda bisa mengaktifkan penggunaan make-j secara paralel. Coba 1 jumlah inti prosesor. misalnya 3 jika Anda memiliki prosesor dual core: Pada kernel yang lebih baru, jika Anda hanya memerlukan paket biner dan menginginkan beberapa bangunan (saat mengedit sumbernya) tidak menyebabkan semuanya dapat dibangun kembali, gunakan: Paket. deb akan dibuat pada orang tua Direktori direktori sumber Linux Anda (dalam contoh ini, mereka akan ditempatkan di src karena direktori sumber Linux kami adalah Install the new kernel Jika Anda ingin melihat layar splash Ubuntu (atau gunakan mode teks) sebelum Anda masuk ke X dan bukan hanya Layar hitam, Anda akan ingin memastikan beban driver framebuffer: Sekarang Anda sudah memberi tahu alat-alat initramf-modul yang harus disertakan, dan setelah build selesai, Anda dapat menginstal deb yang dihasilkan menggunakan dpkg. Demikian pula, jika Anda telah membangun Modul Ubuntu untuk Hardy (8.04) sebelumnya, instal mereka sebagai berikut: Jika Anda menggunakan modul dari modul yang dibatasi linux, Anda perlu mengkompilasi ulang ini dengan paket header-linux baru Anda Catatan: Sebagai tanggapan atas berbagai komentar dalam sisa Dari bagian ini: Di Ub Untu Precise (12.04) nampaknya postinst TIDAK menangani hal-hal initramfs. Setelah menginstal paket kernel baru saya boot dengan baik tanpa mengikuti salah satu metode di bawah ini. Seseorang tolong perbaiki saya jika saya salah. Sejak Ubuntu Lucid (10.04) gambar postinst tidak lagi menjalankan perintah pembuatan initramfs. Sebagai gantinya, ada contoh script yang disediakan yang akan melakukan tugas. Skrip ini akan bekerja untuk gambar kernel resmi juga. Sebagai contoh: Catatan: Saya tidak bisa mendapatkan skrip di atas untuk membantu menghasilkan initrd untuk kernel - dan kernel yang dibangun tidak dapat melakukan boot satu-satunya hal yang sesuai untuk saya adalah rekomendasi dalam debian-administration. orgarticleHowDoIMakeaninitrdimage. Gunakan perintah initramfs Ini adalah solusi nyata. Apa yang saya gunakan (setelah kernel custom-built. debs diinstal), adalah: Catatan (Michael): itu karena Anda perlu menyertakan skrip paket yang tepat untuk membangun initrd pada waktu pemasangan paket. Pilihan make-kpkg adalah --overlay-dir. Secara default, make-kpkg menggunakan paket usrsharekernel sebagai direktori overlay, yang berisi skrip default dan tidak biasa untuk distribusi Debian, dan bukan yang dibutuhkan untuk membangun kernel Ubuntu. Pertama salin direktori overlay default ke direktori home Anda: Kemudian instal sumber kernel yang Anda gunakan saat ini, dengan menggunakan nama paket yang tepat, mis. Yang akan membongkar sumber ke HOMElinux-2.6.32. Sekarang salin skrip kontrol ke overlay baru Anda: Dan sekarang Anda dapat menjalankan make-kpkg dengan opsi baris perintah tambahan - paket-paket pengeluaran-dirHOMEkernel. Membangun kembali modul yang dibatasi linux Paket linux-restricted-modules (lrm) berisi sejumlah driver bebas-DFSG (juga beberapa firmware dan daemon jaringan nirkabel ipw3945) yang, di dunia yang sempurna, tidak harus menjadi Dikemas terpisah, namun sayangnya tidak tersedia dengan lisensi GPL yang kompatibel. Jika Anda menggunakan perangkat keras yang didukung oleh paket l-r-m, Anda mungkin akan mendapati bahwa sistem Anda tidak berfungsi dengan baik setelah beralih ke kernel khusus. Dalam hal ini Anda harus mencoba untuk mengkompilasi paket l-r-m. Lihat CustomRestrictedModules tentang bagaimana membangun kembali l-r-m (jika Anda menggunakan driver binari nVidia atau ATI, Anda melakukannya). Catatan: Anda memerlukan sekitar 8 jam waktu kompilasi dan sekitar 10 Gb ruang hard drive untuk mengkompilasi semua rasa kernel dan modul yang dibatasi. Catatan lebih lanjut: Tidak ada paket modul modul l-r-m atau linux-restricted-modules di Lucid. Mempercepat Bangun Gunakan distcc dan, jika Anda membangunnya kembali, ccache. Gambaran umum penggunaan distcc pada sistem berbasis debian tersedia di myrddin. orghowtousing-distcc-with-debian. Jika Anda memiliki mesin AMD64 yang tersedia di jaringan area lokal Anda, mereka tetap dapat berpartisipasi dalam membangun distorsi kode 32 bit yang tampaknya menangani secara otomatis. Namun, dengan distcc mengambil alih semua kompilasi secara default, Anda perlu mengatur HOSTCC sehingga ketika kernel dibangun ingin menggunakan kompilator pada host itu sendiri, mereka tidak akan mendistribusikan pekerjaan ke server 64-bit. Jika Anda gagal melakukan itu, Anda akan mendapatkan kegagalan kompatibilitas tautan antara kode 64-bit dan 32-bit. Perintah make-kpkg saya, dengan usrlibccache di kepala PATH saya. Terlihat seperti: Lebih dokumentasi Silakan masuk ke halaman wiki komunitas untuk komentar, pertanyaan dan diskusi: wiki. ubuntuKernelCustomBuild
No comments:
Post a Comment