Fakeroot Debianrules Clean Binary Optionen


Open Issues threads yes ist in debiansysdepslinux. mk und debiansysdepskfreebsd. mk gesetzt. Debiansysdepshurd. mk auf nr. Aber das ist nur gelesen in debianrules für die Entscheidung einige nscd Paket Problem debiansysdepshurd. mk s libcextrainstall für ld. so. Überprüfen Sie mit der GCC-Konfiguration. Könnte ein toggle zu 036 (Stempel) bauen in debianrules. dbuild. mk hinzufügen, um locale Zeug zu überspringen. IRC, freenode, hurd, 2013-08-28 Run debianrules Patch, um Patches anzuwenden (anstatt es während des Builds zu machen). Dann können Sie Dateien manuell bearbeiten. Mehrere Pässe: libc. I686 Xen EGLIBCPASSESlibc i686. Etc. Bei der Erstellung mit EGLIBCPASSESlibc (genauer, ohne xen), wird die libc0.3-devextrapkginstall Regel in debiansysdepshurd-i386.mk fehlschlagen. (Gleiche für libc6-devextrapkginstall in debiansysdepsi386.mk zum Beispiel) Warum ist diese spezielle Behandlung nur für xen gemacht. Aber nicht für i686 Samuel: Historisch, weil es so in linux-i386 getan hat. Ich weiß nicht den wirklichen Grund. LCALLC vor dem Bauen exportieren, sonst unterscheiden sich die Fehlermeldungen des Testversuches von denen, die in den debiantestsuite-checkingxpected-results-Dateien gespeichert sind, was zu einem falschen Build-Ausfall führt. Run debianrules build-arch DEBBUILDOPTIONSparallel2 EGLIBCPASSES. Zu bauen (oder zu bauen, anstatt zu bauen, um das Bogen-unabhängige Zeug zu bauen). Kann mit C-c während locale Zeug oder testsuite interrupt, wenn nur interessiert in den Baum bauen. FREIES FREUDE debianrules binär DEBBUILDOPTIONSparallel2 EGLIBCPASSES. Um Debian-Pakete oder Binärbogen für nur die architekturabhängigen zu bauen. Die beiden letzteren können auch als dpkg-buildpackage - Rdebianrules EGLIBCPASSESlibc - nc - b - uc kombiniert werden. - nc wird den sauberen Schritt verhindern, der zuerst versuchen würde, un-patch, die in Konflikt stehen kann, wenn Sie irgendwelche Bearbeitungen apter Anwendung Patches getan haben. Wenn die Debian-Symbol-Versionsdatei nicht aktuell ist und der Build von Debian-Paketen aufgrund dieses Problems fehlschlägt, sieht man, dass DPKGGENSYMBOLSCHECKLEVEL0 in der Umgebung verwendet wird, um man dpkg-gensymbols zu sehen. IRC, freenode, hurd, 2013-07-01 Copyright 2011, 2013 Free Software Foundation, Inc. Es ist erlaubt, dieses Dokument unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder einer späteren Version zu vervielfältigen, zu verbreiten und zu modifizieren Die freie Software-Stiftung ohne unveränderliche Abschnitte, keine Front-Cover-Texte und keine Back-Cover-Texte. Eine Kopie der Lizenz ist im Abschnitt GNU Free Documentation License enthalten. Zuletzt bearbeitet 2015-02-17 23:58:35 UTCI habe immer wieder versucht, mein Projekt auf Extras-devel zu laden, aber habe es ununterbrochen gescheitert .. hier ist das Protokoll TMPquotvartmpquot TEMPquotvartmpquot DEBIANFRONTENDwotnoninteractivequot DEBIANPRIORITYquotcriticalquot DEBBUILDOPTIONSquotparallel4quot TMPDIRquotvartmpquot dpkg-buildpackage: set CFLAGS Auf den Standardwert: - g - O2 dpkg-buildpackage: setze CPPFLAGS auf den Standardwert: dpkg-buildpackage: setze LDFLAGS auf den Standardwert: dpkg-buildpackage: setze FFLAGS auf den Standardwert: - g - O2 dpkg-buildpackage: setze CXXFLAGS auf Default Wert: - g - O2 dpkg-buildpackage: Quellcode-Paket tabcgpa dpkg-buildpackage: Quellversion 0.3 dpkg-buildpackage: Hostarchitektur armel dpkg-checkbuilddeps: Verwenden von Scratchbox-Tools zur Erfüllung von Builddeps fakeroot debianrules clean dhtestdir dhtestroot rm - f build-stamp configure - Stempel Fügen Sie hier Befehle hinzu, um nach dem Build-Prozess aufzuräumen. Scratchboxtoolsbinmake clean make1: Eingeben von Verzeichnis homebuilder1maemo-fremantle-armel-extras-develworktabcgpa-0.3 Makefile: 98: mehrere Zielmuster. Halt. make1: Verlassen Verzeichnis homebuilder1maemo-fremantle-Armel-extras-develworktabcgpa-0.3 make: clean Fehler 2 dpkg-build: Fehler: fakeroot debianrules sauber gab den Fehlerwert 2 und auch auf andere versucht TMPquotvartmpquot TEMPquotvartmpquot DEBIANFRONTENDquotnoninteractivequot DEBIANPRIORITYquotcriticalquot DEBBUILDOPTIONSquotparallel4quot TMPDIRquotvartmpquot dpkg-build: set CFLAGS auf Default-Wert: - g - O2 dpkg-buildpackage: setze CPPFLAGS auf Defaultwert: dpkg-buildpackage: set LDFLAGS auf Defaultwert: dpkg-buildpackage: set FFLAGS auf Defaultwert: - g - O2 dpkg-buildpackage: setze CXXFLAGS an Standardwert: - g - O2 dpkg-buildpackage: Quellpaket tabcgpa dpkg-buildpackage: Quellversion 0.3 dpkg-buildpackage: Hostarchitektur armel dpkg-checkbuilddeps: Verwenden von Scratchbox-Tools zur Erfüllung von Builddeps fakeroot debianrules clean dhtestdir dhtestroot rm - f build-stamp Add Hier befehle es, nach dem Build-Prozess aufzuräumen. Rm - rf builddir dhclean dpkg-source - b tabcgpa-0.3 dpkg-Quelle: info: mit Quellformat 1.0 dpkg-Quelle: info: Gebäude tabcgpa in tabcgpa0.3.tar. gz dpkg-Quelle: info: Gebäude tabcgpa in tabcgpa0. 3.dsc debianrules bauen mkdir - p builddir cd builddir ampamp qmake-qt4 PREFIXusr. Tabcgpa. pro scratchboxtoolsbinsh: Zeile 1: qmake-qt4: Befehl nicht gefunden make: builddirMakefile Fehler 127 dpkg-buildpackage: Fehler: debianrules build gab Fehler Ausstieg Status 2 Ich habe verschiedene Regeln Datei in den Threads und auch die Standardeinstellung eins erstellt erstellt Qt sdk..none arbeitete die deb arbeitet mit dpkg - i Ist libqt4-dev in Build Depends (debiancontrol) Ist libqt4-dev in Build Depends (debiancontrol) Ich versuchte mit und ohne dass die gleichen Ergebnisse schließlich hinzugefügt libqt4-dev und ersetzt die Regeln Datei wieder Im Laufe in das gleiche Problem Ive hinzugefügt libqt4-dev zu meiner Steuerdatei: Paket: Dicer Quelle: dicer Version: 0.1 Architektur: armel Maintainer: Willem Liu ltwillem. liugmailgt Installed-Size: 94 Hängt davon ab: libc6 (gt 2.5. 0-1), libgcc1 (gt 1: 4.2.1), libqt4-Kern (gt 4.6.2 git20100401), libqt4-gui (gt 4.6.2 git20100401), libstdc6 (gt 4.2.1), libqt4-dev Abschnitt: Userother Priorität: extra Homepage: gitoriousdicer Beschreibung: Würfelwurfprogramm. Generieren Sie zufällige Ergebnisse für eine beliebige Anzahl von Würfeln mit einer beliebigen Anzahl von Augen. Meine Regeln Datei sieht wie folgt aus: usrbinmake - f - makefile - Beispiel debianrules, die debhelper verwendet. Diese Datei wurde ursprünglich von Joey Hess und Craig Small geschrieben. Als besondere Ausnahme, wenn diese Datei von dh-make in eine dh-make-Ausgabedatei kopiert wird, kannst du diese Ausgabedatei ohne Einschränkung verwenden. Diese besondere Ausnahme wurde von Craig Small in der Version 0.37 von dh-make hinzugefügt. Uncomment, um den ausführlichen Modus einzuschalten. Exportieren DHVERBOSE1 konfigurieren: configure-stamp configure-stamp: dhtestdir Fügen Sie hier Befehle hinzu, um das Paket zu konfigurieren. Build-stamp: configure-stamp dhtestdir Fügen Sie hier Befehle hinzu, um das Paket zu kompilieren. (MAKE) docbook-to-man debiandicer. sgml gt dicer.1 sauber: dhtestdir dhtestroot rm - f bau-stempel configure-stempel Fügen Sie hier Befehle hinzu, um nach dem Build-Prozess aufzuräumen. (MAKE) saubere Installation: bauen dhtestdir dhtestroot dhclean - k dhinstalldirs Fügen Sie hier Befehle hinzu, um das Paket in debiandicer zu installieren. (MAKE) INSTALLROOTquot (CURDIR) quotdebiandicer install Build architektur-unabhängige Dateien hier. Binary-indep: build install Wir haben standardmäßig nichts zu tun. Erstelle Architektur-abhängige Dateien hier. Binary-arch: build install dhtestdir dhtestroot dhinstalldocs dhinstallexamples dhinstallman dhlink dhstrip dhcompress dhfixperms dhinstalldeb dhshlibdeps dhgencontrol dhmd5sums dhbuilddeb binary: binary-indep binary-arch. PHONY: baut clean binary-indep binary-arch binary install configure Kannst du mir irgendwelche Hinweise geben? Ist der fehlerbericht TMPquotvartmpquot TEMPquotvartmpquot DEBIANFRONTENDquotnoninteractivequot DEBIANPRIORITYquotcriticalquot DEBBUILDOPTIONSquotparallel4quot TMPDIRquotvartmpquot dpkg-build: set CFLAGS auf Standardwert: - g - O2 dpkg-build: set CPPFLAGS auf Standardwert: dpkg-build: set LDFLAGS auf Standardwert: dpkg-build: set FFLAGS auf Standardwert: - g - O2 dpkg-buildpackage: setze CXXFLAGS auf den Standardwert: - g - O2 dpkg-buildpackage: Quellpaket dicer dpkg-buildpackage: Quellversion 0.1 dpkg-buildpackage: Hostarchitektur armel dpkg-checkbuilddeps: Verwenden von Scratchbox-Tools, um builddeps fakeroot zu befriedigen Debianrules clean dhtestdir dhtestroot rm - f bau-stempel configure-stempel Fügen Sie hier Befehle hinzu, um nach dem Build-Prozess aufzuräumen. Scratchboxtoolsbinmake clean make1: Eingeben von Verzeichnis homebuilder1maemo-fremantle-armel-extras-develworkdicer-0.1 make1: Keine Regel, um das Ziel zu machen ...... NokiaQtSDKMaemo4.6.2Sysrootsfremantle-arm-sysroot-10.2010.19-1-slimusrshareqt4mkspecsdefaultqmake. conf, benötigt Von Makefile. Halt. Make1: Leaving-Verzeichnis homebuilder1maemo-fremantle-armel-extras-develworkdicer-0.1 make: clean Fehler 2 dpkg-buildpackage: Fehler: fakeroot debianrules clean gab Fehler beenden Status 2 vBulletinreg v3.8.8, Copyright copy2000-2017, vBulletin Solutions, Inc. Debian User-Foren Ich versuche, das Paket zu starten quotminitunesquot (flavio. tordini. orgminitunes) aber wenn ich den Code versuchen Code: Alles auswählen dpkg-buildpackage die Build-Exits mit dem Code Code: Alles markieren dpkg-buildpackage: error: fakeroot debianrules Binär hat Fehler gegeben Exit-Status 2 Dies geschieht tatsächlich, wenn ich versuche, jedes Paket mit quotdhmakequot so Im frage mich, ob es wegen meiner debianrules-Datei, die Im nicht so sicher, wie zu bearbeiten. Was sollte eigentlich in einer solchen Datei sein, die ich unten für das Minitunes-Paket debianrules gepostet habe: Code: Wähle alle usrbinmake - f - makefile - Sample debianrules, die debhelper benutzt. Diese Datei wurde ursprünglich von Joey Hess und Craig Small geschrieben. Als besondere Ausnahme, wenn diese Datei von dh-make in eine dh-make-Ausgabedatei kopiert wird, kannst du diese Ausgabedatei ohne Einschränkung verwenden. Diese besondere Ausnahme wurde von Craig Small in der Version 0.37 von dh-make hinzugefügt. Uncomment, um den ausführlichen Modus einzuschalten. Export DHVERBOSE1 Zuletzt bearbeitet von badhat101 am 2010-08-23 06:31, insgesamt 1 mal bearbeitet. Beeindruckend. Das ist ein ehrgeiziges Projekt, das Sie unternehmen. Die debianrules-Datei ist der Satz von Anweisungen zum Erstellen des Pakets und der DEB. Also ein Grund, warum dein Paket nicht baut, ist, weil du keine Regeln geschrieben hast. Angesichts der Tatsache, dass der Entwickler ein anderes Paket in Debian: Minitube und die Tatsache, dass beide Pakete in CQt geschrieben sind, können Sie wahrscheinlich schwer aus der debianrules Datei in Minitube zu leihen. Natürlich sind die beiden Pakete unterschiedlich, also musst du die Installationsanweisungen sorgfältig lesen, um herauszufinden, wie man das Minitunes-Paket richtig konfiguriert. Beachten Sie auch, dass Sie Minitunes auf Squeeze (oder Sid) bauen müssen, da Minitunes Qt 4.5 oder 4.6 benötigt. Das ist nicht die einfache Antwort, die du gesucht hast, aber mit ein wenig harter Arbeit und Beharrlichkeit, wirst du es schließlich herausfinden und viel unterwegs lernen. Viel Glück, - Soul Singin. Update: cdbs setzte alles standardmäßig in usrlocal ein, und obwohl ich mir trotzdem eine einfache Fahne bekomme, um korrekt in usr zu installieren, habe ich gerade die Regeln von smplayer in Squeeze genommen, aber lzma komprimierung ist optional (obwohl es die Inkscape 0.48.0 bekommt -1 deb bis zu 9,7 MB von 23 MB QMAKEOPTS DEFINESNODEBUGONCONSOLE MAKEOPTS PREFIXusr QMAKEqmake-qt4 LRELEASElrelease-qt4 QMAKEOPTSquot (QMAKEOPTS) verwenden lzma zu komprimieren debs, noch nicht von Debian für Debian genehmigt, verwenden bzip2 oder leer lassen, um gzip overridedhbuilddeb zu verwenden: Dhbuilddeb - - Z lzma Die Beschwerde, die ich von lintian bekomme, neben Mepis, der ein Zitat ist, ist ein Mangel an einer Manpage. Heres der Debian-Ordner Anhänge debian. tar. gz (1.66 KiB) 32 mal heruntergeladen Zuletzt bearbeitet von stevepusser auf 2010 -08-23 05:59, bearbeitet 1 Mal insgesamt Die MX-Linux-Repositories Backports in Hülle und Fülle Wenn wir nicht etwas haben, fragen Sie einfach und probieren Sie es - wir lieben Herausforderungen. Neue Pakete: Variety 0.6.3, Pale Moon 27.1. 0, Liquorix kernel 4.9-9, SMPlayer 17.1.0, Corebird 1.0, Shotwell 24.5, Mesa 13.0.4 stevepusser - Ich habe von den Regeln gelehnt, die du aus anderen Paketen gepostet hast und das Minitunes-Paket kompiliert mit ihnen. Wie andere vorgeschlagen haben, werde ich die Debian Maintainers Guide sowie Miriam Ruizs Guide lesen, aber ich wollte meine Hände ein wenig schmutzig zuerst als Im neu zu Debian (und all das Lesen Ive getan so weit macht meine Kopfdrehbeschleunigung) Jetzt, wo ich weiß, wo ich anfangen soll und habe einige nette Tricks, die ich nicht gedacht hätte, dh stehlen Regeln von anderen Paketen, Im gehend, eine gute Zeit zu haben, herauszufinden, die korrekte Weise, alles zu tun. Badhat101 hat geschrieben: nette Tricks, die ich nicht gedacht hätte, d. h. stehlen Regeln aus anderen Paketen Gelegentlich, wenn du ein Kunstmuseum besuchst, wirst du Schüler sehen, die eine Kopie einer Meisterkünstlerarbeit malen. Das gleiche Konzept kann auf Mathematik und Computer-Programmierung angewendet werden: Sie können viel lernen, indem Sie die Meister imitieren. Viel Glück und viel Spaß - Soul Singin. Disclaimer Das Erstellen und Verwenden eines benutzerdefinierten Kernels wird es sehr schwierig machen, Unterstützung für Ihr System zu bekommen. Während es sich um eine Lernerfahrung handelt, um deinen eigenen Kernel zu kompilieren, darfst du keine Bugs auf dem kundenspezifischen Kernel ablegen (wenn du es tust, werden sie ohne weitere Erläuterung abgelehnt). Hinweis: Diese Seite benötigt eine erhebliche Reinigung. Vielleicht möchten Sie auf KernelBuildYourOwnKernel Seite in Ubuntu Wiki stattdessen, die eine sauberere und mehr up-to-date Guide to (einfache) Kernel-Gebäude Wenn Sie einen kommerziellen Support-Vertrag mit UbuntuCanonical haben, wird dies eine solche Unterstützung ungültig zu verweisen. Beachten Sie auch, dass diese Seite beschreibt, wie man Dinge für den Edgy (2.6.17) Kernel und neuer macht. Bis zu dieser Kernel-Quelle hatten wir keine Mechanismen, die es den Leuten erlaubten, ihre eigenen Kernel einfach zu bauen. Das war absichtlich. Diese Seite beschreibt nicht, wie man Upstream-Kernel von kernel. org erstellt. Dies ist, wie man den eigentlichen Ubuntu-Kernel aus der Quelle wieder aufbaut. Gründe für die Erstellung eines benutzerdefinierten Kernels Sie sind ein Kernel-Entwickler. Du brauchst den Kernel auf eine besondere Art kompiliert, dass der offizielle Kernel nicht kompiliert ist (zB mit einigen experimentellen Funktionen aktiviert). Sie versuchen zu debuggen ein Problem in der Lager Ubuntu-Kernel, für die Sie abgelegt haben oder einen Fehlerbericht einreichen wird. Sie haben Hardware die Aktie Ubuntu Kernel nicht unterstützen. Sie lieben Computer und sind neugierig und interessiert an Hacken auf Ihrem eigenen GNULinux System, um mehr darüber zu erfahren, wie es funktioniert (mit dem Verständnis, dass youll müssen alles, was Sie brechen zu beheben). Gründe für die NICHT Erstellung eines benutzerdefinierten Kernels Sie müssen lediglich einen speziellen Fahrer kompilieren. Dazu müssen Sie nur die linux-header-Pakete installieren. Du hast keine Ahnung, was du tust, und wenn du etwas zerbrichst, dann musst du helfen, es zu beheben. Je nachdem, was Sie falsch machen, könnten Sie am Ende müssen Sie Ihr System von Grund auf neu installieren. Du bist auf diese Seite aus Versehen und hast es ausprobiert, weil es interessant aussah, aber du willst wirklich nicht viel über Kernel lernen. Wenn du einen neuen Kernel ohne Kompilierung installieren möchtest, kannst du Synaptic benutzen. Suche nach linux-image und wähle die Kernel-Version aus, die du installieren möchtest. Ein einfacher Weg ist, auf System gt Administration gt Update Manager klicken. Dann klicken Sie auf die Schaltfläche "Überprüfen" und klicken Sie dann auf Alle Updates einschließlich des Kernels anwenden. Tools youll need Um zu starten, müssen Sie ein paar Pakete installieren. Verwenden Sie eine folgende Befehlszeile, um genau die für die Freigabe benötigten Pakete zu installieren, die Sie verwenden: Hinweis: Das Paket makedumpfile ist in Hardy nicht verfügbar. Holen Sie sich die Kernel-Quelle Es gibt ein paar Möglichkeiten, um die Ubuntu-Kernel-Quelle zu erhalten: Option A) Verwenden Sie git Use git - Dies ist für Benutzer, die immer in Synchronisierung mit der neuesten Ubuntu-Kernel-Quelle bleiben wollen. Für Ihre Informationen finden Sie detaillierte Anleitungen dazu im Kernel Git Guide Das Git Repository enthält keine notwendigen Steuerungsdateien, also müssen Sie sie bauen durch: Option B) Laden Sie das Quellarchiv herunter Laden Sie das Quellarchiv herunter - Dies ist für Benutzer, die Wollen die Standard-Ubuntu-Pakete mit zusätzlichen Patches wieder aufbauen. Beachten Sie, dass dies fast immer veraltet sein wird, verglichen mit der neuesten Entwicklungsquelle, also sollten Sie git (Option A) verwenden, wenn Sie die neuesten Patches benötigen. Verwenden Sie einen folgenden Befehl, um die Build-Abhängigkeiten zu installieren und die Quelle zu extrahieren (in das aktuelle Verzeichnis): Ubuntu-Modul-Quelle kann auch benötigt werden, wenn Sie planen, PAE und 64 GiB-Unterstützung im Kernel für 32-Bit Hardy (8.04) zu aktivieren. Die mit Ubuntu gelieferten Module sind möglicherweise nicht mit einem PAE-aktivierten Kernel kompatibel. Die Quelle wird in ein Unterverzeichnis im aktuellen Verzeichnis heruntergeladen. Ubuntu Karmic Koala (9.10) und neuere Releases Die Quelle wird in das aktuelle Verzeichnis als Trio von Dateien heruntergeladen (für Lucid, zumindest) (.orig. tar. gz. diff. gz und. dsc) und ein Sub - Verzeichnis. Zum Beispiel, wenn Uname - r gibt 2.6.32-25-generischen. Youll erhalten linux2.6.32.orig. tar. gz. Linux2.6.32-25.44.diff. gz Linux2.6.32-25.44.dsc und das Unterverzeichnis linux-2.6.32. Option C) Laden Sie das Quellpaket herunter Laden Sie das Quellpaket herunter (detaillierte Anleitungen finden Sie weiter unten auf dieser Seite unter Alternate Build Method (B): Der altmodische Debian-Weg) - Dies ist für Benutzer, die einfach nur ändern oder herumspielen möchten, Die Ubuntu-gepatchte Kernelquelle. Auch dies wird nicht die meisten up-to-date (verwenden Sie Option Agit, wenn Sie die neueste Quelle benötigen). Bitte beachten Sie, dass dies nicht das gleiche ist wie Option BDownload das Quellarchiv. Ändern Sie die Quelle für Ihre Bedürfnisse Für die meisten Menschen, einfach das Ändern der configs ist genug. Wenn Sie einen Patch installieren müssen, lesen Sie die Anweisungen des Patch-Providers, um zu erfahren, wie Sie ihn anwenden können. Die Ubuntu-Konfigurationen befinden sich in debianconfigARCH, wobei ARCH die Architektur ist, die Sie aufbauen (beginnend mit Jaunty das ist debian. masterconfigARCH). In diesem Verzeichnis gibt es mehrere Dateien. Die Konfigurationsdatei ist die Basis für alle Ziele in dieser Architektur. Dann gibt es mehrere config. FLAVOUR Dateien, die Optionen enthalten, die für dieses Ziel spezifisch sind. Zum Beispiel sind hier die Dateien für 2.6.20, i386: Wenn Sie die Konfigurationsdateien nicht unter debianconfig finden. Sie können sie in Ihrem Boot-Verzeichnis finden (z. B. bootconfig-2.6.22-14-generic). Ansonsten sollten Sie überprüfen, ob ein alternativer Standort in debiandebian. env Ihres Kernel-Quellverzeichnisses angegeben wurde. Wenn Sie eine Konfigurationsoption ändern müssen, ändern Sie einfach die Datei, die die Option enthält. Wenn Sie nur die Konfigurationsdatei ändern, wird es alle Ziele für diese Architektur beeinflussen. Wenn Sie eine der Zieldateien ändern, wirkt sie nur auf dieses Ziel. Nach dem Anwenden eines Patches oder der Anpassung der Configs ist es immer am besten, die Konfigurationsdateien zu regenerieren, um sicherzustellen, dass sie konsistent sind. Hierfür gibt es einen Helferbefehl. Um alle Architekturen zu regenerieren, laufen Sie: Wenn Sie nur eine Architektur aktualisieren möchten. Run: Hinweis: Wenn Sie das Debian-Verzeichnis nicht haben, nachdem Sie apt-get source verwendet haben. Verwenden Sie dpkg-source - x dsc, um die Quellen richtig zu extrahieren. Für diese beiden Befehle zu arbeiten, müssen Sie die Skripte in die debianscriptsmisc und debianscripts Verzeichnisse ausführen Genehmigung mit dem folgenden Befehl: Erstellen Sie den Kernel (s) Es gibt zwei aufgelistete Möglichkeiten, um die Ubuntu-Kernel zu bauen: Build-Methode A: Erstellen Sie den Kernel (Wenn die Quelle aus dem git-Repository oder aus der apt-get-Quelle stammt) Der Kernel (s) ist sehr einfach. Abhängig von Ihren Bedürfnissen, können Sie alle Kernel-Ziele zu bauen, oder nur eine spezifische für Ihr System. Allerdings möchten Sie auch sicherstellen, dass Sie nicht mit den Aktienkernen kollidieren. Anmerkung: Obwohl diese Aussenanweisungen einen separaten und einzigartigen Zweig des Kernels beinhalten, enthalten sie im Gegensatz zu hier gründliche Erklärungen aller notwendigen Schritte von Anfang bis Ende. Diese Anweisungen sind spezifisch für den Git-Tree und für die Quelle heruntergeladen über apt-get Quelle. Nicht beim Herunterladen des Linux-Quellpakets von kernel. org Verwenden Sie diesen Befehl, um alle Ziele für die Architektur aufzubauen, auf der Sie aufbauen: debianrules clean erstellt debiancontrol. Debianchangelog Und so weiter von debian. ltbranchnamegt (z. B. debian. master). Es ist notwendig in Git Bäume nach Git Commit 3ebd3729ce35b784056239131408b9a72b0288ef UBUNTU: Config Abstrakt das Debian-Verzeichnis. Die Umgebungsvariable AUTOBUILD löst spezielle Funktionen im Kernel-Build aus. Zuerst überspringt es normale ABI-Prüfungen (ABI ist die binäre Kompatibilität). Es kann dies tun, weil es auch eine einzigartige ABI ID erzeugt. Wenn du einen Git Repo benutzt hast, wird diese eindeutige ID aus dem Git HEAD SHA generiert. Wenn nicht, wird es aus dem uuidgen-Programm generiert (was bedeutet, jedes Mal, wenn du die debianrules bauen, die UUID wird anders sein). Ihre Pakete werden mit dieser ID benannt. (Beachten Sie, dass in Intrepid und neuer, müssen Sie skipabitrue, um ABI-Prüfungen zu überspringen.) Um ein bestimmtes Ziel zu erstellen. Verwenden Sie diesen Befehl: Wo FLAVOR einer der Hauptaromen des Kernels ist (z. B. generisch) Um einen der benutzerdefinierten Aromen zu erstellen (gefunden in debianbinary-custom. d), verwenden Sie: Ab dieser Dokumentation sind benutzerdefinierte Aromen xen und rt. Wenn du einen mehr als einen Prozessor oder mehr als einen Kern hast, kannst du die Dinge beschleunigen, indem du gleichzeitige Kompilierungsbefehle ausführt. Vorbereitung CONCURRENCYLEVEL2 für zwei Prozessoren oder zwei Kerne ersetzen 2 mit welcher Nummer auch deinem Hardware-Setup passt (für Gutsy und später können Sie alternativ DEBBUILDOPTIONSparallel2 verwenden). Wenn du ABI-Fehler bekommst, kannst du den ABI-Check mit skipabitrue vermeiden. Zum Beispiel, um einen Wiederaufbau auszulösen, entfernen Sie die entsprechende Stempeldatei von debianstamps (z. B. Stempel-Build-Server für den Server-Geschmack usw.). Die debs werden in deinem übergeordneten Verzeichnis des Kernel-Quellverzeichnisses platziert. Bei Bedarf kann die Ubuntu-Modulquelle für Hardy (8.04) in ähnlicher Weise gebaut werden. Alternativ, wenn Sie einen anderen Kernel als den laufenden angeben müssen, verwenden Sie Wenn Sie einen Fehler erhalten, versuchen Sie es im kerneldir auszuführen. (Beispiel für den generischen Geschmack) Alternate Build Method (B): Der altmodische Debian-Weg Das neue Ubuntu-Build-System eignet sich hervorragend für Entwickler, für Menschen, die den absolut spätesten Kernkern kennenlernen und Menschen, die vielfältig bauen müssen Satz von Kernel (mehrere Aromen). Allerdings kann es ein wenig komplex für gewöhnliche Benutzer sein. Wenn Sie nicht die neuesten Entwicklungsquellen benötigen, gibt es einen einfacheren Weg, um Ihren Kernel aus dem Linux-Source-Paket zu kompilieren. Wie oben angedeutet, alles, was Sie dafür benötigen, ist: Der letzte Befehl in der Sequenz bringt Sie in das Top-Verzeichnis eines Kernel-Quellbaums. Bevor Sie den Kernel erstellen, müssen Sie ihn konfigurieren. Wenn du die Konfiguration deines derzeit laufenden Kernels wiederverwenden möchtest, fange an, bevor du make menuconfig machst oder xconfig machst (was der nächste Schritt sagt, dass du es machst), vergewissere dich, dass du die notwendigen Pakete hast: Wenn du es hättest Wie zu sehen, was zwischen deiner ursprünglichen Kernel-config und dem neuen unterscheidet (und entscheide, ob du irgendwelche der neuen Features will), kannst du laufen: Da der 2.6.32-Kernel eine neue Funktion erlaubt, die Konfiguration nur zu aktualisieren Kompilieren Sie Module, die tatsächlich in Ihrem System verwendet werden: Dann, egal ob Sie eine bestehende Konfiguration erneut verwenden oder von vorne anfangen: Was ist damit? (Die von der KernelBuildYourOwnKernel-Seite im Abschnitt Ändern der Konfiguration) Wenn Sie die vorhandene Konfiguration erneut verwendet haben, beachten Sie, dass Ubuntu-Kernel mit Debugging-Informationen erstellt werden, wodurch die resultierenden Kernelmodule (.ko-Dateien) viel größer sind als sonst Sein. Um dies auszuschalten, gehe in die configs Kernel hackinglt - dann unter Kernel Debugging, --gt und ausschalten Kompilieren Sie den Kernel mit Debug-Info. Jetzt können Sie den Kernel kompilieren und die Pakete erstellen: Sie können die parallele Nutzung machen make - j). Versuche 1 Anzahl Prozessorkerne. z. B. 3 Wenn du einen Dual-Core-Prozessor hast: Auf einem neueren Kernel, wenn du nur Binärpakete benötigst und mehrere Builds brauchst (beim Bearbeiten der Quelle), um nicht alles wiederherzustellen, verwenden Sie: Die. deb-Pakete werden im übergeordneten Element erstellt Verzeichnis in deinem Linux-Quellverzeichnis (in diesem Beispiel würden sie in src platziert werden, da unser Linux-Quellverzeichnis den neuen Kernel installiert ist. Wenn du den Ubuntu-Splash-Bildschirm sehen möchtest (oder Textmodus verwenden), bevor du stattdessen an X kommst Ein schwarzer Bildschirm, youll wollen sicherstellen, dass der Framebuffer-Treiber lädt: Nun, dass youve sagte initramfs-Tools, welche Module es enthalten sollte, und sobald der Build abgeschlossen ist, können Sie die generierten debs mit dpkg installieren. Ähnlich, wenn Sie das gebaut haben Ubuntu-Modul für Hardy (8.04) früher, installieren Sie sie wie folgt: Wenn Sie Module aus linux-restricted-modules verwenden, müssen Sie diese mit Ihrem neuen Linux-Header-Paket neu kompilieren. Hinweis: Als Reaktion auf die verschiedenen Kommentare im Rest Von diesem Abschnitt: Auf Ubuntu Precise (12.04) scheint es, dass postinst DOES kümmert sich um die initramfs Zeug. Nach der Installation des Pakets startete mein neuer Kernel ganz gut, ohne irgendwelche der folgenden Methoden zu befolgen. Jemand bitte korrigieren mich, wenn ich mich irre. Seit Ubuntu Lucid (10.04) läuft das Bild postinst nicht mehr die initramfs Erstellungsbefehle. Stattdessen gibt es Beispielskripts, die die Aufgabe ausführen. Diese Skripte werden auch für offizielle Kernelbilder funktionieren. Zum Beispiel: Anmerkung: Ich konnte nicht die oben genannten Skripte, um bei der Erzeugung einer initrd für den Kernel zu helfen - und so konnte der eingebaute Kern nicht das einzige, was für mich gearbeitet hat, war die Empfehlung in debian-administration. orgarticleHowDoIMakeaninitrdimage. Befehl initramfs verwenden. Es ist echte Lösung. Was ich benutzt habe (nachdem die benutzerdefinierten kernels. debs installiert waren), war: note (Michael): das ist, weil du die richtigen Paket-Scripts einbinden musst, um die initrd bei der Paketinstallationszeit zu bauen. Die Option make-kpkg ist --overlay-dir. Standardmäßig verwendet make-kpkg usrsharekernel-package als Overlay-Verzeichnis, das die standardmäßigen, nicht benutzten Skripts für eine Debian-Distribution enthält und nicht die, die zum Erstellen eines Ubuntu-Kernels benötigt wird. Zuerst kopiere das Standard-Overlay-Verzeichnis in dein Home-Verzeichnis: Dann installiere die Quelle des aktuell verwendeten Kernels mit dem genauen Paketnamen, z. B. Die die Quellen zu HOMElinux-2.6.32 auspacken wird. Kopiere nun die Kontrollskripts in dein neues Overlay: Und nun kannst du make-kpkg mit der zusätzlichen Kommandozeilenoption --overlay-dirHOMEkernel-Paket ausführen. Wiederaufbau von linux-restricted-modules Das linux-restricted-modules (lrm) Paket enthält eine Reihe von Nicht-DFSG-freien Treibern (sowie einige Firmware und den ipw3945 Wireless Networking Daemon), die in einer perfekten Welt nicht sein müssen Separat verpackt, die aber leider unter einer GPL-kompatiblen Lizenz nicht verfügbar sind. Wenn Sie eine der vom l-r-m-Paket unterstützten Hardware verwenden, werden Sie wahrscheinlich feststellen, dass Ihr System auch nach dem Umstieg auf einen benutzerdefinierten Kern nicht funktioniert. In diesem Fall solltest du versuchen, das l-r-m Paket zu kompilieren. Weitere Informationen finden Sie unter CustomRestrictedModules, wie Sie l-r-m neu erstellen (wenn Sie nVidia - oder ATI-Binär-Treiber verwenden). Hinweis: Sie benötigen etwa 8 Stunden Kompilierungszeit und rund 10 GB Festplattenspeicher, um alle Kernel-Aromen und eingeschränkten Module zu kompilieren. Weitere Anmerkung: In Lucid gibt es keine l-r-m - oder linux-restricted-modules-Pakete. Beschleunigung des Builds Verwenden Sie distcc und, wenn youre Wiederaufbau häufig, ccache. Ein guter Überblick über die Verwendung von distcc auf einem Debian-basierten System ist bei myrddin. orghowtousing-distcc-with-debian verfügbar. Wenn Sie AMD64-Maschinen in Ihrem lokalen Netzwerk verfügbar sind, können sie immer noch am Aufbau von 32-Bit-Code teilnehmen. Distcc scheint das automatisch zu behandeln. Allerdings, mit distcc übernehmen alle Kompilierungen standardmäßig müssen Sie HOSTCC so dass, wenn Kernel-Builds wollen den Compiler auf dem Host selbst verwenden, sie nicht am Ende verteilen Aufträge auf dem 64-Bit-Server. Wenn du das nicht machst, bekommst du Link-Kompatibilitäts-Fehler zwischen 64-Bit - und 32-Bit-Code. Mein make-kpkg Befehl, mit usrlibccache an der Spitze meines PATH. Sieht aus wie: Weitere Dokumentation Bitte gehen Sie zur Community-Wiki-Seite für Kommentare, Fragen und Diskussionen: wiki. ubuntuKernelCustomBuild

Comments