Login
Newsletter
Werbung

Thema: Stabile Kernel nehmen Gestalt an

2 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Falk am Fr, 11. März 2005 um 20:48 #
Hab wenig Zeit, muß für ne Prüfung lernen (sonst würd ich evtl. einen Kurztip schreiben).
Daher nur:
Schau mal hier.

Du solltest noch wissen, daß Patches mit diff hergestellt werden (wohl (fast?) immer mit der Option -C 1 für das Kontext-Format: Eine Zeile davor und danach werden mitgespeichert - korrigiert mich, wenn dies falsch ist). patch kann nun die beiden Versionen mit dem *.diff (oder auch umbenannt in *.patch) ineinander überführen.

CVS und Konsorten setzen auf diff und patch auf.

Außerdem sehe ich gerade, daß ich mir mal das Script /usr/src/linux/scripts/patch-kernel ansehen muß.

Läßt sich übrigends auch alles einfach automatisieren, z.B. mit happypatching.sh :

#!/bin/bash
# happypatching v0.1
# im aktuellen Verzeichnis stehen der erste Kernel und die Patches
# sollte mit root-Rechten aufgerufen werden
# der Linux-Kernel muß in /usr/src/linux liegen
# Irgendwas wichtiges haendisch geaendert? Ist danach alles weg
PWDIR=`pwd`
BASISNUMMER="3"
# Mein erster 2.6er ist der linux-2.6.3.tar.bz2
cd /usr/src
rm -rf "linux-2.6.$BASISNUMMER"
# Der Plan ist, alles neu zu erzeugen
# Einstellungen sollten aber erhalten bleiben
echo Kernel auspacken
tar xjf "$PWDIR/linux-2.6.$BASISNUMMER.tar.bz2"
cp linux/.config "linux-2.6.$BASISNUMMER/"
# Hoffe, es reicht, die .config zu sichern?
rm -rf linux
mv linux-2.6.$BASISNUMMER linux
i=$((BASISNUMMER+1))
cd linux
while [ -e "$PWDIR/patch-2.6.$i.bz2" ] ; do
echo patch 2.6.$i
bzip2 -dc "$PWDIR/patch-2.6.$i.bz2" | patch -p1 -s
i=$(($i+1))
done
i=$(($i-1))
j=1
while [ -e "$PWDIR/patch-2.6.$i.$j.bz2" ] ; do
echo patch 2.6.$i.$j
bzip2 -dc "$PWDIR/patch-2.6.$i.$j.bz2" | patch -p1 -s
j=$(($j+1))
done
cd "$PWDIR"
# viel Spass bei einem kontrollierendem make xconfig

[
| Versenden | Drucken ]
  • 0
    Von Falk am Do, 17. März 2005 um 16:12 #
    Ab Kernel 2.6.11.3 gehen die Patches vom 3-stelligen, daher siehtdas Script ab der 2. Schleife nun so aus:

    while [ -e "$PWDIR/patch-2.6.$i.$j.bz2" ] ; do
    j=$(($j+1))
    done
    j=$(($j-1))
    echo patch 2.6.$i.$j
    bzip2 -dc "$PWDIR/patch-2.6.$i.$j.bz2" | patch -p1 -s
    cd "$PWDIR"

    [
    | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung