Siduction Forum

Siduction Forum => Scripting & Kernelhacking => Topic started by: brummer on 2012/10/10, 11:51:58

Title: make localmodconfig
Post by: brummer on 2012/10/10, 11:51:58
Heute habe ich mir den gestern erschienen 3.6.1-rt1 gebaut, dazu habe ich erstmals
Code: [Select]
make localmodconfig
benutzt. Wow, der build ging dermaßen schnell, das ich garnicht glauben konnte das der kernel fertig ist.
Das resultierende linux-image ist gerade mal 6,4MB groß (im vergleich mein älterer 3.4-rt hatte 34MB), und läuft 1a.
Also, für die, die gerne ihre kernel selber bauen, und ein auf das eigene system angepassten kernel wollen, localmodconfig bringt's.  :D
Title: make localmodconfig
Post by: reddark on 2012/10/10, 13:12:05
Kannst du das ein bissel mehr ausführen wie du mit dem Bau vorgehst?
Wäe vielleicht auch fürs Wiki interessant .. ;)
Title: RE: make localmodconfig
Post by: brummer on 2012/10/10, 15:43:27
Na-gut, hier mein RT-Kernel Quicky:

Ich downloade die sourcen von kernel.org
http://www.kernel.org/pub/linux/kernel/
Code: [Select]
http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.6.1.tar.bz2

und den rt-patch von projects/rt/
http://www.kernel.org/pub/linux/kernel/projects/rt/
Code: [Select]
http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/patches-3.6.1-rt1.tar.bz2

im $Home habe ich einen Ordner /Kernel
in dem entpacke ich die kernel sourcen und den rt-patch.

dann patche ich den Kernel
Code: [Select]
patch -p1 <../patch-3.6.1-rt1.patch

sonst habe ich meine kernel config mit
Code: [Select]
make oldconfig
erstellt, dieses mal eben mit
Code: [Select]
make localmodconfig

einige neue kernel optionen werde dabei nochmal abgefragt, im Norm-Fall kann man die alle bejahen (Enter)

Danach überprüfe ich nochmal mit
Code: [Select]
make menuconfig
die Einstellungen,
Code: [Select]
Processor type and features  
Preemption Model (Fully Preemptible Kernel (RT))
(X) Fully Preemptible Kernel (RT)


das war's auch schon, jetzt den kernel bauen mit
Code: [Select]
fakeroot make-kpkg --initrd kernel_image kernel_headers

dann zum installieren
Code: [Select]
cd ../
dpkg -i linux-image-3.6.1-rt1_3.6.1-rt1-10.00.Custom_i386.deb
dpkg -i linux-header-3.6.1-rt1_3.6.1-rt1-10.00.Custom_i386.deb


fertig. :lol:
Title: make localmodconfig
Post by: ralul on 2012/10/10, 15:45:07
@reddark, make help
in /usr/src/linux sagt dir, dass es darum geht nur die Module zu aktivieren, die gerade laufen.

@brummer, denk dran, dass es auch Module gibt, die gerade nicht laufen, aber vielleicht gebraucht werden, zB microcode load Feature wird von Debian wieder entladen nach Gebrauch! Oder bei mir: ein Dvb-Stick, der gerade nicht eingesteckt ist, etc ...
Title: RE: make localmodconfig
Post by: brummer on 2012/10/10, 16:02:14
make localmodconfig erstellt dir eine minimal configuration für dein system, weitere module, kannst du dann ja mit make menuconfig einbinden und nachbauen, wenn du sie brauchst.

soweit ich weiß, erstellt localmodconfig die configuration so, das alle gefundene hardware unterstützt wird, microcode. z.b. funst mit dem so erstellten kernel übrigens.
Title: make localmodconfig
Post by: reddark on 2012/10/10, 16:03:11
@brummer: danke ;)
Weil hatte schon ein paarmal mit kernelbau gespielt, aber nie wirklich irgendwie unterschiede zwischen standardkernel und meinen angepassten gespürt .., aber mensch lernt ja nie aus und wollte mal sehen, wie das andere so angehen ;)

@ralul, danke, gut zuwissen. Also doch mit vorsicht zugeniessen.....
Title: RE: make localmodconfig
Post by: towo on 2012/10/10, 16:28:49
Quote
fakeroot make-kpkg --initrd kernel_image kernel_headers



Code: [Select]

make -jN deb-pkg

So macht man das heute, kernel-package is obsolet.
Title: Re: RE: make localmodconfig
Post by: brummer on 2012/10/11, 07:52:21
Quote from: "towo"
Quote
fakeroot make-kpkg --initrd kernel_image kernel_headers



Code: [Select]

make -jN deb-pkg

So macht man das heute, kernel-package is obsolet.


Da bin ich wohl noch nen bisschen hinter der Zeit. Werde ich mir mal anschauen.  :)


Quote from: "ralul "
@brummer, denk dran, dass es auch Module gibt, die gerade nicht laufen, aber vielleicht gebraucht werden, zB microcode load Feature wird von Debian wieder entladen nach Gebrauch! Oder bei mir: ein Dvb-Stick, der gerade nicht eingesteckt ist, etc ...


Naja, USB Unterstützung musste ich nachbauen, sowie vfat Unterstützung um meinen Androiden zu mounten, , , ma sehen was ich im verlauf noch so vermisse  :wink:

Die module sind aber sehr schnell nach-gebaut/installiert,
Title: Re: RE: make localmodconfig
Post by: ralul on 2012/10/11, 11:49:38
Ja genau, 16 statt 60 Minuten Kernel backen sind kein Akt. Und

@reddark, ich wollte keinesfalls meinen, dass localmodconfig unsicher wäre: Du verlierst halt vfat, wenn es nicht geladen war. Aber der Kernel startet!

Ich benutze statt patch lieber quilt, das ist einfacher:
Code: [Select]
/usr/src/linux > quilt {push|pop} -aWie:
Wenn du /usr/src/patches36 hast, machst du einen Symlink:
ln -s /usr/src/patches36 /usr/src/linux/patches
In der /usr/src/patches36/series Datei müssen die gewollten Patches aufgelistet sein.