Mode d'emploi pour faire un RamDisk sous linux
Sous Debian / Ubuntu :
Pour créer un RamDisk dans /tmp/ramdisk, une fois (au prochain redémarrage, il n'y aura pas de ramdisk), vous devez taper les commande suivantes :
- sudo mkdir /tmp/ramdisk0 (créer un point de montage)
- sudo mke2fs /dev/ram0 (créer / formater un système de fichiers)
- sudo mount /dev/ram0 /tmp/ramdisk0 (monter le ramdisk)
- sudo chmod ugoa+rwx /tmp/ramdisk0 (Donner tous les droits d'exécutions pour que root ne soit pas le seul autorisé a écrire)
Pour qu'a chaque démarrage, le RamDisk soit crée (souvenez-vous que les informations étant en ram, tout est pderdu si le PC est éteint), ces informations doivent être incorporé au fichier /etc/rc.local
sudo nano -w /etc/rc.local
Placez les lignes suivantes devant le
exit 0 :
mkdir /tmp/ramdisk0
mke2fs /dev/ram0
mount /dev/ram0 /tmp/ramdisk0
chmod ugoa+rwx /tmp/ramdisk0
exit 0
Pour modifier la taille max du RamDisk (par default le ramdisk est limité à 64 Mo) à 500 Mo sous linux, on doit modifier le fichier de menu ( /boot/grug/menu.lst ) de grub, l'utilitaire qui permet de démarrer linux :
sudo nano -w /boot/grub/menu.lst
Il faut rajoutez à la fin de la ligne
ramdisk_size=500000 :
Vous avez une ligne du type :
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=247a6bba-fe61-4f09-b6ee-1aa973cd3996 ro quiet splash locale=fr_FR
ou
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=8111005e-9c1a-479d-b482-a6cee206795b ro quiet splash
Il faut donc le modifier comme ceci :
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=247a6bba-fe61-4f09-b6ee-1aa973cd3996 ro quiet splash locale=fr_FR ramdisk_size=500000
ou
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=8111005e-9c1a-479d-b482-a6cee206795b ro quiet splash ramdisk_size=500000
Information importante : Sous linux un RamDisk ne prend de la place en RAM qu'a hauteur des fichiers copiés dessus. Si vous avez 1 Go de RAM, la création de ce RamDisk de taille maximum de 500 Mo ne prendras pas de place en RAM tant que vous n'y metterez pas de fichiers. Par contre il sera impossible d'écrire plus de 500 Mo, comme si c'était une clef USB de 500 Mo.
PS : J'ai des problèmes a monter des ramdisk de taille > 500 Mo (PC avec 2 go de ram). Le formatage se passe bien mais impossible de monter la partition :
# mount -t ext2 /dev/ram1 /tmp/ramdisk0
mount: wrong fs type, bad option, bad superblock on /dev/ram1, missing codepage or helper program, or other error
Par contre aucun problème pour utiliser plusieurs de 500 Mo simultanément.