← Back to team overview

sslug-teknik team mailing list archive

Re: RAM-drev

 

Allan Nielsen <an@xxxxxxxxxxxxxx> writes:

> Er der nogen der ved hvordan man laver et 20M RAM-drev under linux, samt
> fjerner det igen???

Jeg har lige fundet ud af det her på min kerne 2.0.36.  Ramdisk-driveren er
bygget som modul.  Default-størrelsen er 4 MB, men den kan ændres med en
parameter når man loader modulet.  Her i 2.0.36 er "ramdisk_size" (nævnt i
Documentation/ramdisk.txt) _ikke_ det rette navn; det er derimod "rd_size"
(fundet i drivers/block/rd.c):

   # modprobe rd.o rd_size=20480       # Load modul med size 20 MB

   # tail -2 /var/log/messages         # Check beskeder...
   [...] kernel: Ramdisk driver initialized : 16 ramdisks of 20480K size
   [...] kernel: RAMDISK: Loaded as module.

   # dd if=/dev/ram1 bs=1k | wc -c     # Test læsning.  Ignorer I/O-fejlen.
   dd: /dev/ram1: Input/output error
   20480+0 records in
   20480+0 records out
   20971520

   # mke2fs -vm0 /dev/ram1 20480       # Lav EXT2-filsystem på en hel ramdisk
   [...]
   5136 inodes, 20480 blocks
   0 blocks (0.00%) reserved for the super user

   # mkdir /mnt/ram		       # Lav et mount-punkt
   # mount /dev/ram1 /mnt/ram          # Mount filsystemet på mount-punktet
   # chmod 1777 /mnt/ram               # Giv samme adgang som til /tmp
   # ls -la /mnt/ram
   total 14
   drwxrwxrwt   3 root     root         1024 Mar  5 19:11 .
   drwxr-xr-x   6 root     root         1024 Mar  5 18:49 ..
   drwxr-xr-x   2 root     root        12288 Mar  5 19:11 lost+found

Så er den klar til brug.  Fjernes igen:

   # umount /mnt/ram
   # modprobe -r rd.o

Hvis du ofte skal bruge en 20 MB ramdisk, så prøv at skrive

   options rd rd_size=20480

i /etc/conf.modules, og undlad modprobe-kommandoerne.  Modulet skulle nu
blive autoloadet korrekt når /dev/ram* tages i brug, og blive auto-fjernet
når det ikke længere bruges (efter umount).

For 2.2-kerner er det vist lidt anderledes.  Det må andre svare på.


		Hilsen Ulrik

-- 
% uname -a; uptime
Linux laks.kampsax.dk 2.0.36 #1 Sun Dec 6 20:05:12 MET 1998 i686 unknown
  7:46pm  up 88 days, 23:12,  3 users,  load average: 0.07, 0.04, 0.01


References