• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Probleme bei rpm-Erstellung

Hallo,

mir ist bei Suse Linux 10.1 aufgefallen, dass das Booten deutlich länger dauert als beim Betriebssystem des Monopolisten. Ich hatte nach erfolglosen Rumspielen mit dem Runleveleditor im YaST den Standardkernel von Suse im Verdacht (ist der Kernel tatsächlich Schuld am langen Booten?). Also las ich das HowTo im Forum und http://www.thomashertweck.de/kernel26.html von Dr. Thomas Hertweck und wollte durch diese Erfahrungen ein wenig mehr über Linux kennen lernen.

Ich stellte mit
Code:
make O=/home/martin/Desktop/linux-2.6.16.21-0.13-mh/ cloneconfig
make O=/home/martin/Desktop/linux-2.6.16.21-0.13-mh/ xconfig
auf Basis des Standardkernels den Kernel neu ein. Ich machte von der Möglichkeit, unnötige Module von nicht verwendeter Hardware und sonstige nicht nötige Funktionen zu deaktivieren, rege Gebrauch. (Natürlich soweit ich sicher war, dass ich diese Funktion und Hardware tatsächlich nicht benötige). Und ich nahm als Namensanhängsel für die lokale Version des Kernels das Kürzel "mh". Nachdem ich Hertwicks Anleitung im Punkt über Installation mehrer Kernel per rpm so verstanden habe, dass dies jetzt ohne den auch im Forum beschriebenen Trick des Löschens des Datenbankeintrages möglich ist, möchte ich gerne davon Gebrauch machen (kommt dem entgegen, dass ich ja Neuling bin). Aber nach Eingabe von
Code:
make O=/home/martin/Desktop/linux-2.6.16.21-0.13-mh/ rpm
kam als Meldung der folgende Fehler (Alle Befehle wurden natürlich im Verzeichnis /usr/src/linux-2.6.16.21-0.13/ der Sourcen des Suse-Linuxkernels ausgeführt)

make clean
make -C /usr/src/linux-2.6.16.21-0.13 O=/home/martin/Desktop/linux-2.6.16.21-0.13-mh clean
set -e; cd ..; ln -sf /usr/src/linux-2.6.16.21-0.13 kernel-2.6.16.210.13mh
set -e; cd ..; tar -cz --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git -f kernel-2.6.16.210.13mh.tar.gz kernel-2.6.16.210.13mh/.
set -e; cd ..; rm kernel-2.6.16.210.13mh
set -e; \
/bin/sh /usr/src/linux-2.6.16.21-0.13/scripts/mkversion > /home/martin/Desktop/linux-2.6.16.21-0.13-mh/.tmp_version
set -e; \
mv -f /home/martin/Desktop/linux-2.6.16.21-0.13-mh/.tmp_version /home/martin/Desktop/linux-2.6.16.21-0.13-mh/.version
rpmbuild --target i386 -ta ../kernel-2.6.16.210.13mh.tar.gz
Building target platforms: i386
Building for target i386
error: Name field must be present in package: (main package)
error: Version field must be present in package: (main package)
error: Release field must be present in package: (main package)
error: Summary field must be present in package: (main package)
error: Group field must be present in package: (main package)
error: License field must be present in package: (main package)
make[2]: *** [rpm] Fehler 1
make[1]: *** [rpm] Fehler 2
make: *** [rpm] Fehler 2
Damit kann ich auch mit den beiden oben genannten konsultierten Werken nichts anfangen.

Es wäre nett, wenn mir jemand helfen könnte. Ist aber nicht dringend, da ich ja zum Installieren des Kernels noch gar nicht gekommen bin, also alles noch funktioniert (einschließlich langsames Booten). :(
 

Gimpel

Guru
Microsoft startet die graphische Oberfläche lange bevor alle anderen services fertig geladen sind, daher kommt es einem deutlich schneller vor, aber bekanntlich läd Windows ja noch ewig rum bis der desktop dann mal wirklich benutzbar ist. Das mal dazu.

Zum nicht funktionierenden "make rpm" kann ich nichts sagen, da ich keinerlei rpm-basiertes system habe gerade.
 
Gimpel schrieb:
Microsoft startet die graphische Oberfläche lange bevor alle anderen services fertig geladen sind, daher kommt es einem deutlich schneller vor, aber bekanntlich läd Windows ja noch ewig rum bis der desktop dann mal wirklich benutzbar ist. Das mal dazu.
Ich kann dem eigentlich nicht folgen. Ein XP, bis zum Login-Screen dauert vielleicht - je nach Tagestemperatur - plusminus genauso lange wie ein Linux bis dahin. Allerdings gehen danach die Geister auseinander: XP (fast) < GNOME < KDE.
Ich sollte mal ne Stoppuhr holen.
 
OP
M

martin_huber

Newbie
Gimpel schrieb:
Microsoft startet die graphische Oberfläche lange bevor alle anderen services fertig geladen sind, daher kommt es einem deutlich schneller vor, aber bekanntlich läd Windows ja noch ewig rum bis der desktop dann mal wirklich benutzbar ist. Das mal dazu.

Stimmt, an das habe ich nicht gedacht. Ich habe schon lange mehr Windows benutzt. Der Vergleich mit dem Hochfahren kam so zustande, dass ich eben nur wartete, bis die graphische Oberfläche von Windows geladen war und verglich dies mit der Bootzeit, die Linux braucht um den Loginscreen des kdm anzuzeigen. Der Vergleich: ca. halbe Minute für Windows und ca. eine Minute für Linux (ohne, dass KDE angefangen hat zu starten). Vergessen habe ich aber in der Rechnung, dass ich bei Linux einen Virenscanner installiert habe, bei Windows aber nicht (da ich ja Windows nie verwende).

Aufgefallen ist mir bei den Meldungen beim Booten von Linux, dass die Programmteile für IPv6-Unterstützung geladen werden, dann aber nicht von der SuSE-Firewall unterstützt werden und dann wieder deaktiviert werden. Und es wird immer festgehalten, dass nfs nicht benutzt wird. Dies habe ich bei meinen Kerneleinstellungen rausgeworfen. Auch brauche ich keinen Bootsplash. Ich habe zwar schon in den Bootoptionen den Eintrag splash=silent entfernt, aber dennoch tauchen noch ein paar Meldungen zum Bootsplash auf. Ob dies zeitlich viel bringt, ist natürlich fraglich. Und die vorgenommene Verschlankung des Kernels in den Einstellungen ist wohl meist Kosmetik, da die meisten Treiber ja eh nicht geladen werden, wenn die Hardware nicht da ist.

Dies hat mich aber trotzdem auf die Idee gebracht beim Kernel die Schuld zu suchen. Dies sollte halt auch der Anlass sein, sich mit dem Kernel ein wenig zu beschäftigen. Aber ohne Möglichkeit eine rpm-Datei zu erstellen, traue ich mir das bei meinem Kenntnisstand noch nicht zu.

In der Anleitung von Dr. Thomas Hertweck wird doch auch ein Multikernel-HowTo von David Haller erwähnt. Unter dem angegebenen Link ist es nicht zu finden. Wo kann man es noch holen oder ein ähnliches HowTo besorgen, das vielleicht meine Scheu vor einer Installation ohne rpm-Methode abbauen hilft. Ohne ein solches Dokument würde ich es nicht machen, da Hertwick bei seiner Anleitung darauf verweist, dass man alle Hinweise von Hallers Multikernel-HowTo vorher berücksichtigt haben sollte.
 

oc2pus

Ultimate Guru
martin_huber schrieb:
...In der Anleitung von Dr. Thomas Hertweck wird doch auch ein Multikernel-HowTo von David Haller erwähnt. Unter dem angegebenen Link ist es nicht zu finden. Wo kann man es noch holen oder ein ähnliches HowTo besorgen ..

es gibt eines von mir im FAQ-Forum
[Kernel] Zwei Kernel parallel installieren
http://www.linux-club.de/viewtopic.php?t=21684
 
OP
M

martin_huber

Newbie
Oh, ich habe mich wohl missverstänlich ausdgedrückt. Für Kernel installieren mit Erstellung einer rpm-Datei habe ich mich ja informiert (auch mit dem guten HowTo aus dem Forum). Aber aus irgendwelchen Gründen klappt es nicht, die rpm-Datei zu erstellen. Jetzt möchte ich halt gerne (falls der Fehler nicht behoben wird) ein HowTo, das beschreibt, was man alles anstellen muss, wenn man zwei Kernel parallel installieren will, ohne dass eine rpm-Datei erstellt wird.
 
A

Anonymous

Gast
Also wenn es nur darum geht, daß der Kernel NICHT UNBEDINGT über ein rpm installiert werden soll, dann ist Hertweck die richtige Adresse.

http://www.thomashertweck.de/kernel26.html#installieren

Funktioniert so wie dort beschrieben (bzImage bauen, kopieren, System.map damit nix fehlt, Initrd basteln usw usw ..) ohne Probleme.

Greetz,

RM
 

oc2pus

Ultimate Guru
martin_huber schrieb:
Jetzt möchte ich halt gerne (falls der Fehler nicht behoben wird) ein HowTo, das beschreibt, was man alles anstellen muss, wenn man zwei Kernel parallel installieren will, ohne dass eine rpm-Datei erstellt wird.

aha, du möchtest :)

dann musst du einfach für jeden Kernel einen Eintrag in der /boot/grub/menu.lst erstellen.
That's it
 

Appleonkel

Hacker
Kurz HowTo:
Sourcen entpacken.
Code:
zcat /proc/config.gz > .config
make menuconfig
make && make modules_install
cp arch/i386/boot/bzImage /boot/kernel-$ver
cp System.map /boot/System.mpa-$ver
cd /boot/
mkinitrd -k kernel-$ver -i initrd-$ver
in grub kernel und initrd eintragen, fertig.

Appleonkel
 

abgdf

Guru
Hi,

also, mir war das Booten auch etwas lang.

Ich boote ohne Splash-Screen im Textmodus, allerdings von DOS kommend mit LOADLIN und der Zeile:
Code:
c:\loadlin\loadlin.exe  c:\loadlin\vmlinuz  root=/dev/hda6  ro  vga=785 initrd=c:\loadlin\initrd

Bis zum Login ohne KDM im Textmodus mit Standardservices (und so Sachen wie mysql) sind es auf meiner 3 Jahre alten Hardware (SuSE 10.0) 28 Sekunden.

Nach dem Login starte ich die grafische Oberfläche (WindowMaker) mit
Code:
startx windowmaker
für das ich ein alias "x" definiert habe, in weiteren 8,5 Sekunden.

Vieles davon ist in den Abschnitten "Im Textmodus starten; Bildschirm vor Login löschen", "Alias-Befehle verwenden" und "Meine WindowMaker-Anpassungen" auf meiner Seite (s.u. den www-Button) beschrieben.

Insgesamt ca. 40 Sekunden finde ich dann so einigermaßen akzeptabel. Ich glaube, WinXP ist da auch nicht viel schneller, Win95 war es allerdings schon :(.

Viele Grüße
 

Gimpel

Guru
Lasst mal hier nicht vom eigentlichen Thema abschweifen. Hier gehts darum dass "make rpm" nicht tut, und nicht um die bootzeiten. Dazu gabs bereits einige threads Ecke Linux-Talk/Blafasel inkl. Tips wie unnötige services deaktivieren, InitNG etc ppp.
 
OP
M

martin_huber

Newbie
Ich habe noch ein wenig herum gebastelt und festgestellt, dass die Kompilierung in dem gleichen Verzeichnis wie die Quelldateien problemlos funktioniert. Wieso aber die Möglichkeit mit O=/pfad/zum/Outputordner/ nicht funktioniert, ist trotzdem ein Rätsel. Wie dem auch sei, so funktionierts und ich kann ein wenig mit den Kerneloptionen spielen und ein wenig über Linux dazulernen.

Danke für die Hinweise!
 
Oben