Hallo, On Wed, 02 Jan 2002, Manfred Tremmel wrote:
Am Mittwoch, 2. Januar 2002 01:12 schrieb Helga Fischer:
Ich würde lieber mit der Hand kopieren. make bzlilo löscht den alten nämlich (und warum sollte man was funktionierendes wegschmeissen?).
Ack.
Nö, der alte wird zum vmlinuz.old und die System.map zur System.old Find ich recht praktisch, hab hier in der lilo.conf immer nur vmlinuz und vmlinuz.old drinnen. Sollte mal was schief gehen, steht die alte Version damit immer noch zur Verfügung, trotzdem brauch ich mich nicht ums rumkopieren kümmern.
Und was ist, wenn du im neuen Kernel was vergessen hast? z.B. den Framebuffer-Support? Nach einem "make bzlilo" folgt dann das grosse "Oh-oh", wenn man nicht noch ne andere Kopie hat (die es bei neueren Suse's ja $DEITY-sei-Dank gibt)... Siehe aber http://www.dhaller.de/linux/multikernel.html ;) Ich ziehe auch ein manuelles kopieren vor, alternativ kann man sich ein '/sbin/installkernel' shell-script schreiben, und dann 'make install' statt 'make bzlilo' aufrufen, denn (aus arch/$(ARCH)/boot/install.sh): ==== # User may have a custom install script if [ -x ~/bin/installkernel ]; then exec ~/bin/installkernel "$@"; fi if [ -x /sbin/installkernel ]; then exec /sbin/installkernel "$@"; fi ==== Zum Beispiel (entschaerft und OHNE JEDE GEWAEHR da nur "mal eben" hingeschrieben[1]) fuer "mein" Schema von o.g. Webseite: ,----[ /sbin/installkernel ] | #!/bin/sh | lilo_conf="/dev/stdout" | instname="bzImage" | | kernelversion="$1" | kernelfile="$2" | mapfile="$3" | installpath="$4" | | test -n "$rootdev" || { | echo "$0: Fatal error: environment-variable 'rootdev' empty!" >&2; | exit 1; | } | test -n "$append" || { | echo "$0: Fatal error: environment-variable 'append' empty!" >&2; | echo " set it to a single blank ' ' for no per-image append line" >&2; | exit 2; | } | if test "x$append" = "x "; then | unset append | else | append="\n append = \"$append\"" | fi | | instkernel="${installpath}/${instname}-${kernelversion}" | | echo cp -i "$kernelfile" "$instkernel" || exit -1 | echo cp -i "$mapfile" "${installpath}/System.map-${kernelversion}" || exit -1 | echo -e " | #### Kernel $kernelversion #### | image = $instkernel | root = $rootdev$append | label = $kernelversion | " >> $lilo_conf || exit -1 | | if test -x /sbin/lilo; then | echo /sbin/lilo -v || exit -1 | else | /etc/lilo/install || exit -1 | fi | | exit 0 `---- Anwendung in /usr/src/linux z.B. mit: append="hdd=ide-scsi" rootdev="/dev/hda5" make install oder append=" " rootdev="/dev/hda5" make install (wobei man append und rootdev sicher auch im script definieren[2] oder vorher in der shell exportieren koennte ;) Ausserdem muss man entweder im "Toplevel-Makefile" das folgende ent- kommentieren #export INSTALL_PATH=/boot oder append=" " rootdev="/dev/hd??" make INSTALL_PATH="/boot" install verwenden, wenn man den Kernel nach /boot haben will.
Mir wiederstrebt es irgendwie, einen mit mehreren Megabyte an Patches abgeänderten Kernel, wie SuSE es macht, als Original zu bezeichnen.
Full Ack. "Original" bzw. "vanilla" ist immer ein ungepatchter Kernel von kernel.org.[PUNKT!] ;) Alle anderen Kernel sind zu qualifizieren z.B. als "SuSE-default-Kernel 2.x.y", "Original 2.x.y + reiserfs-patch" etc.). -dnh [1] hoffentlich ist's auch sh-konform ;) [2] aber dann ist das script halt nicht mehr portabel... -- 95: PGP-Keysigning-Party Kultiges Zusammensitzen und gemeinsames Murmeln magischer Zahlen. (Gert Döring)