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:
Patched 2.6.18 1500HZ/1500HZ Preempt High Resolution Timer
Patched 2.6.23.9 1000HZ/1000HZ RT-Preempt High Resolution Timer
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



Oktober 24th, 2009
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
Dezember 7th, 2009
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
Dezember 7th, 2009
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
Dezember 14th, 2009
Versuch mal:
mkinitramfs -o /boot/name_deiner_initrd
Januar 9th, 2010
hehe
Joar super Howto das hab ich damals mal verfasst und ihr habts geklaut @pur3gaming.com^^
Januar 10th, 2010
@Andy, so stehts auch unter den HowTo
Mai 28th, 2010
Vielen Dank an Andy für dieses Howto.