Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Kernel auf anderem Rechner installieren

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 21. Jun 2008 10:55   Titel: Kernel auf anderem Rechner installieren

Hi!

Da es wenig Sinn hat, die Kernelquellen auf jeden Rechner zu werfen, wenn man mehrere Rechner hat, compiliere ich Kernel zentral auf einem Rechner. Bisher habe ich den Kernel dann immer von Hand installiert. Doch warum jedesmal aufwendig dieselben Schritte ausführen, wenn es auch automatisch gehen kann? Hier ist ein Skript dafür. Habe ich was übersehen? Bei mir funktioniert es. Es kopiert allerdings nur den Kernel. Einträge für den Bootloader oder ein eventuelles Erzeugen einer Ramdisk habe ich außen vor gelassen.

Es waren ein paar Hürden zu überwinden, die mich bisher davon abgehalten haben, es zu implementieren. Im Endeffekt war es aber nicht viel Arbeit.

Code:
#!/bin/sh
# Install a self-compiled kernel on a remote machine
# 20080621 hjb

# Assumptions:
# ssh with passwordless login for root
# Kernel is named bzimage
# .config belongs to the current kernel

set -e

# config
arch=x86      # Valid for x86 and x86_64 with newer kernels

dest="$1"
if [ -z "$dest" ]; then
  echo "Need target hostname as argument"
  exit 1
fi

# Kernel version
version=$(head .config | grep "Linux kernel version:" | tr -d ' #:[A-z]')
grep -q CONFIG_LOCALVERSION_AUTO=y .config
if [ $? = 0 ]; then
  localversion=$(grep "CONFIG_LOCALVERSION=" .config | sed -e 's/.*="\(.*\)"/\1/')
  version=$version$localversion
fi

# Install modules
mdir="$(cd ..; pwd)"
rm -rf "$mdir/lib"
make modules_install INSTALL_MOD_PATH="$mdir"
rm -f "$mdir/lib/modules/$version/build"
rm -f "$mdir/lib/modules/$version/source"

scp "arch/$arch/boot/bzImage" root@$dest:/boot/linux-$version
scp "System.map" root@$dest:/boot/System.map-$version
scp ".config" root@$dest:/boot/config-$version
ssh -l root $dest "rm -rf /lib/modules/$version"
tar cvzf - -C "$mdir" lib | ssh -l root $dest "cd /; tar xvzf -"


Grüße,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy