make deperledigt diese Aufgaben. Danach sollten Sie die alten Objektdateien der letzten Kompilierungsrunde auch noch löschen.
make clean
Sie können die Befehle auch gemeinsam eingeben. Das doppelte kaufmännische Und bewirkt, daß make clean nur dann ausgeführt wird, wenn make dep erfolgreich ausgeführt wurde.
make dep && make clean
Hier noch einmal ein Auszug aus dem Makefile zu den beiden oben genannten Befehlen.
dep-files: scripts/mkdep archdep include/linux/version.h scripts/mkdep -- init/*.c > .depend scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \ $(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) $(MAKE) update-modverfile endif ifdef CONFIG_MODVERSIONS MODVERFILE := $(TOPDIR)/include/linux/modversions.h else MODVERFILE := endif export MODVERFILE depend dep: dep-files clean: archclean find . \( -name '*.[oas]' -o -name core -o -name '.*.flags' \) -type f - \ | grep -v lxdialog/ | xargs rm -f rm -f $(CLEAN_FILES) rm -rf $(CLEAN_DIRS) $(MAKE) -C Documentation/DocBook clean
make zImagestartet das Kompilieren des Kernels.
Soll der Kernel gleich auf einer Diskette untergebracht werden, so können Sie den Befehl
make zImageverwenden. Dabei müssen Sie natürlich darauf achten, daß der Kernel nicht zu groß für die Diskette wird.
Apropos großer Kernel: Ab einer gewissen Größe funktioniert eine Kompilieren mit make zImage
nicht mehr. Hier kommt der Befehl
make bzImagezum Einsatz, der größere Kernels erlaubt.
enterprise:/ # mv /boot/vmlinuz /boot/vmlinuz.old enterprise:/ # mv /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz enterprise:/ # lilo
Wer auf Nummer sicher gehen will, bindet beide Kernels als Bootimages in den Bootloader ein. So kann, falls der neue Kernel nicht funktioniert, mit dem alten Kernel ohne weitere Probleme gebootet werden.
make modulesund mit dem Befehl
make modules_installwerden die Moduldateien in das nach der Kernelversion benannte Verzeichnis in /lib/modules installiert.
Die Konfigurationsdatei für den vom System bei der Installation installierten Kernel finden Sie im Verzeichnis /boot in der Datei vmlinuz.config. Sie können diese Datei z. B. beim Befehl make menuconfig importieren und damit die von SuSE vorgegebenen Einstellung als Grundlage für Ihren eigenen Kernel benutzen.
Den neuen SuSE-Kernel können Sie vom SuSE-FTP-Server herunterladen. Sie finden ihn unter der Rubrik update.
ftp://ftp.suse.com/pub/suse/i386/update/Distributionsnummer/kernel/kernelversion
Es ist aber anzuraten nicht vom Original-SuSE-Server die Dateien herunterzuladen, sondern einen auf der SuSE-Seite angegebenen Spiegelserver zu verwenden. Diese sind meist weniger belastet als der Originalserver und das spielt bei einer Downloadgröße von rund 30 MByte schon eine wichtige Rolle.
Das Paket wird mit dem RPM-Manager ausgepackt und erzeugt ein Verzeichnis mit der Versionsnummer und den Link /usr/src/linux auf dieses Verzeichnis.
enterprise:~/download # rpm -ivh kernel-source-2.4.16.SuSE-31.i386.rpm kernel-source ################################################## enterprise:~/download # cd /usr/src enterprise:/usr/src # ls -l linux* lrwxrwxrwx 1 root root 17 Mär 26 21:35 linux -> linux-2.4.16.SuSE drwxr-xr-x 15 root root 530 Mär 26 21:36 linux-2.4.16.SuSE enterprise:/usr/src # cd linux enterprise:/usr/src/linux # make menuconfig enterprise:/usr/src/linux # ls -l .config -rw-r--r-- 1 root root 38008 Mär 26 22:12 .config enterprise:/usr/src/linux # make dep && make clean . . (Eine Menge Meldungen) . enterprise:/usr/src/linux # make bzImage && make modules && make modules_install . . (Eine Menge Meldungen) . enterprise:/usr/src/linux # ls -ld /lib/modules/2.4.16-4GB drwxr-xr-x 5 root root 313 Mär 26 22:37 /lib/modules/2.4.16-4GB enterprise:/usr/src/linux # cd /boot enterprise:/boot # cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.4.16 enterprise:/boot # vi /etc/lilo.conf enterprise:/boot # lilo
Mit dem vi wurde in die /etc/lilo.conf folgender Block eingefügt:
image = /boot/vmlinuz-2.4.16 label = linux root = /dev/hdb7 initrd = /boot/initrd append = "enableapic vga=0x0317"
Notizen:
Notizen:
Programminstallation und Kernelkompilierung
java -version
aus. Welche Information bekommen Sie?
Notizen: