Kernelbau Versionsnummer
Kernelbau Versionsnummer
Hallo zusammen,
ich möchte mir gerne einen eigenen Kernel unter Ubuntu bauen. Wenn ich nach der Ubuntu-Wiki-Anleitung vorgehe, schaffe ich es einfach nicht, dass die Bezeichnung 2.6.20 in den Paketen steht.
http://wiki.ubuntuusers.de/Kernel?highl ... 8kernel%29
Meine Bezeichnung: linux-image-2.6.17.14-ubuntu1_my1st_amd64.deb
gewünschte Bez.: linux-image-2.6.20.1-generic_my1st_amd64.de oder eine andere sinnvolle
Wenn ich den Kernel beispielsweise auf /home/user/... kompilieren habe ich die richtige Kernelnummer im Paketnamen, der Kernel funktioniert dann aber nicht.
Wer kann mir helfen?
ich möchte mir gerne einen eigenen Kernel unter Ubuntu bauen. Wenn ich nach der Ubuntu-Wiki-Anleitung vorgehe, schaffe ich es einfach nicht, dass die Bezeichnung 2.6.20 in den Paketen steht.
http://wiki.ubuntuusers.de/Kernel?highl ... 8kernel%29
Meine Bezeichnung: linux-image-2.6.17.14-ubuntu1_my1st_amd64.deb
gewünschte Bez.: linux-image-2.6.20.1-generic_my1st_amd64.de oder eine andere sinnvolle
Wenn ich den Kernel beispielsweise auf /home/user/... kompilieren habe ich die richtige Kernelnummer im Paketnamen, der Kernel funktioniert dann aber nicht.
Wer kann mir helfen?
Gruß Andre
Ja, ich habe auf kernel.org den Kernel und den Patch heruntergeladen.
Ich frage mich, warum man laut der Ubuntu-Anleitung nach /usr/src/linux wechseln muss, und warum man diesen Link erstellen muss. Nach allen anderen Anleitungen kann man auch als user kompilieren und dann zum Schluss als root installieren.
Ich fasse zusammen:
- Wenn ich als user kompiliere, startet der Kernel nach der Installation nicht. Er bleibt einfach beim Booten hängen.
- Wenn ich die Ubuntuanleitung befolge, dann läuft das Ding, aber dann steht dort Kernel 2.6.17.14. Das wundert mich noch zusätzlich, da sonst nur 2.6.17.10 und 11 installiert sind.
Ich frage mich, warum man laut der Ubuntu-Anleitung nach /usr/src/linux wechseln muss, und warum man diesen Link erstellen muss. Nach allen anderen Anleitungen kann man auch als user kompilieren und dann zum Schluss als root installieren.
Ich fasse zusammen:
- Wenn ich als user kompiliere, startet der Kernel nach der Installation nicht. Er bleibt einfach beim Booten hängen.
- Wenn ich die Ubuntuanleitung befolge, dann läuft das Ding, aber dann steht dort Kernel 2.6.17.14. Das wundert mich noch zusätzlich, da sonst nur 2.6.17.10 und 11 installiert sind.
Gruß Andre
Also jetzt mal ganz langsam. Du gehst genau nach der Ubuntu-Anleitung vor und entpackst den Source aus dem Paket? Dann bekommst Du logischerweise auch einen Kernel mit dieser Version.
Und dass der andere Kernel nicht bootet kann an einer fehlerhaften Konfiguration liegen.
Und es ist normal üblich den Kernelsource unter /usr/src/ abzulegen, der Symlink linux ist historisch begründet, heutzutage im Normalfall nicht mehr notwendig.
Aber am besten beschreibst Du mal genau dein Problem und deine Vorgehensweise, weil ansonsten musst du auf jemanden mit ner Glaskugel warten.
Und dass der andere Kernel nicht bootet kann an einer fehlerhaften Konfiguration liegen.
Und es ist normal üblich den Kernelsource unter /usr/src/ abzulegen, der Symlink linux ist historisch begründet, heutzutage im Normalfall nicht mehr notwendig.
Aber am besten beschreibst Du mal genau dein Problem und deine Vorgehensweise, weil ansonsten musst du auf jemanden mit ner Glaskugel warten.
MfG GoKi
:wq
:wq
Leider habe ich auch keine Glaskugel, aber eine ausführliche Beschreibung
Der Kernel bleibt beim Booten hängen!
Die Bezeichnung wollte ich nicht. Nach dem Aufruf von "make menuconfig" Stand oben in der Menüleiste etwas von einem 2.6.17er Kernel. Ich bin mir nicht sicher, aber glaube, dass unter /usr/src/linux ein weiterer Link war, der vom System angelegt wurde. Kann es sein, dass ich hier den falschen Kernel kompiliert habe?
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Code: Alles auswählen
cd download
cd kernel/
tar -xjvf linux-2.6.20.1.tar.bz2
mv patch-2.6.20.1.bz2 linux-2.6.20.1
cd linux-2.6.20.1/
bunzip2 -c ./patch-2.6.20.1.bz2 | patch -p1 -R
cp /boot/config-2.6.17-11-generic .config
make oldconfig
make menuconfig
make-kpkg clean
sudo make-kpkg --initrd --revision my1st binary
cd ..
sudo dpkg -i linux-headers-2.6.20.1_my1st_amd64.deb linux-source-2.6.20.1_my1st_all.deb linux-image-2.6.20.1_my1st_amd64.deb
exit
Code: Alles auswählen
cd /usr/src/
sudo tar -xjvf linux-2.6.20.1.tar.bz2
sudo ln -s linux-2.6.20.1 linux
sudo mv patch-2.6.20.1.bz2 linux-2.6.20.1
cd linux-2.6.20.1
sudo bunzip2 -c ./patch-2.6.20.1.bz2 | patch -p1 -R
cd ..
cd linux
sudo cp /boot/config-2.6.17-11-generic .config
sudo make oldconfig
sudo make-kpkg clean
sudo make-kpkg --initrd --revision my1st binary
cd ..
sudo dpkg -i linux-headers-2.6.17.14-ubuntu1_my1st_amd64.deb linux-image-2.6.17.14-ubuntu1_my1st_amd64.deb linux-source-2.6.17.14-ubuntu1_my1st_all.deb
exit
Gruß Andre
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Ich denke mal es ist keine gute Idee auf einem Ubuntu einen Kernel aus Sourcen von Kernel.org zu kompilieren und installieren. Da diese Kernelsouren schon aufs extremste gepacht sind. Es gibt auch fix und fertige Sourcen für Ubuntu, in der Version 2.6.20. Es ist eigentlich wesentlich einfacher bei einem Kernel 2.6.xx die Version nach seinen Wünschen zu ändern. Ubuntu bildet da übrigens keine Ausnahme.
Das sind die ersten 10 Zeilen des Makefiles eines Ubuntukernels.
Man braucht also nur die Extraversion zu ändern.
http://archive.ubuntu.com/ubuntu/pool/m ... 16_all.deb
Ich sehe auch gerade das du Kernel 2.6.20 auf Kernel 2.6.20.1 patchen willst
Da lohnt sich das noch weniger. Der Patch könnte schon in den Ubuntusourcen eingearbeitet sein. Außer dem betrifft dieser Patch eh nur nur NFS und sonst nichts. Das Logfile für diesen Patch ist nur 707 Bytes lang, also sehr kurz.
Das sind die ersten 10 Zeilen des Makefiles eines Ubuntukernels.
Code: Alles auswählen
1 VERSION = 2
2 PATCHLEVEL = 6
3 SUBLEVEL = 20
4 EXTRAVERSION =-ubuntu1
5 NAME = Homicidal Dwarf Hamster
6
7 ifdef UBUNTUBUILD
8 EXTRAVERSION =
9 endif
10
Man braucht also nur die Extraversion zu ändern.
http://archive.ubuntu.com/ubuntu/pool/m ... 16_all.deb
Ich sehe auch gerade das du Kernel 2.6.20 auf Kernel 2.6.20.1 patchen willst
![Question :?:](./images/smilies/icon_question.gif)
![Question :?:](./images/smilies/icon_question.gif)
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Hintergrund ist eigentlich, dass wir am Samstag bei unsererem Linux-Treffen, einen Kernel-Workshop hatten. Der Vortragende hat auf Ubuntu 6.10 einen Kernel 2.6.20 von kernel.org installiert. Allerdings hat er den Kernel aus /home gebootet und nicht installiert. Ich wollte schlauer sein, und den Kernel als deb-Paket installieren.
Was hat das denn mit den Links auf sich? Wenn ich aus /usr/src/linux kompiliere, welcher Kernel wird dann genommen. Wie gesagt, in /usr/src/linux ist noch ein Link drinnen. Wenn hier der falsche genommen wird, kompiliere ich den alten Kernel. Vielleicht habe ich an dem ja schon rumgefummelt und weiß es nur noch nicht? Ich glaube, Ubuntu hat nur eine Kernel-Source und der Rest sind Patches. Der Kernel von meinem Ubuntu ist ein 2.6.17er.
Was hat das denn mit den Links auf sich? Wenn ich aus /usr/src/linux kompiliere, welcher Kernel wird dann genommen. Wie gesagt, in /usr/src/linux ist noch ein Link drinnen. Wenn hier der falsche genommen wird, kompiliere ich den alten Kernel. Vielleicht habe ich an dem ja schon rumgefummelt und weiß es nur noch nicht? Ich glaube, Ubuntu hat nur eine Kernel-Source und der Rest sind Patches. Der Kernel von meinem Ubuntu ist ein 2.6.17er.
Gruß Andre
Wie schaut denn die Ausgabe vonAA hat geschrieben:Die Bezeichnung wollte ich nicht. Nach dem Aufruf von "make menuconfig" Stand oben in der Menüleiste etwas von einem 2.6.17er Kernel. Ich bin mir nicht sicher, aber glaube, dass unter /usr/src/linux ein weiterer Link war, der vom System angelegt wurde. Kann es sein, dass ich hier den falschen Kernel kompiliert habe?
Code: Alles auswählen
ls -l /usr/src/
Somit würdest du nach dem cd linux wieder im Source von 2.6.17 landen.
Zum Patch:
Der Dateiname deutet für mich darauf hin, dass Du schon das komplette Archiv vom 2.6.20.1 gezogen hast. In dem Fall ist der Patch 2.6.20 -> 2.6.20.1 wenig sinnvoll.
MfG GoKi
:wq
:wq
Ich habe einen Symlink von 2.6.20 angelegt. Was wäre denn, wenn unter linux noch ein Symlink wäre? Ich habe auf /usr/src/linux geklickt und dort einen anderen Link gesehen. Wird bei der Grundinstallation dort nicht auch schon ein Symlink angelegt? Wenn ich nun einen 2.6.17er Kernel laufen habe, würde dann vielleicht der falsche Symlink geholt werden? Jedenfalls habe ich keinen falschen Symlink angelegt. Die Ausgabe von ls -l zeigt nichts, weil ich die Informationen aus meiner .bash_history zusammengepflückt habe. Ich komme auch erst heute Abend wieder an dem Computer.
Ah so ist das gedacht. Der Patch ist dann also nur für die, die vorher mal den Kernel ungepatcht heruntergeladen haben.
Ah so ist das gedacht. Der Patch ist dann also nur für die, die vorher mal den Kernel ungepatcht heruntergeladen haben.
Gruß Andre
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Ich weiß zwar nicht was der Zinnober mit dem Symlink soll. (sorry für den Ausdruck)
Lad dir das Deb auf das ich verlinkt habe. Installiere das mit
Der Source landet dann als tar.bz2 im Verzeichnis /usr/src entpacke den Source.
Konfiguriere ihn und kompiliere ihn anschließend
Und das Deb dann anschließend installieren. mit
Lad dir das Deb auf das ich verlinkt habe. Installiere das mit
Code: Alles auswählen
sudo dpkg -i linux-source-2.6.20_2.6.20-9.16_all.deb
Der Source landet dann als tar.bz2 im Verzeichnis /usr/src entpacke den Source.
Code: Alles auswählen
tar xjvf linux-source-2.6.20.tar.bz2
Code: Alles auswählen
sudo make-kpkg --initrd kernel-image
Und das Deb dann anschließend installieren. mit
Code: Alles auswählen
sudo dpkg -i
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Wollte AA nur eine mögliche Fehlerquelle nennen, warum sein Versuch einen 2.6.20 zu kompilieren mit 2.6.17er Kernel endet.KBDCALLS hat geschrieben:Ich weiß zwar nicht was der Zinnober mit dem Symlink soll. (sorry für den Ausdruck)
Und ja, der Symlink ist wirklich nur historisch begründet. Die meisten Treiber, die man nachträglich kompilieren muss, nutzen mittlerweile die entsprechenden Symlink unter /lib/modules/`uname -r` und daher hat der Symlink wirklich keinen Nutzen mehr. Wird aber dennoch noch oft in Anleitungen erwähnt. Mir fällt zumindest kein Sinn ein.
MfG GoKi
:wq
:wq
So, ich glaube ich blicke nun durch, bräuchte aber noch eine Bestätigung.
In "/usr/src" ist ein Link "linux". Wenn ich nun ausführe, dann wird ein Link vom Kernel 2.6.20.1 in das Verzeichnis, auf das der Link "linux" zeigt, erstellt.
Wenn man also nach diesen Anleitungen vorgehen sollte, dann muss man vorher den Link "linux" in "/usr/src" löschen. Ist das so richitg?
Den verlinkten Kernel von dir probier ich mal![Smile :-)](./images/smilies/icon_smile.gif)
Aber mich interessiert nun noch, warum das Booten nach dem Kernelkompilieren nicht geklappt hat. Nachdem ich ausgeführt habe, habe ich immer enter gedrückt. Hätte ich vielleicht die Module auf "M" setzen sollen? Ansonsten müsste nach dem Kopieren der Konfigurationsdatei der Kernel doch funktionieren?
In "/usr/src" ist ein Link "linux". Wenn ich nun
Code: Alles auswählen
sudo ln -s linux-2.6.20.1 linux
Wenn man also nach diesen Anleitungen vorgehen sollte, dann muss man vorher den Link "linux" in "/usr/src" löschen. Ist das so richitg?
Den verlinkten Kernel von dir probier ich mal
![Smile :-)](./images/smilies/icon_smile.gif)
Aber mich interessiert nun noch, warum das Booten nach dem Kernelkompilieren nicht geklappt hat. Nachdem ich
Code: Alles auswählen
sudo make oldconfig
Gruß Andre
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Dir fehlt die Initrd . Deshalb muß die Option --initrd beim Kompilieren des Kernels mittels make-kpkg angegeben werden.
Wenn du ln -s -f schreibst dann wird der Link umgeschrieben. Aber dieser Link wird bei Debian und auch Ubuntu nicht gebraucht. Für den Kernel selbst kompilieren sowieso nicht. Allenfalls wenn du einzelne Module nachkompilieren willst/mußt. Zumal der normalerweise bei beiden auf die zum Kernel gehörenden Kernelheaders verweist.
Du hast doch geschrieben , das du an einem Kernelworkshop teilgenommen hast. Da ist bestimmt ein andere Distri als Debian/Ubuntu benutzt worden.
Wenn du ln -s -f schreibst dann wird der Link umgeschrieben. Aber dieser Link wird bei Debian und auch Ubuntu nicht gebraucht. Für den Kernel selbst kompilieren sowieso nicht. Allenfalls wenn du einzelne Module nachkompilieren willst/mußt. Zumal der normalerweise bei beiden auf die zum Kernel gehörenden Kernelheaders verweist.
Du hast doch geschrieben , das du an einem Kernelworkshop teilgenommen hast. Da ist bestimmt ein andere Distri als Debian/Ubuntu benutzt worden.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Ich habe doch angegeben?
Der hat den Kernel in "/home/user" gelassen und manuell in die "/boot/grub/menu.list" eingetragen. Distri war Ubuntu 6.10, wie bei mir.
Code: Alles auswählen
sudo make-kpkg --initrd --revision my1st binary
Der hat den Kernel in "/home/user" gelassen und manuell in die "/boot/grub/menu.list" eingetragen. Distri war Ubuntu 6.10, wie bei mir.
Gruß Andre
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Du erhälst doch aber Debianpaket , und das installiert man mit
Beispielsweise.
Und wenn du das machst wird der Kernel an die richtige Stelle verfrachtet, die Module auch , und die Initrd erstellt. Die Module müssen sich im Verzeichnis befinden. Ansonsten werden sie nicht gefunden.
Aber poste mal deine nach NoPaste
Und dann wäre mal interessant mit welcher Meldung das Booten scheitert.
Wenn ich das richtig überblicke dann ist auf dem Kernelworkshop ein Kernel kompiliert worden der keine Initrd braucht. Dann hast du aber immer noch das Problem das die restlichen Module an der richtigen Stelle sein müssen um gefunden zu werden.
Code: Alles auswählen
sudo dpkg -i linux-image-2.6.20-6-386_2.6.20-6.11_i386.deb
Und wenn du das machst wird der Kernel an die richtige Stelle verfrachtet, die Module auch , und die Initrd erstellt. Die Module müssen sich im Verzeichnis
Code: Alles auswählen
/lib/modules/`uname -r`
Aber poste mal deine
Code: Alles auswählen
/boot/grub/menu.lst
Und dann wäre mal interessant mit welcher Meldung das Booten scheitert.
Wenn ich das richtig überblicke dann ist auf dem Kernelworkshop ein Kernel kompiliert worden der keine Initrd braucht. Dann hast du aber immer noch das Problem das die restlichen Module an der richtigen Stelle sein müssen um gefunden zu werden.
Zuletzt geändert von KBDCALLS am 27.02.2007 10:40:04, insgesamt 1-mal geändert.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Die "boot/grub/menu.list" kann ich erst heute Abend posten, aber ich habe eben hier was gefunden: http://forum.ubuntuusers.de/topic/75594/30/#604635
Ein ebenfalls Betroffener sagt, man müsse upload installieren, damit es funktioniert (im Thread auf Seite 4).
Kann ich aber auch erst heute Abend ausporbieren.
Ein ebenfalls Betroffener sagt, man müsse upload installieren, damit es funktioniert (im Thread auf Seite 4).
Kann ich aber auch erst heute Abend ausporbieren.
Gruß Andre
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Ich würde jetzt aber erst mal vorschlagen du Installierst dir jetzt erst mal das Original Ubuntu Paket.
Mit upload hast du dich wohl vertan er meinte upstart
Mit upload hast du dich wohl vertan er meinte upstart
floggy im [url=http://forum.ubuntuusers.de/goto?post=604654]forum.ubuntusers.de[/url] hat geschrieben:Ich habe mir den Thread noch nicht angesehen, aber bei mir funktioniert er seit ich upstart installiert habe (auch merkwürdig, da er immer vor init hängen blieb):
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Mit dem Kernel aus den Ubuntu-Quellen geht es auch nicht. Er bricht hier ab:
So langsam komme ich mir verarscht vor. Geht Ubuntu einen Weg in Richtung Suse oder bin ich einfach zu blöd dafür? Soll ich zu Debian wechseln?
Code: Alles auswählen
make[4]: *** [ubuntu/wireless/rt2x00/rt61pci.o] Fehler 1
make[3]: *** [ubuntu/wireless/rt2x00] Fehler 2
make[2]: *** [ubuntu/wireless] Fehler 2
make[1]: *** [ubuntu] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-source-2.6.20'
make: *** [debian/stamp-build-kernel] Fehler 2
Gruß Andre
Hallo allerseits,
bin der Beschreibung von #KBDCALLS nachgegangen und schon sehr zufrieden, danke,
auch wenn noch einige Fragen offen und der Kernel sich noch nicht installieren lässt
Bin vorher ebenfalls den "Vanilla-Weg" über kernel.org gegangen.
Frage mich aber was mit den linux-headers wird, ob die durch die Installation
vom angegebenen link, der mit *_all.deb endet
, auch inst. werden.
Die passenden wären ja auch unter
http://archive.ubuntu.com/ubuntu/pool/m ... ce-2.6.20/
zu finden. Da weiß ich nicht weiter.
Ich schreibe mal auf, was mir während der Kompilation/Installation auffiel,
mich nicht weiter kommen lässt und die "offenen Fragen" :
Am Ende der Kompilation sehe ich mehrere <INSTALL include/*.h> ablaufen ...
das sind Sie doch !, die linux-headers, oder ?
--revision bei <$make-kpkg kernel-image> kann, so wie ich das sehe
und wie #KBDCALLS schrieb, auch weggelassen werden, wird anscheinend
aus der <.config> gelesen. (und wenn benutzt wird, nur im "lower-case", musste ich feststellen)
Habe ein "badly formatted heading line, at file debian/changelog line 1"
ausgegeben bekommen (<make-kpkg kernel-image>), dann ein
<Illegal package name `2.6.20-ubuntu1_usr-0.2> und Abbruch mit <Error 2>.
Ich denke, ich hätte die <CONFIG_LOCALVERSION=> nicht ändern sollen; nach der kompilation,
hatte es nicht klein geschrieben und nach einem <$make> die /usr/src/linux/.config geändert
...so, habe neu kompiliert, und <CONFIG_LOCALVERSION=_usr-0.2> eingefügt, <$make-kpkg> ausgeführt
und bekomme wieder ein <Illegal package name `2.6.20-ubuntu1_usr-0.2>.
Habe dann "mal" die /usr/src/linux/.config geändert und aus <CONFIG_LOCALVERSION=>
das "_ am Anfang vor _usr" entfernt (warum ?, keine Ahnung !), aber der darauf folgende Abbruch
sagt dieses :
"The changelog says we are creating 2.6.20-ubuntu1_usr-0.2
However, I throught the version is 2.6.20-ubuntu1usr-0.2
exit 4
Error 4
"
Das heißt doch, das der "Kernel-Paket-Name" gar nicht so <illegal> sein kann.
Es handelt sich hier um die <2.6.20-9.16>-Version vom Kernel, kann mir da bitte jemand sagen,
ob und wie ich den Versionsnamen in der Kernelkonfiguration oder eventuell doch bei <$make-kpkg --revision> angeben muss ?!, oder ob ich da ganz falsch liege !
Kann es sein, das etwas wie <CONFIG_LOCALVERSION=-9.16_usr-0.2> in der <.config> angegeben werden sollte,
und das das <-9.16> in <-9.16_usr-0.2> mit laufender Kernelverion angepasst wird ?
Danke schonmal !, scotty
!!! UND, "schön bei Euch im Forum sein zu dürfen
" !!!
bin der Beschreibung von #KBDCALLS nachgegangen und schon sehr zufrieden, danke,
auch wenn noch einige Fragen offen und der Kernel sich noch nicht installieren lässt
Bin vorher ebenfalls den "Vanilla-Weg" über kernel.org gegangen.
Frage mich aber was mit den linux-headers wird, ob die durch die Installation
vom angegebenen link, der mit *_all.deb endet
![Confused :?](./images/smilies/icon_confused.gif)
Die passenden wären ja auch unter
http://archive.ubuntu.com/ubuntu/pool/m ... ce-2.6.20/
zu finden. Da weiß ich nicht weiter.
Ich schreibe mal auf, was mir während der Kompilation/Installation auffiel,
mich nicht weiter kommen lässt und die "offenen Fragen" :
Am Ende der Kompilation sehe ich mehrere <INSTALL include/*.h> ablaufen ...
das sind Sie doch !, die linux-headers, oder ?
--revision bei <$make-kpkg kernel-image> kann, so wie ich das sehe
und wie #KBDCALLS schrieb, auch weggelassen werden, wird anscheinend
aus der <.config> gelesen. (und wenn benutzt wird, nur im "lower-case", musste ich feststellen)
Habe ein "badly formatted heading line, at file debian/changelog line 1"
ausgegeben bekommen (<make-kpkg kernel-image>), dann ein
<Illegal package name `2.6.20-ubuntu1_usr-0.2> und Abbruch mit <Error 2>.
Ich denke, ich hätte die <CONFIG_LOCALVERSION=> nicht ändern sollen; nach der kompilation,
hatte es nicht klein geschrieben und nach einem <$make> die /usr/src/linux/.config geändert
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
...so, habe neu kompiliert, und <CONFIG_LOCALVERSION=_usr-0.2> eingefügt, <$make-kpkg> ausgeführt
und bekomme wieder ein <Illegal package name `2.6.20-ubuntu1_usr-0.2>.
![Shocked 8O](./images/smilies/icon_eek.gif)
Habe dann "mal" die /usr/src/linux/.config geändert und aus <CONFIG_LOCALVERSION=>
das "_ am Anfang vor _usr" entfernt (warum ?, keine Ahnung !), aber der darauf folgende Abbruch
sagt dieses :
"The changelog says we are creating 2.6.20-ubuntu1_usr-0.2
However, I throught the version is 2.6.20-ubuntu1usr-0.2
exit 4
Error 4
"
Das heißt doch, das der "Kernel-Paket-Name" gar nicht so <illegal> sein kann.
Es handelt sich hier um die <2.6.20-9.16>-Version vom Kernel, kann mir da bitte jemand sagen,
ob und wie ich den Versionsnamen in der Kernelkonfiguration oder eventuell doch bei <$make-kpkg --revision> angeben muss ?!, oder ob ich da ganz falsch liege !
Kann es sein, das etwas wie <CONFIG_LOCALVERSION=-9.16_usr-0.2> in der <.config> angegeben werden sollte,
und das das <-9.16> in <-9.16_usr-0.2> mit laufender Kernelverion angepasst wird ?
Danke schonmal !, scotty
!!! UND, "schön bei Euch im Forum sein zu dürfen
![Smile :)](./images/smilies/icon_smile.gif)
P1-133 (classic)
~0.064 Gigabyte
18.2 SCSI (AHA-2940UW)
"Edgy Eft" / LarsWM
~0.064 Gigabyte
18.2 SCSI (AHA-2940UW)
"Edgy Eft" / LarsWM
Hallo,
ich habe gestern die aktuellen Kernelquellen von
http://archive.ubuntu.com/ubuntu/pool/m ... 16_all.deb
kompiliert und installiert bekommen, mein Probleme vom 02.03.2007 sind keine mehr.
Habe nochmals das von KBDCALLS geschriebene gelesen, und bin auf meinen Fehler gestoßen.
Nach der Kernelkompilation mit
und vor dem eigentlichen
hatte ich ein
ausgeführt, was mir den Kernel brav unter /usr/src/linux/arch/i386/boot ablegte. Dem folgendem
hatte das wohl nicht gefallen.
Also, im /usr/src/linux
ausgeführt, die Kernelversion nochmal überprüft (korrekte Kernelversion, Localversion ("lower-case") und dann ein
So hatte es KBDCALLS auch geschrieben, habe es nur falsch verstanden !
Was nicht so gemeint war, habe ich dann herausgefunden, am nächsten Tag ![Smile :)](./images/smilies/icon_smile.gif)
... und, siehe da, alles ok, keine Meldung von <Illegal package name> mehr.
Die
Nachtrag : aufgefallen ist, das gleiche Meldung auf anderen Rechnern auch ausgegeben wird
Dann ein
und der Kernel ist installiert, die /boot/grub/menu.1st angepasst, System.map kopiert, eventuell wurden die Module in /lib/modules und die initrd in /boot erstellt.
Neustart, ... läuft !
Da freue ich mich doch, und werde kurz den Grund für das Schreiben in diesem Artikel nennen :
Ich bin erst 1999 mit SuSE 6.4 und Kernel 2.4 angefangen, "das Dingen" an die laufenden Rechner anzupassen.
Dann über Mandrake, Debian im letzten Jahr zu Gentoo und bin da bis jetzt auch geblieben.
Auf alten Rechner möchte ich mir das quälend langsame Kompilieren aber ersparen, muss auch nicht sein,
und würde jetzt halt gerne teilst Ubuntu 6.06 LTS und 6.10 laufen haben.
Für die Kernelkompilationen hatte ich mir unter SuSE auch die Quellen unter http://www.kernel.org geladen.
Unter Gentoo ist das eh standard, die gepachten Quellen heißen gentoo-sources, werden aber auf die gleiche Weise
wie die "ungepachten" von http://www.kernel.org installiert. (denke ich mal, das das Standard dort ist).
Aber unter Debian/Ubuntu sollte das Kernelpaket mit dem Paketmanager "angelegt" werden, und das hat mich bis zum lesen dieses Artikels
noch SEHR stuzig gemacht, gerade weil das Installieren eines neuen Kernels auch gut über den "Vanilla-Weg" möglich war und die
ersten "Debian-Art" Versuche fehlschlugen.
Und jetzt, jetzt läuft alles super, danke !
Die Frage mit den linux-headers hat sich für mich eigentlich auch erstmal erledigt,
läuft alles gut, werde früher oder später noch "was drüber lesen müssen".
Zu AA :
Lass dir bei dem Problem helfen und gib die gewünschten Angaben an, sonst wird das schwer fallen.
Ich könnte mir vorstellen, das es nur eine Kleinigkeit ist, welche du beheben/ändern/einfügen/löschen solltest,
und schon wird´s lüppen![Smile :)](./images/smilies/icon_smile.gif)
Mach das bitte, würde mich auch sehr interessieren !
und kein "realer Ordner" ist, du dir die .config ansiehst, ein <$ make menuconfig> oder sonst ein <$ make *config> in selbigen ausführst,
und die von dir nicht zu bearbeiten wollende Kernelversionsnummer "auftaucht", verweißt dieser Symlink doch eindeutig auf das falsche Verzeichnis,
oder irgentetwas ist mit dem <$ make oldconfig> nicht richtig gelaufen (alte Version 2.6.17.14-ubuntu1), oder sehe ich das falsch ?
Nach einer Eingabe von
auf welchen Ordner zeigt denn der symlink linux (Gruß an GoKi) ?
Hier sieht /usr/src so aus (die beiden Dateien könnten noch gelöscht werden) :
Bei dir, AA, denke ich, das noch ein weiterer linux-source-XXX Ordner vorhanden ist und der Symlink auf diesen zeigt ?!
Zum nächsten denke ich, das der /usr/src/linux Symlink "dermaßen Historisch anwesend" ist, das dieser
nicht MEHR "falsch geholt wird", wie schon vorher im Artikel erwähnt und von mir nur wiedergeäfft wird![Wink ;)](./images/smilies/icon_wink.gif)
cu
ich habe gestern die aktuellen Kernelquellen von
http://archive.ubuntu.com/ubuntu/pool/m ... 16_all.deb
kompiliert und installiert bekommen, mein Probleme vom 02.03.2007 sind keine mehr.
![Wink :wink:](./images/smilies/icon_wink.gif)
Habe nochmals das von KBDCALLS geschriebene gelesen, und bin auf meinen Fehler gestoßen.
Nach der Kernelkompilation mit
Code: Alles auswählen
$ make menuconfig
Code: Alles auswählen
$ sudo make-kpkg kernel-image
Code: Alles auswählen
$ sudo make
Code: Alles auswählen
$ sudo make-kpkg kernel-image
hatte das wohl nicht gefallen.
Also, im /usr/src/linux
Code: Alles auswählen
$ sudo make-kpkg clean
Code: Alles auswählen
$ sudo make-kpkg kernel-image
Sollte für mich heißen, Konfigurieren, kompilieren UND anschließend einKonfiguriere ihn und kompiliere ihn anschließend
Code:
sudo make-kpkg --initrd kernel-image
Code: Alles auswählen
$ sudo make-kpkg kernel-image
![Smile :)](./images/smilies/icon_smile.gif)
... und, siehe da, alles ok, keine Meldung von <Illegal package name> mehr.
Die
- "badly formatted heading line, at file debian/changelog line 1"
Nachtrag : aufgefallen ist, das gleiche Meldung auf anderen Rechnern auch ausgegeben wird
Dann ein
Code: Alles auswählen
$ cd /usr/src
$ sudo dpkg -i [kernel-image].deb
Neustart, ... läuft !
Da freue ich mich doch, und werde kurz den Grund für das Schreiben in diesem Artikel nennen :
Ich bin erst 1999 mit SuSE 6.4 und Kernel 2.4 angefangen, "das Dingen" an die laufenden Rechner anzupassen.
Dann über Mandrake, Debian im letzten Jahr zu Gentoo und bin da bis jetzt auch geblieben.
Auf alten Rechner möchte ich mir das quälend langsame Kompilieren aber ersparen, muss auch nicht sein,
und würde jetzt halt gerne teilst Ubuntu 6.06 LTS und 6.10 laufen haben.
Für die Kernelkompilationen hatte ich mir unter SuSE auch die Quellen unter http://www.kernel.org geladen.
Unter Gentoo ist das eh standard, die gepachten Quellen heißen gentoo-sources, werden aber auf die gleiche Weise
wie die "ungepachten" von http://www.kernel.org installiert. (denke ich mal, das das Standard dort ist).
Aber unter Debian/Ubuntu sollte das Kernelpaket mit dem Paketmanager "angelegt" werden, und das hat mich bis zum lesen dieses Artikels
noch SEHR stuzig gemacht, gerade weil das Installieren eines neuen Kernels auch gut über den "Vanilla-Weg" möglich war und die
ersten "Debian-Art" Versuche fehlschlugen.
Und jetzt, jetzt läuft alles super, danke !
Die Frage mit den linux-headers hat sich für mich eigentlich auch erstmal erledigt,
läuft alles gut, werde früher oder später noch "was drüber lesen müssen".
Zu AA :
Lass dir bei dem Problem helfen und gib die gewünschten Angaben an, sonst wird das schwer fallen.
Ich könnte mir vorstellen, das es nur eine Kleinigkeit ist, welche du beheben/ändern/einfügen/löschen solltest,
und schon wird´s lüppen
![Smile :)](./images/smilies/icon_smile.gif)
Mach das bitte, würde mich auch sehr interessieren !
Wenn du unter /usr/src eine Verzeichnisebene auf /usr/src/linux tiefer gehst, und dabei das "Verzeichnis" /usr/src/linux ein Symlink"Die Bezeichnung wollte ich nicht. Nach dem Aufruf von "make menuconfig" Stand oben in der Menüleiste etwas von einem 2.6.17er Kernel. Ich bin mir nicht sicher, aber glaube, dass unter /usr/src/linux ein weiterer Link war, der vom System angelegt wurde. Kann es sein, dass ich hier den falschen Kernel kompiliert habe?"
und kein "realer Ordner" ist, du dir die .config ansiehst, ein <$ make menuconfig> oder sonst ein <$ make *config> in selbigen ausführst,
und die von dir nicht zu bearbeiten wollende Kernelversionsnummer "auftaucht", verweißt dieser Symlink doch eindeutig auf das falsche Verzeichnis,
oder irgentetwas ist mit dem <$ make oldconfig> nicht richtig gelaufen (alte Version 2.6.17.14-ubuntu1), oder sehe ich das falsch ?
Nach einer Eingabe von
Code: Alles auswählen
$ ls -l /usr/src
Hier sieht /usr/src so aus (die beiden Dateien könnten noch gelöscht werden) :
Code: Alles auswählen
root@mc:~# ls -l /usr/src/
total 46547
-rw-r--r-- 1 root src 23599 Mar 2 02:44 config-2.6.20.1-mc-0.2
lrwxrwxrwx 1 root src 19 Mar 2 02:45 linux -> linux-source-2.6.20
drwxr-xr-x 24 root root 1736 Mar 2 15:18 linux-source-2.6.20
-rw-r--r-- 1 root root 47589604 Feb 26 04:15 linux-source-2.6.20.tar.bz2
Wenn du gerade frisch die Quellen von kernel.org geladen hast, sollte (kann) kein Symlink innerhalb dieses Verzeichnisses Bezug auf andere, in deinem System vorliegende Kernelquellen nehmen."Ich habe einen Symlink von 2.6.20 angelegt. Was wäre denn, wenn unter linux noch ein Symlink wäre? Ich habe auf /usr/src/linux geklickt und dort einen anderen Link gesehen. Wird bei der Grundinstallation dort nicht auch schon ein Symlink angelegt? Wenn ich nun einen 2.6.17er Kernel laufen habe, würde dann vielleicht der falsche Symlink geholt werden?"
Zum nächsten denke ich, das der /usr/src/linux Symlink "dermaßen Historisch anwesend" ist, das dieser
nicht MEHR "falsch geholt wird", wie schon vorher im Artikel erwähnt und von mir nur wiedergeäfft wird
![Wink ;)](./images/smilies/icon_wink.gif)
cu
P1-133 (classic)
~0.064 Gigabyte
18.2 SCSI (AHA-2940UW)
"Edgy Eft" / LarsWM
~0.064 Gigabyte
18.2 SCSI (AHA-2940UW)
"Edgy Eft" / LarsWM