the world of migges IT and my way of life …

Kernel für GameServer – Linux Debian

Für einen GameServer ist der Kernel am wichtigsten. Ein 100HZ Kernel ist nicht gerade gameserver-tauglich, besonders nicht, wenn mehrere Gameserver darauf laufen sollen. Darum erkläre ich nun, wie man seinen Kernel GameServer fähig macht.

Ihr solltet aber bedenken, daß selbst der beste Kernel kein schlechtes Routing/Anbindung gut macht und somit Finger weg von Strato, Hetzner und co. (Update 15:56 16.12.2007)

Ab heute gibt es 3 Kernel Howtos...

Die Leistung von den unterschiedlichen Kernel will ich euch durch diese Diagramme demonstrieren

Vanilla 2.6.18 1000HZ Preempt Kernel:

fps-2618-1000hz

Patched 2.6.18 1500HZ/1500HZ Preempt High Resolution Timer

 fps2618patched

 Patched 2.6.23.9 1000HZ/1000HZ RT-Preempt High Resolution Timer

 rt1000


 

HRES Kernel 1500Hz/1500HZ Bestimmt für only CS:S Server

Dieser Kernel bietet ausreichend Leistung um Highend CS:S Server zu betreiben.

Vorteile:

  • Er erreicht bei einer Tick von 100 (16 Slots belegt) ohne Probleme konstant 980-1000FPS
  • Durch die hohen FPSwerte ist eine höhere Tickrate möglich (>200)

Nachteile:

  • Load und CPU Last steigen
  • Es kann zu System eigenen Timing Problemen kommen (Ohne auswirkung auf CS:S)
  • Nur -pingboost 2 in Verbindung mit einer +sys_ticrate 10000 kann genutzt werden(CS1.6)

Code
su
apt-get update
apt-get install libc6-dev gcc binutils modutils kernel-package libncurses5-dev debianutils make bzip2
cd /..
cd /usr/src/
wget http://migges.net/page/wp-content/uploads/2009/05/linux-2.6.18.tar.bz2
tar xfvj linux-2.6.18.tar.bz2
wget http://migges.net/page/wp-content/uploads/2009/05/patch-2.6.18-hrt-dyntick2.patches.tar.bz2
mv linux-2.6.18 linux-2.6.18-hrt-dyntick2
cd linux-2.6.18-hrt-dyntick2
bzcat /usr/src/patch-2.6.18-hrt-dyntick2.patches.tar.bz2 | patch -p1
cd /..
cd /usr/src/
ln -s linux-2.6.18-hrt-dyntick2 linux

So nun übernehmen wir die alte Kernelcfg. Durch den Befehl "ls /boot" siehst du die cfg oder cfgs der vorherigen Kernel. Die musst du natürlich
bei "cp /boot/config-2.6.15" auf deine vorherige cfg abändern.

Code
ls /boot/
cp /boot/config-2.6.15 linux/.config
cd linux

Bevor wir zum Menü übergehen müssen wir ein paar Einstellungen in der param.h und in der jiffies.h manuell machen

Code
vi include/asm-i386/param.h

Code
#ifndef _ASMi386_PARAM_H
#define _ASMi386_PARAM_H

#ifdef __KERNEL__
# define HZ             1500       /* Internal kernel timer frequency */
# define USER_HZ        1500             /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC         (USER_HZ)       /* like times() */
#endif

#ifndef HZ
#define HZ 100
#endif

#define EXEC_PAGESIZE   4096

#ifndef NOGROUP
#define NOGROUP         (-1)
#endif

#define MAXHOSTNAMELEN  64      /* max length of hostname */

#endif

Code
vi include/linux/jiffies.h

Code
/*
 * The following defines establish the engineering parameters of the PLL
 * model. The HZ variable establishes the timer interrupt frequency, 100 Hz
 * for the SunOS kernel, 256 Hz for the Ultrix kernel and 1024 Hz for the
 * OSF/1 kernel. The SHIFT_HZ define expresses the same value as the
 * nearest power of two in order to avoid hardware multiply operations.
 */
#if HZ >= 12 && HZ < 24
# define SHIFT_HZ       4
#elif HZ >= 24 && HZ < 48
# define SHIFT_HZ       5
#elif HZ >= 48 && HZ < 96
# define SHIFT_HZ       6
#elif HZ >= 96 && HZ < 192
# define SHIFT_HZ       7
#elif HZ >= 192 && HZ < 384
# define SHIFT_HZ       8
#elif HZ >= 384 && HZ < 768
# define SHIFT_HZ       9
#elif HZ >= 768 && HZ < 1536
# define SHIFT_HZ       10
#elif HZ >= 1536 && HZ < 3072
# define SHIFT_HZ       11
#else
# error You lose.
#endif

Nun zum Menü

Code
make menuconfig

Mit dem letzen Befehl wird nun ein Menü angezeigt dort solltest du folgende Einstellungen vornehmen
Device Drivers --->
Block devices --->
<*> RAM disk support
(16) Default number of RAM disks
(8192) Default RAM disk size (kbytes)[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

File systems --->
Miscellaneous filesystems --->
<*> Compressed ROM file system support (cramfs)

Processor type and features --->
[ ] Tickless System (Dynamic Ticks) (NEW)
[*] High Resolution Timer Support
Preemption Model (Preemptible Kernel (Low-Latency Desktop))
[*] Preempt The Big Kernel Lock
Timer frequency (1000 HZ)

Block Layer --->
I0 Schedulers --->
<*> Anticipatory I/o scheduler

Power management options (ACPI, APM) --->
[*]Power Management support
ACPI (Advanced Configuration and Power Interface) Support --->
[*]ACPI Support

General Setup --->
[*] Kernel .config support
[*] Enable acess to .config through /proc/config.gz

so und nun zum Abschluss

Code
make-kpkg clean
make-kpkg --initrd --revision=Kernel.01 kernel_image
ls /usr/src/
cd /..
cd /usr/src/

Seit einiger Zeit ist der Namen des erstellten .deb Paket nicht mehr "kernel-image-2.6.18_Kernel.01_i386.deb" sondern "linux-image-2.6.18_Kernel.01_i386.deb" Da viele von euch noch alte Versionen haben, solltet ihr vorher noch "ls /boot/" bzw. "ls /usr/src/" eingeben, um zu schauen wie euer Paket heisst.

Code
dpkg -i linux-image-2.6.18_Kernel.01_i386.deb

Das wars schon nach einem Reboot solltest du nun mit dem Befehl "uname -a" testen ob auch der neue Kernel läuft. Wenn ihr den Kernel wieder entfernen wollt gebt ihr folgendes ein.

Code
ls /boot/
su
dpkg --purge --force-remove-essential linux-image-2.6.18

 


 

CKs Kernel 1000Hz/100HZ Bestimmt für only CS1.6 Server

 

Dieser Kernel bietet ausreichend Leistung um Highend CS1.6 Server zu betreiben.

Vorteile:

  • Load und CPU Last sind im Vergleich zu den beiden anderen Kernel Sehr gut
  • Durch diesen Kernel ist der Parameter -pingboost 3 in Verbindung mit einer +sys_ticrate 10000 bei konstanten 1000FPS OHNE einen extrem beschleunigten Spielablauf möglich. (Für EPS Server ist es dennoch zu schnell)

Nachteile:

  • Bei CS:S erreicht er zu wenige FPS (~333)

Code
su
apt-get update
apt-get install libc6-dev gcc binutils modutils kernel-package libncurses5-dev debianutils make bzip2
cd /..
cd /usr/src/
wget http://migges.net/page/wp-content/uploads/2009/05/linux-2.6.18.tar.bz2
tar xfvj linux-2.6.18.tar.bz2
wget http://migges.net/page/wp-content/uploads/2009/05/patch-2.6.18-cks1.bz2
mv linux-2.6.18 linux-2.6.18-cks1
cd linux-2.6.18-cks1
bzcat /usr/src/patch-2.6.18-cks1.bz2 | patch -p1
cd /..
cd /usr/src/
ln -s linux-2.6.18-cks1 linux

So nun übernehmen wir die alte Kernelcfg. Durch den Befehl "ls /boot" siehst du die cfg oder cfgs der vorherigen Kernel. Die musst du natürlich
bei "cp /boot/config-2.6.15" auf deine vorherige cfg abändern.

Code
ls /boot/
cp /boot/config-2.6.15 linux/.config
cd linux

Bevor wir zum Menü übergehen müssen wir ein paar Einstellungen in der param.h manuell machen.

Code
vi include/asm-i386/param.h

Code
#ifndef _ASMi386_PARAM_H
#define _ASMi386_PARAM_H

#ifdef __KERNEL__
# define HZ             CONFIG_HZ       /* Internal kernel timer frequency */
# define USER_HZ        100             /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC         (USER_HZ)       /* like times() */
#endif

#ifndef HZ
#define HZ 100
#endif

#define EXEC_PAGESIZE   4096

#ifndef NOGROUP
#define NOGROUP         (-1)
#endif

#define MAXHOSTNAMELEN  64      /* max length of hostname */

#endif

Nun zum Menü

Code
make menuconfig

Mit dem letzen Befehl wird nun ein Menü angezeigt dort solltest du folgende Einstellungen vornehmen
Device Drivers --->
Block devices --->
<*> RAM disk support
(16) Default number of RAM disks
(8192) Default RAM disk size (kbytes)
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

File systems --->
Miscellaneous filesystems --->
<*> Compressed ROM file system support (cramfs)

Processor type and features --->
Preemption Model (Preemptible Kernel (Low-Latency Desktop))
[*] Preempt The Big Kernel Lock
Timer frequency (1000 HZ)

Block Layer --->
I0 Schedulers --->
<*> Anticipatory I/o scheduler

Power management options (ACPI, APM) --->
[*]Power Management support
ACPI (Advanced Configuration and Power Interface) Support --->
[*]ACPI Support

General Setup --->
[*] Kernel .config support
[*] Enable acess to .config through /proc/config.gz

so und nun zum Abschluss

Code
make-kpkg clean
make-kpkg --initrd --revision=Kernel.01 kernel_image
ls /usr/src/
cd /..
cd /usr/src/

Seit einiger Zeit ist der Namen des erstellten .deb Paket nicht mehr "kernel-image-2.6.18_Kernel.01_i386.deb" sondern "linux-image-2.6.18_Kernel.01_i386.deb" Da viele von euch noch alte Versionen haben solltet ihr vorher noch "ls/boot/" eingeben um zu schauen wie euer Paket heisst.

Code
dpkg -i linux-image-2.6.18-cks1_Kernel.01_i386.deb

Das wars schon nach einem Reboot solltest du nun mit dem Befehl "uname -a" testen ob auch der neue Kernel läuft. Wenn ihr den Kernel wieder entfernen wollt gebt ihr folgendes ein.

Code
ls /boot/
su
dpkg --purge --force-remove-essential linux-image-2.6.18-cks1

 


 

RT Kernel Bestimmt für CS:S und CS1.6 Server

 

Dieser Kernel bietet eine sehr gute Performance für beide Dedicated Server

Vorteile:

  • Load und CPU Last steigen nicht so stark an wie bei dem 1500HZ Kernel
  • CS:S erreicht einen guten Wert um die 980FPS

Nachteile:

  • pingboost 3 in Verbindung mit einer +sys_ticrate 10000 kann nur genutzt werden wenn der Kernel mit 1000/100 HZ läuft (CS 1.6)

Code
su
apt-get update
apt-get install libc6-dev gcc binutils modutils kernel-package libncurses5-dev debianutils make bzip2
cd /..
cd /usr/src/
wget http://migges.net/page/wp-content/uploads/2009/05/linux-2.6.18.tar.bz2
tar xfvj linux-2.6.23.9.tar.bz2
wget http://migges.net/page/wp-content/uploads/2009/05/patch-26239-rt13.bz2
mv linux-2.6.23.9 linux-2.6.23.9-rt13
cd linux-2.6.23.9-rt13
bzcat /usr/src/patch-2.6.23.9-rt13.bz2 | patch -p1
cd /..
cd /usr/src/
ln -s linux-2.6.23.9-rt13 linux

So nun übernehmen wir die alte Kernelcfg. Durch den Befehl "ls /boot" siehst du die cfg oder cfgs der vorherigen Kernel. Die musst du natürlich
bei "cp /boot/config-2.6.21" auf deine vorherige cfg abändern.

Code
ls /boot/
cp /boot/config-2.6.21 linux/.config
cd linux

So nun gibt es zwei Möglichkeiten etwa man optimiert den Kernel für CS:S oder für CS 1.6

CS:S
Bevor wir zum Menü übergehen müssen wir ein paar Einstellungen in der param.h manuell machen damit der CS:S Server
auch die FPS stabil im Bereich 980 - 990 hält

Code
vi include/asm-i386/param.hCode:
#ifndef _ASMi386_PARAM_H
#define _ASMi386_PARAM_H

#ifdef __KERNEL__
# define HZ             1000       /* Internal kernel timer frequency */
# define USER_HZ        1000             /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC         (USER_HZ)       /* like times() */
#endif

#ifndef HZ
#define HZ 100
#endif

#define EXEC_PAGESIZE   4096

#ifndef NOGROUP
#define NOGROUP         (-1)
#endif

#define MAXHOSTNAMELEN  64      /* max length of hostname */

#endif

oder

CS1.6
So kommt es nicht zu einer extremen beschleunigung inGame

Code
vi include/asm-i386/param.hCode:
#ifndef _ASMi386_PARAM_H
#define _ASMi386_PARAM_H

#ifdef __KERNEL__
# define HZ             CONFIG_HZ       /* Internal kernel timer frequency */
# define USER_HZ        100             /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC         (USER_HZ)       /* like times() */
#endif

#ifndef HZ
#define HZ 100
#endif

#define EXEC_PAGESIZE   4096

#ifndef NOGROUP
#define NOGROUP         (-1)
#endif

#define MAXHOSTNAMELEN  64      /* max length of hostname */

#endif

Nun zum Menü

Code
make menuconfig

Mit dem letzen Befehl wird nun ein Menü angezeigt dort solltest du folgende Einstellungen vornehmen

General Setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
[*] Kernel .config support
[*] Enable acess to .config through /proc/config.gz

Processor type and features --->
[ ] Tickless System (Dynamic Ticks)
[*] High Resolution Timer Support
[*]Symmetric multi-processing support --->(Für 2/4 Kern CPUs oder Dual oder Quad Boards)
Processor family (Core 2/neuer Xeon) (Hier könnt ihr selber entscheiden welchen CPU euer Server hat)
[ ] Generic x86 support
[ ] SMT (Hyperthreading) scheduler support (Falls ihr z.B einen P4 mit HT habt)
[*] Multi-core scheduler support
Preemption Mode (Complete Preemption (Real-Time))
[*] enable irq balancing
Timer frequency (1000HZ) --->

---Enable the Block Layer --->
I0 Schedulers --->
<*> Anticipatory I/O scheduler
<*> Deadline I/O scheduler

Power management options (ACPI, APM) --->
[*]Power Management support
ACPI (Advanced Configuration and Power Interface) Support --->
[*]ACPI Support

Kernel hacking --->
[*] Wakeup latency timing
[*] Latency tracing
[*] wakeup latency histogram

Device Drivers --->
<*> Real Time Clock --->
--- Real Time Clock
[*] Set system time from RTC on startup and resume (NEW)
(rtc0) RTC used to set the system time (NEW)
[*] RTC debug support (NEW)
--- RTC interfaces
[*] /sys/class/rtc/rtcN (sysfs)
[*] /proc/driver/rtc (procfs for rtc0)
[*] /dev/rtcN (character devices)
[*] RTC UIE emulation on dev interface
<M> Test driver/device

Device Drivers --->
Character devices --->
<*> Enhanced Real Time Clock Support
[*] Real Time Clock Histogram Support
[*] HPET - High Precision Event Timer
[*] Allow mmap of HPET (NEW)

so nun zum Abschluss

Code
make-kpkg clean
make-kpkg --initrd --revision=Kernel.01 kernel_image
ls /usr/src/
cd /..
cd /usr/src/

Seit einiger Zeit ist der Namen des erstellten .deb Paket nicht mehr "kernel-image-2.6.23.9-rt13_Kernel.01_i386.deb" sondern "linux-image-2.6.23.9-rt13_Kernel.01_i386.deb" Da viele von euch noch alte Versionen haben solltet ihr vorher noch "ls/boot/" eingeben um zu schauen wie euer Paket heisst.

Code
dpkg -i linux-image-2.6.23.9-rt13_Kernel.01_i386.deb

Das wars schon nach einem Reboot solltest du nun mit dem Befehl "uname -a" testen ob auch der neue Kernel läuft. Wenn ihr den Kernel wieder entfernen wollt gebt ihr folgendes ein

Code
ls /boot/
su
dpkg --purge --force-remove-essential linux-image-2.6.23.9-rt13


 Erweiterungen Powered bei Tuxre

Networking --->
Networking options --->
[*] TCP: advanced congestion control --->
<*> Binary Increase Congestion (BIC) control
<*> CUBIC TCP
<*> TCP Westwood+
<*> H-TCP
<*> High Speed TCP
<*> TCP-Hybla congestion control algorithm
---TCP Vegas
<*> Scalable TCP
<*> TCP Low Priority
<*> TCP Veno
<*> YeAH TCP
<*> TCP Illinois
Default TCP congestion control (Htcp) ---> (verbesserte TCP Variante)

Networking --->
Networking options --->
QoS and/or fair queueing --->
[ ] QoS and/or fair queueing

Deaktiviert weil dadurch unnötige Warteschlangen auftreten, wer seinen Rootserver allerdings auch als Webserver missbraucht, sollte sich ins Thema QoS and/or fair queueing einlesen, und kann damit dann sicher was gutes anfangen.

Device Drivers --->
[*] Network device support --->
[?] Ethernet (10 or 100Mbit) --->
[?] Ethernet (1000 Mbit) --->
[?] Ethernet (10000 Mbit) --->

Deshalb, weil es darum geht, dass IHR hier EURE Netzwerkkarte findet und in ihrer Nähe einen Punkt aktiviert der "Use Rx and Tx Polling (NAPI)" oder "RX Polling" oder ähnlich heisst. Dadurch wird bei Netzwerkverkehr ueber 10KB/s [bei Cs-Servern normal] die CPU entlastet und ermöglicht leicht höhere IN / OUT Werte.

Device Drivers --->
DMA Engine support --->
[*] Support for DMA engines
--- DMA Clients[*] Network: TCP receive copy offload
--- DMA Devices
<M> Intel I/OAT DMA support

Verbessert auch das CPU- und Interruptverhalten bei hoher Netzwerklast


Dieses HowTo befand sich bis vor einigen Monaten auf www.pur3gaming.com, leider ist die Seite nicht mehr erreichbar. Dieses ausführliche HowTo ist somit auch nicht mehr verfügbar, daher habe ich es auf meiner Seite aufgenommen. Das HowTo wurde von dem User "Andy" auf der oben genannten Seite veröffentlich.

Bitte beachtet: Für alle hier aufgeführten Tutorials wird keine Garantie/Verantwortung übernommen...
Jeder ist für sein Tun selbt verantwortlich...Wir geben hier lediglich Tips

Kommentare (7) Trackbacks (0)
  1. Die Anleitung funktioniert nicht mehr habe die Befehle gefixt.

    Tested on Debian Lenny 5.0 32-Bit

    HRES Kernel 1500Hz/1500HZ Bestimmt für only CS:S Server

    Dieser Kernel bietet ausreichend Leistung um Highend CS:S Server zu betreiben.

    Vorteile:

    * Er erreicht bei einer Tick von 100 (16 Slots belegt) ohne Probleme konstant 980-1000FPS
    * Durch die hohen FPSwerte ist eine höhere Tickrate möglich (>200)

    Nachteile:

    * Load und CPU Last steigen
    * Es kann zu System eigenen Timing Problemen kommen (Ohne auswirkung auf CS:S)
    * Nur -pingboost 2 in Verbindung mit einer +sys_ticrate 10000 kann genutzt werden(CS1.6)

    Code
    su
    apt-get update
    apt-get install libc6-dev gcc binutils modutils kernel-package libncurses5-dev debianutils make bzip2
    cd /..
    cd /usr/src/
    wget http://migges.net/page/wp-content/uploads/2009/05/linux-2.6.18.tar.bz2
    tar xfvj linux-2.6.18.tar.bz2
    wget http://migges.net/page/wp-content/uploads/2009/05/patch-2.6.18-hrt-dyntick2.patches.tar.bz2
    mv linux-2.6.18 linux-2.6.18-hrt-dyntick2
    cd linux-2.6.18-hrt-dyntick2
    bzcat /usr/src/patch-2.6.18-hrt-dyntick2.patches.tar.bz2 | patch -p1
    cd /..
    cd /usr/src/
    ln -s linux-2.6.18-hrt-dyntick2 linux

    So nun übernehmen wir die alte Kernelcfg. Durch den Befehl “ls /boot” siehst du die cfg oder cfgs der vorherigen Kernel. Die musst du natürlich
    bei “cp /boot/config-2.6.15″ auf deine vorherige cfg abändern.

    Code
    ls /boot/
    cp /boot/config-2.6.15 linux/.config
    cd linux

    Bevor wir zum Menü übergehen müssen wir ein paar Einstellungen in der param.h und in der jiffies.h manuell machen

    Code
    vi include/asm-i386/param.h

    Code
    #ifndef _ASMi386_PARAM_H
    #define _ASMi386_PARAM_H

    #ifdef __KERNEL__
    # define HZ 1500 /* Internal kernel timer frequency */
    # define USER_HZ 1500 /* .. some user interfaces are in “ticks” */
    # define CLOCKS_PER_SEC (USER_HZ) /* like times() */
    #endif

    #ifndef HZ
    #define HZ 100
    #endif

    #define EXEC_PAGESIZE 4096

    #ifndef NOGROUP
    #define NOGROUP (-1)
    #endif

    #define MAXHOSTNAMELEN 64 /* max length of hostname */

    #endif

    Code
    vi include/linux/jiffies.h

    Code
    /*
    * The following defines establish the engineering parameters of the PLL
    * model. The HZ variable establishes the timer interrupt frequency, 100 Hz
    * for the SunOS kernel, 256 Hz for the Ultrix kernel and 1024 Hz for the
    * OSF/1 kernel. The SHIFT_HZ define expresses the same value as the
    * nearest power of two in order to avoid hardware multiply operations.
    */
    #if HZ >= 12 && HZ = 24 && HZ = 48 && HZ = 96 && HZ = 192 && HZ = 384 && HZ = 768 && HZ = 1536 && HZ
    Block devices —>
    RAM disk support
    (16) Default number of RAM disks
    (8192) Default RAM disk size (kbytes)[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

    File systems —>
    Miscellaneous filesystems —>
    Compressed ROM file system support (cramfs)

    Processor type and features —>
    [ ] Tickless System (Dynamic Ticks) (NEW)
    [*] High Resolution Timer Support
    Preemption Model (Preemptible Kernel (Low-Latency Desktop))
    [*] Preempt The Big Kernel Lock
    Timer frequency (1000 HZ)

    Block Layer —>
    I0 Schedulers —>
    Anticipatory I/o scheduler

    Power management options (ACPI, APM) —>
    [*]Power Management support
    ACPI (Advanced Configuration and Power Interface) Support —>
    [*]ACPI Support

    General Setup —>
    [*] Kernel .config support
    [*] Enable acess to .config through /proc/config.gz

    so und nun zum Abschluss

    Code
    make-kpkg clean
    CONCURRENCY_LEVEL=8 fakeroot make-kpkg –revision=kernel01 kernel_image
    dpkg -i /usr/src/*.deb
    ls /usr/src/
    cd /..
    cd /usr/src/
    dpkg -i /usr/src/*.deb !!!!!!!!!!*=Variable für die Image!!!!!!!!!!!!!

    update-initramfs -k all -u
    update-grub
    Das wars schon nach einem Reboot solltest du nun mit dem Befehl “uname -a” testen ob auch der neue Kernel läuft. Wenn ihr den Kernel wieder entfernen wollt gebt ihr folgendes ein.

    Code
    ls /boot/
    su
    dpkg –purge –force-remove-essential linux-image-2.6.18

  2. Klasse Tutorial.. mit einem Haken -.-
    Sei es in einer VM oder stationär auf einem Server, ich bekomme immer die Meldung

    Please append a correct “root=” boot option
    Kernel Panic – not syncing: VFS: Unable to mount root fs on unknown-blobk(0,0)

    und dann Ende.. in der VM sagt er mir, dass die CPU deaktiviert werden musste und auf dem Server läuft garnichts mehr. Egal ob Single-User Mode oder “normaler” Start des Kernels, ich komme einfach nicht weiter. Wäre super wenn da jemand eine Lösung oder zumindest einen Ansatz zur Lösung hätte :-/

    mfg
    Yero

  3. mount root fs on unknown-block(0,0)

    achja, auch wenn ich per Bootoption bei GRUB sda0, 1, 2 oder schießmichtot eintrage kommt immer derselbe Kernel Panic

  4. Versuch mal:

    mkinitramfs -o /boot/name_deiner_initrd

  5. hehe

    Joar super Howto das hab ich damals mal verfasst und ihr habts geklaut @pur3gaming.com^^

  6. @Andy, so stehts auch unter den HowTo ;)

  7. Vielen Dank an Andy für dieses Howto.


Kommentar schreiben


Noch keine Trackbacks.