Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 19. Nov 2018 12:55

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: 21. Jun 2008 10:55 
Offline
Pro-Linux
Benutzeravatar

Registriert: 15. Aug 1999 16:59
Beiträge: 3237
Wohnort: Bruchsal
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?


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot] und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de