ich habe 8GB RAM, davon sollen jetzt 5GB als RAMDISK genutzt werden. Ich verwende Ubuntu 8.04 mit Kernel 2.6.xyz 64-Bit .
Ich bin wie folgt vorgegangen:
Kernelparameter hinzugefügt:
Code: Alles auswählen
ramdisk_size=5000000
Code: Alles auswählen
mke2fs /dev/ram0
mke2fs 1.40.8 (13-Mar-2008)
Dateisystem-Label=
OS-Typ: Linux
Blockgröße=4096 (log=2)
Fragmentgröße=4096 (log=2)
313248 Inodes, 1250000 Blöcke
62500 Blöcke (5.00%) reserviert für den Superuser
Erster Datenblock=0
Maximale Dateisystem-Blöcke=1283457024
39 Blockgruppen
32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe
8032 Inodes pro Gruppe
Superblock-Sicherungskopien gespeichert in den Blöcken:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Schreibe Inode-Tabellen: erledigt
Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt
Das Dateisystem wird automatisch alle 36 Mounts bzw. alle 180 Tage überprüft,
je nachdem, was zuerst eintritt. Veränderbar mit tune2fs -c oder -t .
Code: Alles auswählen
mount -t ext2 /dev/ram0 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/ram0,
missing codepage or helper program, or other error
Manchmal liefert das Syslog wertvolle Informationen – versuchen
Sie dmesg | tail oder so
Code: Alles auswählen
[ 371.499460] EXT2-fs: Magic mismatch, very weird !
[ 934.356055] VFS: Can't find an ext2 filesystem on dev ram0.
Code: Alles auswählen
fdisk /dev/ram0
Hinweis: Die Sektorgröße ist 1024 (nicht 512)
Das Gerät enthält weder eine gültige DOS-Partitionstabelle,
noch einen „Sun“, „SGI“ oder „OSF disklabel“
Building a new DOS disklabel with disk identifier 0xbb6acecc.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warnung: Schreiben wird ungültiges Flag 0x0000 in Part.-tabelle 4 korrigieren
Befehl (m für Hilfe): p
Platte /dev/ram0: 5120 MByte, 5120000000 Byte
255 Köpfe, 63 Sektoren/Spuren, 311 Zylinder
Einheiten = Zylinder von 16065 × 1024 = 16450560 Bytes
Disk identifier: 0xbb6acecc
Gerät boot. Anfang Ende Blöcke Id System
Befehl (m für Hilfe):
Was mache ich falsch?
Danke.
PS: Dasselbe Problem habe ich auch, wenn die RAMDISK etwas kleiner ausfällt: 1GB. Weitere Größen habe ich nicht ausprobiert.
EDIT:
Code: Alles auswählen
fdisk /dev/ram0
Hinweis: Die Sektorgröße ist 1024 (nicht 512)
Das Gerät enthält weder eine gültige DOS-Partitionstabelle,
noch einen „Sun“, „SGI“ oder „OSF disklabel“
Building a new DOS disklabel with disk identifier 0xaf7be20a.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warnung: Schreiben wird ungültiges Flag 0x0000 in Part.-tabelle 4 korrigieren
Befehl (m für Hilfe): n
Befehl Aktion
e Erweiterte
p Primäre Partition (1-4)
p
Partitionsnummer (1-4): 1
Erster Zylinder (1-311, Vorgabe: 1):
Benutze den Standardwert 1
Letzter Zylinder oder +Größe, +GrößeK oder +GrößeM (1-311, Vorgabe: 311):
Benutze den Standardwert 311
Befehl (m für Hilfe): p
Platte /dev/ram0: 5120 MByte, 5120000000 Byte
255 Köpfe, 63 Sektoren/Spuren, 311 Zylinder
Einheiten = Zylinder von 16065 × 1024 = 16450560 Bytes
Disk identifier: 0xaf7be20a
Gerät boot. Anfang Ende Blöcke Id System
/dev/ram0p1 1 311 4996152 83 Linux
Befehl (m für Hilfe): w!
Die Partitionstabelle wurde verändert!
Rufe ioctl() um Partitionstabelle neu einzulesen.
WARNUNG: Neueinlesen der Partitionstabelle führte zu Fehler 22: Invalid argument.
Der Kernel benutzt noch die alte Tabelle.
Die neue Tabelle wird beim nächsten Neustart verwendet.
Synchronisiere Platten.