# NTFS-3G oder NTFS + eSATA Kernel Panic Problem

## Finalspace2

Nach 2 Tagen habe ich nun erfolgreich ein Gentoo System 2.6.39-r3 auf meinem HTPC installiert mit

xorg, nvidia, xfce4 und xbmc auf einem Zotac Intel Atom 330.

Nun will im nächsten Schritt meine NTFS Platten mit eSATA und USB 2.0 einbinden, da alle Meden nur auf externen USB NTFS Platten liegen.

Als ich vor mehr 5 Jahren mit Gentoo angefangen habe, da war der NTFS write support im Kernel nicht wirklich zu empfehlen und

da war der einzige brauchbare NTFS write support "NTFS-3G".

Ist das Heute auch noch so oder kann ich nun auch den NTFS write support im Kernel nutzen?

Habe bei der Kernel Config gelesen das der NTFS support neu geschrieben wurde, daher habe ich ihn zumindest mal mitkompiliert mit write enabled.

Ist das nen Fehler gewesen und ich muss wieder NTFS-3G nutzen?

Das andere betrifft leider ein Problem das ich mit Gentoo habe sobald ich eine Platte über eSATA mit dem PC hochfahre.

Der Bootvorgang kommt bis kurz vorm root  zugriff und dann knallts mit nem kernel panic fehler  :Sad: 

Wenn die Platte nicht mit hochgefahren wird, funktioniert gentoo einwandfrei.

Die USB Platten stecken in einem Dual Sharkoon eSATA+USB2.0 mount kasten, 

bei dem die erste Platte per USB 2.0 genutzt wird und die zweite als eSATA angeschlossen ist.

Gibt es da irgendwas zu berücksichtigen in Verbindung mit eSATA?

Muss da was noch in Kernel rein? Oder kann ich das anderst lösen?

Genaue Fehlermeldung poste ich später.

----------

## firefly

 *Finalspace2 wrote:*   

> Das andere betrifft leider ein Problem das ich mit Gentoo habe sobald ich eine Platte über eSATA mit dem PC hochfahre.
> 
> Der Bootvorgang kommt bis kurz vorm root  zugriff und dann knallts mit nem kernel panic fehler 

 

Was für eine kernel panic kommt denn?

----------

## boris64

 *Finalspace2 wrote:*   

> Als ich vor mehr 5 Jahren mit Gentoo angefangen habe, da war der NTFS write support im Kernel nicht wirklich zu empfehlen und
> 
> da war der einzige brauchbare NTFS write support "NTFS-3G".
> 
> Ist das Heute auch noch so oder kann ich nun auch den NTFS write support im Kernel nutzen?
> ...

 

Ich denke mal, da hat sich bis heute nichts daran geändert.

Selbst laut Wiki (http://de.gentoo-wiki.com/wiki/NTFS-3G) ist ntfs-3g das Mass aller Dinge.

----------

## AmonAmarth

kann es sein das du ntfs-3g mit captive-ntfs verwechselst? denn letzteres hat wirklich häufiger mal probleme bereitet. ich benutzte ntfs-3g schon bestimmt seit 5 jahren und hatte nicht einen (bemerkten) dateiverlust.

----------

## Max Steel

 *AmonAmarth wrote:*   

> ich benutzte ntfs-3g schon bestimmt seit 5 jahren und hatte nicht einen (bemerkten) dateiverlust.

 

dito

----------

## schachti

 *Finalspace2 wrote:*   

> Das andere betrifft leider ein Problem das ich mit Gentoo habe sobald ich eine Platte über eSATA mit dem PC hochfahre.
> 
> Der Bootvorgang kommt bis kurz vorm root  zugriff und dann knallts mit nem kernel panic fehler 

 

Könnte es sein, dass beim Booten ohne eSATA-HDD Deine reguläre root-Platte als z. B. sda erkannt wird, beim Booten mit angeschlossener eSATA-HDD aber eben diese sda ist? In dem Fall ist es vielleicht besser, Volume Label oder UUIDs in der Bootloader-Konfiguration und in der /etc/fstab anstatt der Gerätenamen zu verwenden.

----------

## firefly

 *schachti wrote:*   

>  *Finalspace2 wrote:*   Das andere betrifft leider ein Problem das ich mit Gentoo habe sobald ich eine Platte über eSATA mit dem PC hochfahre.
> 
> Der Bootvorgang kommt bis kurz vorm root  zugriff und dann knallts mit nem kernel panic fehler  
> 
> Könnte es sein, dass beim Booten ohne eSATA-HDD Deine reguläre root-Platte als z. B. sda erkannt wird, beim Booten mit angeschlossener eSATA-HDD aber eben diese sda ist? In dem Fall ist es vielleicht besser, Volume Label oder UUIDs in der Bootloader-Konfiguration und in der /etc/fstab anstatt der Gerätenamen zu verwenden.

 

UUIDs und labels in der bootloader konfiguration wird im bei einer kernel-panic nicht viel bringen, auser er verwendet eine initrd mit root=LABEL oder root=UUID support. Der kernel selbst unterstüzt keine dateisystem label oder UUIDs. Ab 2.6.37 (glaube ich) kann der kernel partition UUIDs (root=PARTUUID) aber diese können nur für GPT partitionen vergeben werden.

----------

## Finalspace2

Here is a "screenshot" of my kernel panic:

http://imageshack.us/photo/my-images/801/20110821095220.jpg

Harddisks: 

/dev/sda = Windows NTFS drive (3 Partitons, System 1, Windows 2 and a Data storage 3)

/dev/sdb = Gentoo drive (3 Partitions, Boot 1, Swap 2 and Root 3)

Hopefully that helps,

Final

If there is anything i can provide you, feel free to request it.

----------

## Josef.95

 *Finalspace2 Screenshot wrote:*   

> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,19)

 

Jo, schaut so aus als wenn deine root Partition nicht mehr gefunden wird.

Bei deinen vielen wechselnden Laufwerken ist es vermutlich das beste eindeutige Bezeichner zu verwenden, sprich auf Label oder UUID umzustellen, damit sollten sich solche Verschiebungen vermeiden lassen.

Nutze dazu am besten eine initrd und die Info aus 

```
# blkid 
```

----------

## schachti

 *Finalspace2 wrote:*   

> Here is a "screenshot" of my kernel panic:
> 
> http://imageshack.us/photo/my-images/801/20110821095220.jpg
> 
> Harddisks: 
> ...

 

Auf dem Screenshot sieht man die Bestätigung meiner Vermutung - dort wird sdb mit 1 Partition, sdc mit 3 Partitionen gemeldet. Ich vermute mal, die externe HDD war zum Zeitpunkt des Screenshots aktiv und besitzt genau eine Partition?

----------

## Finalspace2

 *schachti wrote:*   

>  *Finalspace2 wrote:*   Here is a "screenshot" of my kernel panic:
> 
> http://imageshack.us/photo/my-images/801/20110821095220.jpg
> 
> Harddisks: 
> ...

 

So ist es, die eSATA platte hat nur eine Partition.

Hmm, wie funktioniert das denn mit den Labels oder GUID´s?

Gibt es da ein gutes Howto für?

Ach: Sorry das der vorherige post in english war, bin oft in anderen englishsprachigen foren unterwegs,

da denkt man doch schon des öfteren mal in english  :Razz: 

----------

## Finalspace2

Leute thema hat sich erledigt.

Ich habe eine Sicherung mit Acronis des gesamten Gentoo Systems gemacht und

habe es wieder runtergeworfen.

Der Grund warum ich überhaupt Gentoo installiert hatte, war das ich XBMC auf meinem ION System einfach unter Ubuntu nicht

flüssig bekommen habe (1080p und teilweise sogar auch 720p mit mehr als 10 MBit Datenrate) war nicht anguckbar (Tearing und Ruckler).

Nun ist es so das ich zwar alles wunderbar kompiliert bekommen habe und eigentlich das Gefühl hatte das Gentoo super läuft,

aber XBMC wollte nicht so wie ich es mir vorgestellt habe.

Jedes Video stürtzt darin ab egal was ich abspiele, entweder sofort oder ein paar sekunden danach oder wenn ich in der zeit springe.

Das ist einfach kein Zustand  :Sad:  Habe es auch schon etliche male mit verschiedenen USE flags kompiliert keine änderung.

Hab auch schon entsprechende Threads im XBMC forum angelegt und da heißt es "Nimm Ubuntu Live" 10.x dann geht das,

aber eine Antwort warum das unter XBMC unter Gentoo abraucht hab ich keine bekommen.

Hab natürlich Ubuntu Live und etliche weitere (x86 und x64) ausprobiert und nicht ein einziges davon erkennt mein Keyboard und Mouse  :Sad: 

Ich kann die distros noch nichtmal installieren wenn das Keyboard und die Maus nicht gehen und ein Boot command zum einbinden von

"Logitech MX 5500 Wireless mit Blutooth + USB Dongle" Kernel Device gibts bei keinem nicht.

Das einzige wo mein Keyboard problemlos lief ist Gentoo Live und Ubuntu 11.04.

Ich bin so ziemlich am verzweifeln und überlege mir ob ich mir nicht ein popliges Frontend programmieren soll,

damit ich MPlayer unter Gentoo nutzen kann welches hervorragend gelaufen ist übrigens  :Wink: 

Weil der grund warum ich XBMC wollte ist dass ich meine Animes und Filme über ein Komfortables Menü anschauen kann,

wo ich Rating, Beschreibung, Cover, Episoden nummeriert habe (Nen mediacenter halt).

Mir isses vollkommen schnuppe was fürn backend dahinter läuft, soland Full HD und Subtitles funktionieren.

Zum Kotzen echt  :Sad: Last edited by Finalspace2 on Wed Aug 24, 2011 6:20 am; edited 1 time in total

----------

## Uli Sing

Ich war noch nie ein Freund des XBMC außerhalb der XBOX.

Hier findest' Anregungen für alternative Mediacenter. Ich selbst benutze, wie Du siehst, MMS.

----------

## Finalspace2

 *Uli Sing wrote:*   

> Ich war noch nie ein Freund des XBMC außerhalb der XBOX.
> 
> Hier findest' Anregungen für alternative Mediacenter. Ich selbst benutze, wie Du siehst, MMS.

 

Hab mir MMS mal auf der HP angeschaut, ich glaube das probiere ich mal.

Gentoo ist innerhalb ein paar Minuten dank Acronis schnell wieder drauf =)

----------

## Uli Sing

Die Weiterentwicklung von MMS ist leider etwas zum Erliegen gekommen. Für mich jedoch kein Problem, da die derzeitige Versions-Stufe ohnedies mehr Features enthält, als ich nutze. Im Unterschied zu den meisten anderen Mediacentern beraubt Dich MMS auch nicht der Entscheidungsmöglichkeit, welchen Player Du zu welchen Zwecken einsetzen möchtest und das Beste an der ganzen Geschichte ist, wie einfach dies über simple Shell-Skripte gelöst werden kann.

Ein gewisser Uli hat im zugehörigen Supportforum mal beschrieben, wie sowas aussehen kann... 

Wichtig: Benutze nicht das Paket, das auf der Homepage verlinkt ist, sondern hole Dir die aktuelle Version von hier.

----------

## Finalspace2

Haha, nachdem ich gemerkt habe das MMS nicht im Portage ist obwohl es drin sein müsste laut MMS wiki,

wollte ich mich nicht mit overlay oder make rumschlagen.

Allerdings habe ich mir MMS mal kurz die vorhandene Plugins durchgestöbert ob es

für meine zwecke (Anime Infos auslesen) doch etwas gibt, aber leider gibts kein Anime Plugin mit denen ich die notwendigen infos auslesen kann.

Hab nun wieder Gentoo drauf geworfen und Monodevelop installiert.

Nun Progg ich seit 2 Std. ca an einem "erstmal" einfachem MPlayer UI Frontend mit C# und

komme gut vorran, denn abspielen geht schon, sowie Pause/Resume, Stop, Eject, Volume, Progressbar.

Dank -slave und System.Diagnostics.Process war das nicht schwierig  :Razz: 

Werde wohl wirklich für mich ein einfaches Mediacenter bauen mit denen ich meine Filme und Animes bequem gucken kann

welches als Backend MPlayer nutzt und zum Anime auslesen etwailige Anime-Seiten abklappert.

Das Rendering der Mediacenter UI werde ich wohl über OpenGL realisieren, da gibt es nämlich OpenTK z.b.

Aber es wird alles sehr simpel, kein krimskrams, einfach nur das wesentliche machen.

Ich weiß es gibt, Mediaportal für Windows, aber das ist noch langsamer als mein eigengeschriebener Mediaplayer für Windows namens "Xenorate",

der nun demnächst in Rente geht.

----------

## Finalspace2

Irgendwie hat kein Player Dateien mit Untertitel abspielen können.

Sobald subs drin waren, crash aber nachdem ich libass aktuallisert habe... viola tut alles wie es soll.

Hab natürlich dann das Frontend coding gestoppt. Wozu auch wenn alles funktioniert =)

Aber ich habe leider immernoch das eSATA problem dass ich nicht in den griff kriege.

Ich habe probiert meine Rootpartition in der fstab per UUID anstatt per Device anzubinden, hat aber nicht geholfen, gleicher fehler.

Was muss ich denn genau tun, damit /dev/sdb auch wirklich /dev/sdb ist.

Weil vermutlich hängt sich die eSATA platte rein und dann ist /dev/sdb /dev/sdc  :Sad: 

Aber das passiert komischerweise erst nachdem der Kernel geladen ist und er den Zugriff auf die Rootpartition haben will.

Prüfen kann ich das allerdings nicht, weil es sich ja komplett aufhängt ausser ihr wisst ne möglichkeit wie man diese dmesg ausgabe aufnehmen kann ?

Im Bios habe ich auch schon geschaut, da ist die richtige Platte als einzige Boot Patte drin.

Das ist das einzige wo ich grad noch hänge... wäre super wenn jemand mir sagen könnte was ich versuchen kann.

Achja, unter Debian/Ubuntu hatte ich die Probleme nicht. Vermutlich fehlt einfach irgendwas oder?

----------

## Max Steel

Versuch mal den SATA Treiber fest einzubaun und den PATA/SCSI Treiber als Modul nachladen zu lassen.

Oder aber als root= Parameter /dev/disk/by-uuid/<UUIDdeinerRootplatte> angeben.

(selbiges natürlich dann auch in der fstab: UUID=<UUID>)

----------

## firefly

 *Max Steel wrote:*   

> Versuch mal den SATA Treiber fest einzubaun und den PATA/SCSI Treiber als Modul nachladen zu lassen.
> 
> Oder aber als root= Parameter /dev/disk/by-uuid/<UUIDdeinerRootplatte> angeben.

 

wird AFAIK nicht funktioniern, denn die einträge under /dev/disk werden von udev angelegt, und zum zeitpunkt an dem der kernel die root-partition mounten möchte läuft udev nicht.

Wie schon gesagt damit root=LABEL= oder root=UUID= funktioniert wird eine initramfs mit LABEL/UUID support benötigt.

Oder man stellt die partitionstabelle auf GPT format um und kann dann root=PARTUUID verwenden

----------

## Max Steel

 *firefly wrote:*   

>  *Max Steel wrote:*   Versuch mal den SATA Treiber fest einzubaun und den PATA/SCSI Treiber als Modul nachladen zu lassen.
> 
> Oder aber als root= Parameter /dev/disk/by-uuid/<UUIDdeinerRootplatte> angeben. 
> 
> wird AFAIK nicht funktioniern, denn die einträge under /dev/disk werden von udev angelegt, und zum zeitpunkt an dem der kernel die root-partition mounten möchte läuft udev nicht.
> ...

 

hmm okay sorry (dachte die /dev/disk Einträge kann inzwischen auch der Kernel selbst anlegen)

Dann bleibt also nurnoch die andere Möglichkeit:

 *Max Steel wrote:*   

> Versuch mal den SATA Treiber fest einzubaun und den PATA/SCSI Treiber als Modul nachladen zu lassen. (oder andersrum, je nachdem an welchem Controller die root-Platte hängt)

 

----------

## Finalspace2

Der SATA treiber war schon im kernel sowie PATA.

Habe die PATA devices waren 3, Intel, AMD/Nvidia und nen weiteres Intel in module geändert

und neu kompiliert.

Leider keine veränderung  :Sad:  Selber fehler. Vielleicht hab ichs auch falsch gemacht, ka.

Die idee dahinter verteh ich aber gut, PATA module würden dann erst geladen werden wenn das root system oben wäre, weil die module sich ja auf der root parition befinden. Komisch das es aber nicht geht.

Bleibt wohl wirklich nur initramfs?

Das erzeugt ja genkernel oder? Hab mich damit noch nie befasst, hab immer einfach make menuconfig gemacht und fertig.

----------

## Josef.95

 *Finalspace2 wrote:*   

> ...
> 
> Bleibt wohl wirklich nur initramfs?
> 
> Das erzeugt ja genkernel oder? Hab mich damit noch nie befasst, hab immer einfach make menuconfig gemacht und fertig.

 

Naja, man muss sich ja nicht den kompletten Kernel via genkernel bauen lassen. Die genkernel Scripte können ja auch  nur für den bau der initrd genutzt werden, sprich, deinen Kernel kannst du dir auch weiterhin zu-fuß bauen und installieren.

 *Finalspace2 wrote:*   

> Achja, unter Debian/Ubuntu hatte ich die Probleme nicht. Vermutlich fehlt einfach irgendwas oder?

  Vermutlich nutzt Debian einfach einen eindeutigen Bezeichner für die Laufwerke, sprich die UUID des Filesystems  :Wink: 

Versuche es doch einfach mal mit UUID

Ich würde etwa wie folgt vorgehen:

genkernel Package installieren

Dann die initrd erstellen 

```
# genkernel --oldconfig --no-ramdisk-modules ramdisk
```

 (die --oldconfig Option sorgt dafür das deine .config aus /usr/src/linux/.config verwendet wird)

Für weiteres/genaueres siehe bitte auch in "man genkernel"

Die initrd wir normal nach /boot erstellt, trage diese bitte mit im Botloader (grub.conf) mit ein.

Nun die UUID der root Partition (des Filesystems) ermitteln, diese kann zb in der Ausgabe von 

```
# blkid
```

 eingesehen werden, oder du schaust direkt im Filesystem nach. Bei einem ext2/3/4  Dateisystem zb via 

```
# tune2fs -l /dev/sdXX | grep UUID
```

Diese UUID dann in die fstab eintragen: Beispiel-fstab Eintrag

```
UUID=40cff89a-73d6-4d4f-8d09-xxxxxxxxxxxxx  /    ext4            noatime           0 1
```

Und auch in der /boot/grub/grub.conf

Beispiel: 

```
kernel /kernel-2.6.39-gentoo-r3 root=UUID=40cff89a-73d6-4d4f-8d09-xxxxxxxxxxxxx

initrd /initramfs-genkernel-x86-2.6.39-gentoo-r3
```

Vermutlich sollte es das schon gewesen sein.

Eventuell solltest du für deine anderen festen Laufwerke auch überlegen LABEL oder UUID zu verwenden.

----------

## Finalspace2

Super anleitung, hat geklappt. Danke.

Booten mit eSATA geht nun.

Ist wirklich so wie ich vermutet habe, sdb wird sdc und

die eSATA platte hängt sich als sdb rein  :Sad: 

Aber eine frage habe ich noch.

Ich habe bisher UDEV regeln die USB platten automatisch mounten nach /mnt und ein symlink in /media erzeugen.

Das klappt aber nicht mit der eSATA platte.

Kann mir einer erklären wie ich diese Regeln erweitere damit auch die eSATA Platte beim booten gemountet wird?

Über fstab ist leider keine lösung, da die eSATA platte häufiger gewechselt (Sharkoon) wird und ich gerne über das Platten Label drauf zugreifen will.

Hier meine aktuellen regeln:

```

KERNEL=="sd[c-f]1", SUBSYSTEMS=="scsi", SYMLINK+="usbhd%n"

ACTION=="add", KERNEL=="sd[c-f]1", SUBSYSTEMS=="scsi", RUN+="/bin/mkdir /mnt/usbhd%n"

ACTION=="add", KERNEL=="sd[c-f]1", SUBSYSTEMS=="scsi", RUN+="/bin/mount -t ntfs-3g -o users /dev/usbhd%n /mnt/usbhd%n"

ACTION=="add", KERNEL=="sd[c-f]1", SUBSYSTEMS=="scsi", RUN+="/bin/ln -s /mnt/usbhd%n /media/$env{ID_FS_LABEL}"

ACTION=="remove", KERNEL=="sd[c-f]1", SUBSYSTEMS=="scsi", RUN+="/bin/umount /media/usbhd%n"

ACTION=="remove", KERNEL=="sd[c-f]1", SUBSYSTEMS=="scsi", RUN+="/bin/rm /media/$env{ID_FS_LABEL}"

ACTION=="remove", KERNEL=="sd[c-f]1", SUBSYSTEMS=="scsi", RUN+="/bin/rmdir /media/usbhd%n"

```

----------

## firefly

 *Finalspace2 wrote:*   

> Super anleitung, hat geklappt. Danke.
> 
> Booten mit eSATA geht nun.
> 
> Ist wirklich so wie ich vermutet habe, sdb wird sdc und
> ...

 

Vieleicht solltest du statt "c-f" ->  "b-f" schreiben, da ja die eSata platte auch als sdb erkannt wird, wenn sie beim booten angeschlossen ist.

----------

