Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Hallo zusammen,
ich nutze Debian 8 und versuche einen Kernel zu kompilieren. Habe verschiedenen Anleitungen gelesen und in jeder muss eine Kernel-Quelle besorgt werden, die dann kompieliert wird und den aktuellen Kernel ersetzt.
Ist es möglich den aktuellen Kernel zu kompilieren? Ich will eigentlich nur eine Funktion deaktivieren.
Hintergrund: Ich will einen Live-USB-Stick ohne Netzwerk und Festplattentreiber (ähnlich Discreete Linux oder UPR). Mit dem "Linux Live Kit" gelingt es mir einen Live-USB-Stick zu erstellen aber immer nur bevor ich den Kernel kompiliere. Nachdem ich den Kernel kompiliert habe, sind verschiedene Dateien in /boot und wo auch immer (bin kein Linux-Profi) und "Linux Live Kit" läuft zwar durch, erstelle einen bootfähingn Stick der auch bootet aber dann auch mit einen Fatal Error abbricht weil irgendwelche Daten nicht gefunden werden.
Mein Plan B ist also den aktuellen Kernel zu ändern ...
Grüße
Peter
ich nutze Debian 8 und versuche einen Kernel zu kompilieren. Habe verschiedenen Anleitungen gelesen und in jeder muss eine Kernel-Quelle besorgt werden, die dann kompieliert wird und den aktuellen Kernel ersetzt.
Ist es möglich den aktuellen Kernel zu kompilieren? Ich will eigentlich nur eine Funktion deaktivieren.
Hintergrund: Ich will einen Live-USB-Stick ohne Netzwerk und Festplattentreiber (ähnlich Discreete Linux oder UPR). Mit dem "Linux Live Kit" gelingt es mir einen Live-USB-Stick zu erstellen aber immer nur bevor ich den Kernel kompiliere. Nachdem ich den Kernel kompiliert habe, sind verschiedene Dateien in /boot und wo auch immer (bin kein Linux-Profi) und "Linux Live Kit" läuft zwar durch, erstelle einen bootfähingn Stick der auch bootet aber dann auch mit einen Fatal Error abbricht weil irgendwelche Daten nicht gefunden werden.
Mein Plan B ist also den aktuellen Kernel zu ändern ...
Grüße
Peter
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Ich kenne weder "Linux Live Kit" noch habe ich ein Verständnis davon, warum du das genau machen willst.
Bedenke aber: Auch dein USB-Stick ist eine "Festplatte", die vom Kernel angesprochen werden will.
Bedenke aber: Auch dein USB-Stick ist eine "Festplatte", die vom Kernel angesprochen werden will.
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Meine Frage ist einfach: Ist es möglich den laufenden Kernel zu kompilieren ohne einen neuen Kernel herunter zu laden und den zu kompilieren? Ich finde keine Anleitung dazu.
Danke
Peter
Danke
Peter
- towo
- Beiträge: 4545
- Registriert: 27.02.2007 19:49:44
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Ohne Sourcen kannst Du nichts kompilieren!
Und die Sourcen vom laufenden Kernel, kann man einfahc per apt installieren.
Was $User dann damit macht, ist selbigen selbst überlassen.
Und was genau Dein Problem ist, erschließt sich mir auch nicht, hat vermutlich mit Debian auch nicht wirklich was zu tun.
Und die Sourcen vom laufenden Kernel, kann man einfahc per apt installieren.
Was $User dann damit macht, ist selbigen selbst überlassen.
Und was genau Dein Problem ist, erschließt sich mir auch nicht, hat vermutlich mit Debian auch nicht wirklich was zu tun.
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Mein Problem ist kein Debian-Problem. Aber weil ich Debian nutze habe ich mich eben an ein Debian Forum gewand.
Ich will einen Kernel, der auf interne Festplatten keinen Zugriff hat und den ich von CD oder Stick booten kann.
Lassen sich mit apt die Treiber für SATA, SCSI, IDE ... aus dem laufenden Kernel entfernen?
Ich will einen Kernel, der auf interne Festplatten keinen Zugriff hat und den ich von CD oder Stick booten kann.
Lassen sich mit apt die Treiber für SATA, SCSI, IDE ... aus dem laufenden Kernel entfernen?
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Nein.PeterW hat geschrieben:29.01.2020 11:21:53Lassen sich mit apt die Treiber für SATA, SCSI, IDE ... aus dem laufenden Kernel entfernen?
- towo
- Beiträge: 4545
- Registriert: 27.02.2007 19:49:44
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Und wenn Du SCSI und SATA rausschmeisst, dann isses auch essig mit USB und vermutlich auch mit CD.
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Es ist möglich von CD und USB zu booten auch wenn interne Festplatten deaktiviert sind. Definitiv.
Ich habe es ob schon erwähnt: Es gibt verschiedenen Live-CDs, die auch von USB gebootet werden können. Lange Zeit war Ubunt Privacy Remix (UPR) beliebt und wurde dann von Discreete Linux abgelöst. Diese Distributionen installiert man auf eine CD/Stick und bootet. Aus Sicherheitsgründen werden bei diesen Distros interne Datenträger nicht erkannt bzw. eingebunden und können überhaupt nicht gemountet werden.
So etwas will ich machen aber mit aktueller Software.
Linux Live Kit ist ein Linux Customization Kit mit dem man aus dem nach eigenen Bedürfnissen angepassten und laufenden System eine Live-CD erstellen kann (früher gab es dafür Systemback und Andere).
So weit so gut ... Ich kann aus einem angepassten und laufenden System eine Live CD (Stick) estellen. Bootet und funktioniert. Aber sobald ich den Kernel kompiliert habe und Treiber für SATA, SCSI, IDE entfernt habe und dann mit dem Linux Live Kit die Live CD erstelle, kann ich booten aber dann bricht der Vorgang mit einem Fehler ab. Also versuche ich jetzt zu improvisieren ...
Ich habe es ob schon erwähnt: Es gibt verschiedenen Live-CDs, die auch von USB gebootet werden können. Lange Zeit war Ubunt Privacy Remix (UPR) beliebt und wurde dann von Discreete Linux abgelöst. Diese Distributionen installiert man auf eine CD/Stick und bootet. Aus Sicherheitsgründen werden bei diesen Distros interne Datenträger nicht erkannt bzw. eingebunden und können überhaupt nicht gemountet werden.
So etwas will ich machen aber mit aktueller Software.
Linux Live Kit ist ein Linux Customization Kit mit dem man aus dem nach eigenen Bedürfnissen angepassten und laufenden System eine Live-CD erstellen kann (früher gab es dafür Systemback und Andere).
So weit so gut ... Ich kann aus einem angepassten und laufenden System eine Live CD (Stick) estellen. Bootet und funktioniert. Aber sobald ich den Kernel kompiliert habe und Treiber für SATA, SCSI, IDE entfernt habe und dann mit dem Linux Live Kit die Live CD erstelle, kann ich booten aber dann bricht der Vorgang mit einem Fehler ab. Also versuche ich jetzt zu improvisieren ...
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Das von dir erwähnt Discrete Linux verwendet einen gepatchten Kernel, bei dem alles außer CD-ROM deaktiviert wird: https://github.com/Discreete-Linux/liba ... bata.patchPeterW hat geschrieben:29.01.2020 11:54:20Aus Sicherheitsgründen werden bei diesen Distros interne Datenträger nicht erkannt bzw. eingebunden und können überhaupt nicht gemountet werden.
Warum der Kernel danach noch von USB bootbar ist verstehe ich allerdings nicht. Besagte LiveCD verwendet Debian als Basis und hat auf der Webseite eine ausführliche Bauanleitung, vielleicht probierst du es damit?
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Auf die libata.h bin ich zwischenzeitich auch gestoßen:
https://www.heise.de/forum/c-t/Kommenta ... 7862/show/
Ich verstehe die Syntax nicht so recht. Habe diese Zeile
return ata_class_enabled(dev->class);
durch diese Zeile
return dev->class == ATA_DEV_ATAPI; /* optical drives only (mid) */
ersetzt. Ohen Erfolg bzw. Auswirkung.
Die Minus- und Pluszeichen stehen in der echten libata.h nicht. Steht minus für Zeile entfernen und plus für Zeile hinzufügen?
https://www.heise.de/forum/c-t/Kommenta ... 7862/show/
Ich verstehe die Syntax nicht so recht. Habe diese Zeile
return ata_class_enabled(dev->class);
durch diese Zeile
return dev->class == ATA_DEV_ATAPI; /* optical drives only (mid) */
ersetzt. Ohen Erfolg bzw. Auswirkung.
Die Minus- und Pluszeichen stehen in der echten libata.h nicht. Steht minus für Zeile entfernen und plus für Zeile hinzufügen?
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Genau so isses - das ist quasi ein diff. Da wird mit + angezeigt, was neu ist und mit - was rausflog. Macht git genauso und andere Tools sicherlich auch.
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Ok, danke für die Info.
Ich hab die Zeile von Hand geändert. Nach dem Neustart war die libata.h auch so, wie ich sie geändert hatte aber die interne SATA-HD war trotzdem da.
Hast du eine Idee weshalb das Ändern der Zeile keine Wirkung hatte?
Ich hab die Zeile von Hand geändert. Nach dem Neustart war die libata.h auch so, wie ich sie geändert hatte aber die interne SATA-HD war trotzdem da.
Hast du eine Idee weshalb das Ändern der Zeile keine Wirkung hatte?
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Hast du den Kernel nach der Änderung neu kompiliert und den neu kompilierten Kernel danach gestartet?PeterW hat geschrieben:31.01.2020 12:25:34Ok, danke für die Info.
Ich hab die Zeile von Hand geändert. Nach dem Neustart war die libata.h auch so, wie ich sie geändert hatte aber die interne SATA-HD war trotzdem da.
Hast du eine Idee weshalb das Ändern der Zeile keine Wirkung hatte?
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Ich habe den Kernel nicht neu kompiliert.
Muss der Kernel nach Änderungen in der libata.h kompiliert werden?
Habe ewig gesucht aber keine Anleitung, How To oder ähnlich zur libata.h in diesem gefunden. Auch hier steht nichts:
https://www.kernel.org/doc/html/v4.14/d ... ibata.html
Muss der Kernel nach Änderungen in der libata.h kompiliert werden?
Habe ewig gesucht aber keine Anleitung, How To oder ähnlich zur libata.h in diesem gefunden. Auch hier steht nichts:
https://www.kernel.org/doc/html/v4.14/d ... ibata.html
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
... in diesem Zusammenhang ...
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Selbstverständlich muß der Kernel dann neu kompiliert werden.PeterW hat geschrieben:31.01.2020 14:50:53Muss der Kernel nach Änderungen in der libata.h kompiliert werden?
Bei jeder Änderung am Quellcode des Kernels muß dieser wieder von der menschenlesbaren ASCII-Form in die maschinenausführbare Form übersetzt, also kompiliert werden.
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Ok, danke!
Aber selbstverständlich finde ich das nicht. Ich finde Linux super und arbeite zusehends mehr mehr damit, komme aber aus der Windows-Welt. Da muss ich kein Betriebsystem neu kompilieren wenn ich Treiber hinzufüge, entferne oder an der Registry Änderungen vorgenommen habe.
Aber selbstverständlich finde ich das nicht. Ich finde Linux super und arbeite zusehends mehr mehr damit, komme aber aus der Windows-Welt. Da muss ich kein Betriebsystem neu kompilieren wenn ich Treiber hinzufüge, entferne oder an der Registry Änderungen vorgenommen habe.
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Das ist eine falsche Wahrnehmung. Unter Windows kannst du den Treiber gar nicht neu kompilieren, weil alles verschlossen und vernagelt ist. Dem SATA-Treiber das Ansprechen der Festplatten zu verbieten, wäre hier gar nicht erst möglich.PeterW hat geschrieben:31.01.2020 15:52:13komme aber aus der Windows-Welt. Da muss ich kein Betriebsystem neu kompilieren wenn ich Treiber hinzufüge
Unter Linux ist das Nichtansprechen von Platten im SATA-Treiber auch nicht vorgesehen. Hier hast du aber die Möglichkeit, das einzubauen, mußt dann aber den Quellcode (zumindest des Treibers) neu kompilieren.
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Unter Windows müssen keine Treiber kompiliert werden. Sie werden installiert oder deinstalliert oder auch deaktiviert.
Installiere ich unter Windows die Sata-Treiber nicht, wird keine keine SATA-HD erkannt. Genauso kann ich die Treiber entfernen oder per Registry oder ausschalten.
Kaufe ein Motherbord und installiere Windows ohne Motherborad/Chipsatz-Treiber ... vieles funktioniert dann nicht. Bis Windows 7 mussten eine Menge Treiber gesondert installiert werden. Angefangen vom Treiber für den Onboard-NIC.
Installiere ich unter Windows die Sata-Treiber nicht, wird keine keine SATA-HD erkannt. Genauso kann ich die Treiber entfernen oder per Registry oder ausschalten.
Kaufe ein Motherbord und installiere Windows ohne Motherborad/Chipsatz-Treiber ... vieles funktioniert dann nicht. Bis Windows 7 mussten eine Menge Treiber gesondert installiert werden. Angefangen vom Treiber für den Onboard-NIC.
Re: Kernel kompilieren aber ohne neue Kernelquelle (also den aktuellen Kernel)
Bevor ein Treiber installiert werden kann muss er auch kompiliert werden. Das übernimmt praktischerweise der Hersteller für dich, der gleichzeitig auch für dich festlegt, was die Software können sollte und was nicht. Das Resultat ist dann z.B. ein Stück Hardware, dass plötzlich nicht mehr funktioniert, weil der Hersteller nicht mehr unterstützen will. (viewtopic.php?f=25&t=175981)PeterW hat geschrieben:31.01.2020 17:30:26Unter Windows müssen keine Treiber kompiliert werden. Sie werden installiert oder deinstalliert oder auch deaktiviert.
Das stimmt. Aber wie hilft uns das bei dem vorhandenen Problem weiter?PeterW hat geschrieben:31.01.2020 17:30:26Installiere ich unter Windows die Sata-Treiber nicht, wird keine keine SATA-HD erkannt. Genauso kann ich die Treiber entfernen oder per Registry oder ausschalten.
Kaufe ein Motherbord und installiere Windows ohne Motherborad/Chipsatz-Treiber ... vieles funktioniert dann nicht. Bis Windows 7 mussten eine Menge Treiber gesondert installiert werden. Angefangen vom Treiber für den Onboard-NIC.