Schlagwort ‘Kernel‘

Debian: Kernel bauen

Debian gehört nicht unbedingt zu meinem bevorzugten täglich Brot, aber dennoch habe ich seit Potato mit dieser GNU/Linux-Distro desöfteren zu tun. Ich war immer mehr der Slacker seit den frühen 90ern, bin also die dortigen Wege gewohnt. Nun hier will ich kurz zeigen, wie man einen Kernel backt und zwar nach Debian-Art.

Dazu benötigt man diverse Zutaten, u.a. den Kernel-Quellcode, ein paar Debian-Werkzeuge und natürlich ein wenig Zeit. Auf heutigen Systemen geht die Zeit eher bei der erstmaligen Konfiguration des Kernels verloren, denn der Kompilation selbst. Aber wie auch sonst gilt, your mileage may vary.

Eine Anleitung für die Konfiguration des Kernels selbst werde ich hier nicht geben, da sollte jeder schon wissen was er tut.

cd /usr/src
apt-get install build-essential
apt-get install kernel-package
apt-get install libncurses5-dev
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2

 

Obige Anweisungen dienen einzig der Vorbereitung. Man navigiert zu /usr/src, installiert die für den Kernelbau notwendigen Pakete und lädt den Kernel-Quellcode per se herunter. Libncurses5-dev wird nur benötigt, wenn man den Kernel mittels make nconfig konfigurieren möchte — aber dies muß man ganz dem eigenen Gusto entscheiden.

Der eigene Bau gestaltet sich recht simpel. Da ein älterer Kernel installiert ist, nimmt man die Konfigurationsdatei von diesem und besitzt damit schon einmal eine Basis für die weitere Konfiguration.

tar xjvf linux-2.6.38.tar.bz2
ln -s linux-2.6.38 linux
cp /boot/config-2.6.32-5-amd64 /usr/src/linux/.config
cd linux
make oldconfig
make nconfig
make-kpkg -j3 --initrd --revision olhe201103 kernel_image kernel_headers

 

Als erstes wird der Kernel-Quellcode entpackt, dann erstellt man einen soft link, im Verzeichnis des Kernel-Quellcodes paßt man mit make oldconfig die alte Konfigurationsdatei an die neuen Optionen an und letztendlich muß man mit make nconfig oder auch make menuconfig die Konfiguration des Kernels gemäß dem eigenen Geschmack anpassen. Danach baue ich die Debian-Pakete mittels make-kpkg. Die Anzahl der Jobs bei j3 entsprechen dem eigenen System, hier ein Dualcore. Revision kann ebenso nach Lust und Laune angepaßt werden, siehe die manpage, sollte aber dennoch einem Muster folgen, falls man desöfteren Kernel installiert.

cd ..
dpkg -i *.deb

 

Der letzte Schritt ist die Installation der erzeugten Pakete, zum einen linux-image und zum anderen linux-headers. Falls noch andere Pakete unter /usr/src liegen, sollte man den Platzhalter entsprechend sinnvoll ergänzen. Nun kann man den Rechner neustarten, bei Problemen wählt man im Grub-Menu einfach den alten Kernel aus und begibt sich auf Fehlersuche. Viel Spaß :-)

, , , , , , , ,

FreeBSD Kernel und Welt

FreeBSD Release ist eine feine Sache, insbesondere für Server, aber auf dem Desktop ist es oftmals von Vorteil Stable zu fahren. Stable ist neben Current einer der Entwicklungszweige von FreeBSD. In Current erfolgt die hauptsächliche Entwicklung, nach einiger Verweildauer dort wird der jeweilige Code «mfced», d.h. «merged from current» und schlägt in Stable auf. Aus Stable werden dann wiederum nach einiger Zeit minor oder major-Releases erstellt, wie zuletzt FreeBSD 8.2 bzw. das kommende FreeBSD 9.0.

Stable ist grob vergleichbar mit Debian Testing, man verfolgt ein ähnliches Prinzip bei der Entwicklung. En detail jedoch scheiden sich die Geister, während Debian durchaus mal desöfteren auch in Testing hinüber ist bzw. diverse Software schlichtweg fehlt ob Fehler, etc. pp., ist FreeBSD Stable weitaus reifer. Die FreeBSD-Entwickler sind deutlich konservativer und nehmen es sehr genau mit der Unterscheidung der einzelnen Zweige. Dennoch sollte man, wie auch bei Debian, die entsprechende Mailingliste abonnieren.

Um nun den Betrieb von Stable aufzunehmen, kann man schlicht ein bisheriges Release aktualisieren oder man fährt mit monatlich erscheinenden Snapshots. Entscheidet man sich für letzteres muß man häufiger neu installieren, bequemer hingegen ist meiner Meinung nach Kernel und Welt neuzubauen. Dazu lädt man den entsprechenden Quellecode herunter, baut die Welt, dann den Kernel und installiert diesen, bootet in den Single User Mode, installiert dort die Welt und bringt mittels mergemaster diverse Konfigurationsdateien auf den neuesten Stand. Letzteres ist für viele wohl die größte Hürde, aber zumindest nur dort, wo selbst Hand angelegt wurde.

Zuvor jedoch muß man noch csup sagen, von welchem Server es den entsprechenden Quellecode herunterladen soll: cp /usr/share/examples/cvsup/standard-supfile /etc danach ändert man folgende Zeile und fügt den Server ein: *default host=CHANGE_THIS.FreeBSD.org — z.B.: *default host=cvsup2.de.FreeBSD.org. Selbstredend muß auch der Release-Tag angepaßt werden. Wir wollen Stable, also muß die entsprechende Zeile wie folgt lauten: *default release=cvs tag=RELENG_8

Nun beginnt der eigentliche Bau von Kernel und Welt (als Root ausgeführt):

csup -L 2 /etc/standard-supfile
cd /usr/src/ && make -j3 buildworld
make -j3 buildkernel installkernel
reboot

 

Die Jobs sollten der eigenen Hardware entsprechend angepaßt werden, wer kein Dualcore etc. besitzt nutzt ein schlichtes make buildkernel installkernel. Beschleunigen kann man das Prozedere indem man tmpfs einsetzt bzw. zukünfigte Bauten von Kernel und Welt seitens ccache beschleunigt.

Nach dem Neustart wählt man den Single User Mode aus und installiert die Welt, sowie die aktualisierten Konfigurationsdateien.

fsck -p
mount -u /
mount -a -t ufs
mergemaster -p
cd /usr/src && make installworld && mergemaster -Ui
reboot

 

Mit fsck –p erfolgt eine kurze Prüfung des Filesystems, dann werden die nötigen Partionen eingehangen. mergemaster –p verarbeitet nur die Konfigurationsdateien, die für die Installation der Welt wichtig sind, make installworld installiert diese und mergemaster –Ui verarbeitet die restlichen Konfigurationsdateien.

Nach einem erneuten Neustart wird wieder in den Single User Mode gestartet und aufgeräumt.

fsck -y
mount -u /
mount -a -t ufs
cd /usr/src && make clean && reboot

 

Danach steht das aktualisierte System. Die Vorgehensweise mag ein wenig übervorsichtig wirken, andere vollziehen die Installation der Welt ohne den Single User Mode, aber mir ist es derart lieber. Schließlich baue ich Kernel und Welt nicht täglich neu, je nach Zeit bei interessanten Updates, mindestens jedoch monatlich.

Wer sich hingegen nicht mit Mergemaster in der Konsole zu helfen weiß, der sollte entweder den Weg über Snapshots gehen oder weiterhin das aktuelle Release nutzen. Zu schnell kann das System bei unachtsamer Bedienung «unbenutzbar» werden. Ansonsten, viel Spaß :-)

 

Bild: Der Bulo

, , , , , , , , , , ,

Linux Kernel v2.6.27.4

Hey der Kernel vom Fließband 😉 Changelog, Sourcecode — laden, bauen, installieren. ArchLinux hat ihn schon, pacman anwerfen und gut ist …

, ,

Linux Kernel 2.6.27.3

Viel FOSSiges heute 😀 Ich verkneife mir jetzt auch eine Meinung zu dem neuerlichen Bugfix-Release in Folge — nun gut Changelog dort, Download für DIY-Worker dort. Ein wenig Erhellung findet sich mitunter in Heises Kernel-Log. Und weil die Frage doch oft gestellt wird — ich poste das mit den Kerneln aus Eigeninteresse, verfliegt dieses schwindet auch die News 😉

, ,

Linux Kernel 2.6.27.2

Solange existiert das Release des Kernels 2.6.27 noch nicht, da erschien schon vor kurzem ein Bugfix-Release welches Probleme mit Intel Nics behob, nun steht jedoch abermals ein neues Bugfix-Release bereit: 2.6.27.2. Security by obscurity wird innerhalb des Linux-Kernels inzwischen groß geschrieben, It contains a wide range of bugfixes, and all users of the 2.6.27 kernel series are encouraged to upgrade. — insofern auch nur die regulären Bugfixes und keine Sicherheitsfixes. Das Prinzip Opensource bleibt mehr und mehr auf der Strecke1, na ja who the fuck cares about it anyway :-)

Changelog
Download Source

  1. Die Kernel-Entwickler geben nach längeren Debatten um die früher nur sporadisch vorgenommene explizite Auszeichnung von Fixes für Sicherheitslücken bei der Freigabe neuer Kernel mittlerweile meist gar nicht mehr an, ob Patches auch Sicherheitslücken korrigieren.heise u.a.[]

, ,

Linux Kernel 2.6.27: höher, schneller, weiter

Hier Changelog, dort Download für DIY-Worker. Eine Erklärung der Neuigkeiten findet man bei neuen Releases immer auf Kernel Newbies. Was erhält man mit dem Release? Neue Bugs 😉 Aber natürlich auch eine Menge Bugfixes, Features etc. pp. zuviel diese hier zu nennen, da zieht man besser zuvor genannte Adresse zu Rat. WLan-User, Netbook-Besitzer sollten sich dieses Release einmal genauer betrachten, V4L u.a. Dinge weisen ebenso eine Menge Änderungen, respektive Neuerungen auf. Debian/*buntu-User können übrigens den traditionellen Weg gehen, den Debian-Weg oder nutzen einfach KernelCheck — kurzum viele Wege führen nach Rom 😉

The whole point of a release is that it should be something reasonably stable. Stable enough so that people can take that release and use it as a base for the stable tree, which in turn tends to be a base for most Linux distributions. It doesn’t have to be perfect (and obviously no release ever is), but it needs to be in reasonable shape.

Linus Torvalds

, ,

Kernel 2.6.26.6

Neue Kernel braucht das Land und just erschien auch eine neue Version mit allerlei Bugfixes. Security-Fixes werden leider nicht mehr erwähnt, dafür gibt es Fixes en masse in puncto HPET, ACPI, ALSA, USB, WLan und auch in diversen Bereichen des 64Bit-Zweigs. Das ausführliche Changelog findet man dort, ebenso wie den Source für DIY-Worker. Last not least werden ebenso noch Nutzer von Kernel 2.6.25 bedient, Version 2.6.25.18.

, ,

Linux Kernel 2.6.26.5

Und wieder schickt sich ein neues Release an den freudigen DIY-Worker zu beglücken. Grob von der Länge des Changelogs her zu urteilen wurde eine Menge gefixt, deutlich mehr als beim letzten Release. Leider kam es in letzter Zeit in Mode mittels security by obscurity zu wirken, kann man drüber streiten, aber ehrlich gesagt ich halte mich da manches mal mehr an ESRs Aussage: Given enough eyeballs, all bugs are shallow. Wie dem auch sei, es ist wie immer dringenst angeraten — sofern man händisch mit dem Source arbeitet — das Update einzuspielen. User des Kernels 2.6.25.17 werden ebenso noch bedient, Changelog, Download für beide Releases an der üblichen Örtlichkeit.

, ,

Linux Kernel 2.6.26.3

Ein Menge Bugfixes sind in das neuerliche Release eingeflossen und somit sei jedem DIY-Worker angeraten den Kernel auf Vordermann zu bringen. En detail kann man alles im Changelog nachlesen, den Download des Sources findet man an der gewohnten Örtlichkeit. Auch soll nicht verschwiegen das der 2.6.25er Kernel ebenso Pflege erfahren hat und nun auf den Namen Linux 2.6.25.16 hört 😉

It contains lots of bugfixes, all over the map. Any users of the 2.6.26 kernel series should upgrade to this version. For details on the fixes, see the changelog entries and the diffstat below.

greg k-h

, ,

Linux: neuer Kernel 2.6.26.2, neues Glück

Und wieder einmal ist es soweit und diesmal folgte das Bugfix-Release gar recht schnell und zudem angekündigt. Was sich im Detail änderte? Auf jeden Fall wurden einige Bugs gefixt, kann man im Changelog nachlesen. Gepeinigte Atheros-User können sich vielleicht noch einmal an ath5k wagen, dort bewegte sich einiges. Imho ist madwifi aber immer noch die erste Wahl für funkende Glückseligkeit 😉 DIY-Aspiranten finden den Source an der üblichen Örtlichkeit. Last not least erfuhr auch der 2.6.25er Kernel einiges an Pflege, dazu bitte dort entlang.

, ,

Linux Kernel 2.6.26.1 / 2.6.25.14

Eine neues Bugfix-Release ist raus und fixt in der Tat eine Menge Fehler, die dort eingesehen werden können. Den zugehörigen Quellcode findet man wie immer ebenso an der üblichen Örtlichkeit vor und auch der vorherige Kernel 2.6.25 bleibt nicht verschont: neues Bugfix-Release füt 2.6.25.14, Beschreibung, Quellcode. Wie immer gilt, Updaten was das Zeug hält 😉

, ,

RSS-Feed abonnieren