Kernel Optionen hinzu fügen.

hm, ich hab es ja fast geahnt!
Code:
debian2:/usr/src/linux-source-2.6.21# make menuconfig
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:32:20: error: curses.h: Datei oder Verzeichnis nicht gefunden
...
Code:
apt-get install libncurses5-dev
Fukkelt mir persönlich aber zu viel in der menu.lst rum.
?? make-kpkg fasst die menu.lst überhaupt nicht an ...
Das kann Dir max. beim installieren des (oder jedes anderen) erzeugten Image-Paketes passieren. Und wenn Dir das nicht passt, dann pass halt die /etc/kernel-img.conf an ...
 
hm, ich hab es ja fast geahnt!
Code:
debian2:/usr/src/linux-source-2.6.21# make menuconfig
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:32:20: error: curses.h: Datei oder Verzeichnis nicht gefunden

Dir fehlt die Library mit den Headern der exports fuer das Konfigurationsmenu, wohl libncurses5-dev...um es kurz mal zusammenzufassen.

Kernel(Binary-)bau:

Du brauchst den Quellcode, auch Sourcen genannt, des Binaries - hier linux-source-<kernel-version-number> .

Du brauchst die binutils/autoconf/automake, also eine Toolchain (Werkzeugkette :think: ) welche sich in GNU entwickelt hat um Einstellungen an den Sourcen vorzunehmen, und um den Build-Vorgan zu steuern, was je nach Hardware-/Betriebssystem-Grundlage verschieden sein kann.

Dann brauchst du ggf. Helpers, ein Werkzeug, das ein Entwickler aufgrund seiner Neigung bevorzugt um einen speziellen Task zu bewerkstelligen der nicht unbedingt "normal" ist bei einem Binary-Bau; hier z.B. die ncurses-Library welche (denke ich glauben zu duerfen) fuer die User - Ein-/Aus-gabe beim Konfigurationsdialog benutzt wird. Das waere z.B. nicht noetig wenn du make xconfig, oder make config genommen haettest. Aber make config ist ECHT nicht empfehlenswert; xconfig, wenn man mal die ncurses-Variante kennt zwar grundsaetzlich sehr Aehnlich, aber auf einem Server oftmals unpraktikabel ist, weil es als X-Client, der dann auf dem Server die xlib und anderes (mit eben mehr overhead gegenueber ncurses) erfordern wuerde, nun nicht die Wahl der Wahl darstellt.

Und du brauchst einen Compiler, hier wohl gcc; mit eigenen helpers, wie z.B. gpp (preprozessor, also ein Programm das den Quellcode in ein Format Aufloest ( heisst header-Dateien einbindet, #define's ersetzt usw.) das der Compiler schluckt, und einen Assembler (as ?) der den Assembler-Code den gcc erstellt ( ja, der erstellt assembler-Code soweit ich weiss ) in Object-/Maschinen-code "uebersetzt" , und einen Linker (ld glaub ich) der die Objectdateien in ein fuer das Betriebssystem akzeptables Binary zusammenfuehrt - bei einem Kernel ist das letzte dann wieder aus einem etwas anderen Aspekt zu beleuchten, da er ja nicht von einem Betriebssystem in den Speicher geladen wird (darum LiLo oder Grub ;)); trotzdem MUESSTE es aber so sein das es an die dem Systemrichtlienien unterliegenden Kriterien fuer ein lauffaehiges Binary unterliegt, was zwar nicht zwingendermassen der Fall sein duerfte, aber unpraktikabel waere wenn es nicht so ist....LOL.

Ok, was du zum bauen von Binaries brauchst:

0. Hardware, Leidenschaft
1. Sourcen / Quellcode
2. Toolchain - binutils, make, automake, autoconf...
3. Helpers - ncurses, dialog, usw...
4. Compiler o. Interpreter - gcc, python, sh, usw...
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

?? make-kpkg fasst die menu.lst überhaupt nicht an ...
Das kann Dir max. beim installieren des (oder jedes anderen) erzeugten Image-Paketes passieren. Und wenn Dir das nicht passt, dann pass halt die /etc/kernel-img.conf an ...

...ich hab keine initrd, und folgenden Eintrag in der menu.lst{code]title custom
root (hd<x>,<y>)
kernel /boot/custom root=/dev/hd<x><y>[/code]
In /boot ist custom ein Link auf eine Datei vmlinuz-<kernel-Version><local-Version>, wobei local-Version im Menupunkt "General-Setup--->Local_Version" von mir persoenlich gesetzt wird. Ein
Code:
make install; make modules_install; reboot
Kopiert den (neuen) Kernel nach /boot, auch die System.map und config, und kopiert vorher (falls vorhanden) den alten Kernel mit gleichem namen nach <name>.old . Ein Link mit old nach <name>.old in /boot und ein Eintrag wie
Code:
title custom
root (hd<x>,<y>)
kernel /boot/old root=/dev/hd<x><y>
wird den Fall so lange erledigen so lange man keine neue Version anstrebt, und dann muesste man eben die Links aktualisieren.

reboot ? - Eigentlich recht simpel.
 
Zuletzt bearbeitet:
Was hat das mit meinem Post zu tun?
Abgesehen davon, dass das Umbenennen sich meines Wissens nach nur auf die Files unter /boot/ bezieht und nicht auf die Module unter /lib/modules
(wobei ich zugeben muss, dass mein "Wissen" hier Stand 2002 ist ... seitdem nehm ich make-kpkg) ... was passiert bei einem 3.Kernel? Der 1. wird unwiederruflich gelöscht. Oder?
Da bau ich mir lieber Kernel-Pakete und verwalte die mit dem Paketsystem ... the Debian-way eben ...
 
Code:
# configuration written to .config
#


*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.

debian2:/usr/src/linux-source-2.6.21#

einfach nur "make" oder muss sonst noch etwas geheimnisvolles tun?
 
?? make-kpkg fasst die menu.lst überhaupt nicht an ...
Das kann Dir max. beim installieren des (oder jedes anderen) erzeugten Image-Paketes passieren.
Stimmt!
Nach make-kpkg muss ja noch installiert werden. DABEI passiert es. Hab mich vertan, sry!

Und wenn Dir das nicht passt, dann pass halt die /etc/kernel-img.conf an ..
Warum blökst du mich denn gleich so an?
 
so jetzt habe ich ein linux-image. Es hätt ja mal jemand erwähnen können, dass die Sache ne gute Stund in Anspruch nimmt.

linux-image-2.6.21_2.6.21-10.00.Custom_i386.deb

1. Kann ich den einfach in linux-image-2.6.21_eigen_i386 umbenennen?
2. Wie komm ich an den linux-header?
 
Warum blökst du mich denn gleich so an?
Sorry, war nicht so gemeint, wie es vielleicht rüber kam.
Ich meinte nur, falls Du das nicht möchtest ... ;)

so jetzt habe ich ein linux-image. Es hätt ja mal jemand erwähnen können, dass die Sache ne gute Stund in Anspruch nimmt.
Hast Du gefragt? *feix*
außerdem hängt sowas immer von der HW und den gewählten Optionen ab.
1. Kann ich den einfach in linux-image-2.6.21_eigen_i386 umbenennen?
Ja, der Name des deb ist Wurst ...
2. Wie komm ich an den linux-header?
Code:
make-kpkg kernel_headers
... falls Du sie unbedingt als Paket haben willst.
Ansonsten enhält das Source-Verzeichnis im derzeitigen Zustand auch die Header ...

Code:
apt-get install linux-headers-2.6-686
Das bringt ihm mit seinem Selbstbau-Kernel aber gar nix ...
Mich wundert allerdings, warum du ein 386er Image hast.
Da steht i386, nicht 386 ... und das sollte schon stimmen, solang er keine 64Bit-Installation hat ;)
 
Zuletzt bearbeitet:
@bulli
Code:
Mich wundert allerdings, warum du ein 386er Image hast.

mich auch! Also wieso ist ein 386er estellt worden, wo ich doch so gerne ein 686er gehabt hatte?
 
Zur Sicherheit ist das so in Ordnung,
Code:
1.linux-source-x.x.xx runterladen und in /usr/src enpacken
2.cd /usr/src/linux-source-x.x.xx
3.make menuconfig    
4.make-kpkg kernel_image  (Kernel wird erstellt als linux-image-x.x.xx_i386.deb)
5.make-kpkg kernel_headers (Header............als linux-headers-x.x.xx_i386.deb
6.Kernel und Header per dpkg -i installieren
7.menu.lst checken
oder ist sonst noch was zu bedenken?

@Godspeed, ein einfaches "ok" reicht. Wenn es dann auch ok ist.
 
Zuletzt bearbeitet:
Fehler beim installieren
Code:
debian2:/home/michael# dpkg -i install linux*.deb
dpkg: Fehler beim Bearbeiten von install (--install):
 Kann auf das Archiv nicht zugreifen: Datei oder Verzeichnis nicht gefunden
Wähle vormals abgewähltes Paket linux-headers-2.6.21.
(Lese Datenbank ... 150020 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke linux-headers-2.6.21 (aus linux-headers-2.6.21_2.6.21-eigen.deb) ...
Wähle vormals abgewähltes Paket linux-image-2.6.21.
Entpacke linux-image-2.6.21 (aus linux-image-2.6.21_2.6.21-eigen.deb) ...
Done.
Richte linux-headers-2.6.21 ein (2.6.21-10.00.Custom) ...

Richte linux-image-2.6.21 ein (2.6.21-10.00.Custom) ...
Running depmod.
Running postinst hook script /sbin/update-grub.
You shouldn't call /sbin/update-grub. Please call /usr/sbin/update-grub instead!

Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.21
Found kernel: /boot/vmlinuz-2.6.18-4-686
Updating /boot/grub/menu.lst ... done


Fehler traten auf beim Bearbeiten von:
 install
debian2:/home/michael#

Auszug aus der menu.lst
Code:
## ## End Default Options ##

title		Debian GNU/Linux, kernel 2.6.21
root		(hd0,6)
kernel		/boot/vmlinuz-2.6.21 root=/dev/hda7 ro vga=791 
savedefault

title		Debian GNU/Linux, kernel 2.6.21 (single-user mode)
root		(hd0,6)
kernel		/boot/vmlinuz-2.6.21 root=/dev/hda7 ro vga=791 single
savedefault

title		Debian GNU/Linux, kernel 2.6.18-4-686
root		(hd0,6)
kernel		/boot/vmlinuz-2.6.18-4-686 root=/dev/hda7 ro vga=791 
initrd		/boot/initrd.img-2.6.18-4-686
savedefault

title		Debian GNU/Linux, kernel 2.6.18-4-686 (single-user mode)
root		(hd0,6)
kernel		/boot/vmlinuz-2.6.18-4-686 root=/dev/hda7 ro vga=791 single
initrd		/boot/initrd.img-2.6.18-4-686
savedefault

kommt mir spanisch vor ????
 
Fehler beim installieren
Code:
debian2:/home/michael# dpkg -i [B]install[/B] linux*.deb
dpkg: Fehler beim Bearbeiten von install (--install):
...
Fehler traten auf beim Bearbeiten von:
 install
Schau Dir nochmal die Syntax von dpkg an ... das install ist zuviel ..
Auszug aus der menu.lst
...
kommt mir spanisch vor ????
Warum? Ist doch o.k. ...
 

Ähnliche Themen

xrandr: cant open display

LIDL-Surf-Stick Huawei E 1550 an CentOs 6.2

Wo sind die Geräte?

NagiosGrapher 1.7.1 funktioniert nicht

USB Fehler bei aufwachender Platte

Zurück
Oben