Tiempo de compilación del núcleo
Hay dos opciones de configuración del kernel que puede establecer en su .config
archivo:
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=10485760
Esto configuró mi kernel para crear un ramdisk que es 10G en el momento del arranque.
Notas:
CONFIG_BLK_DEV_RAM_SIZE
está en KB.- No especifique más memoria de la que realmente tiene en su computadora.
- En
menuconfig
busque en Controladores de dispositivos->Bloquear dispositivos.
Tiempo de arranque
Puede especificar el tamaño de los discos ram que crea a través del parámetro de arranque del kernel ramdisk_size
. Por ejemplo:
kernel /vmlinuz-2.6.32.24 ro root=LABEL=/ rhgb quiet ramdisk_size=10485760
Ahora puedo iniciar mi máquina y crear un sistema de archivos en ella, montarla y usarla exactamente como un dispositivo de bloques.
# mkfs.xfs /dev/ram0
# mount /dev/ram0 /mnt/ramdisk
Fuentes:
- http://www.vanemery.com/Linux/Ramdisk/ramdisk.html [muerto]
- https://www.kernel.org/doc/Documentation/blockdev/ramdisk.txt
Deberías usar tmpfs para eso en su lugar.
mount -t tmpfs -o size=10g none /mnt/point
Para crear un disco ram grande después del arranque sin perder el tiempo con los parámetros del núcleo. Use tmpfs, cree un archivo, móntelo a través de un bucle y móntelo a través de un sistema de archivos:
mount -t tmpfs -o size=200M tmpfs temp/
cd temp/
dd if=/dev/zero of=disk.img bs=1M count=199
losetup /dev/loop0 disk.img
mkfs.ext4 /dev/loop0
cd ..
mount /dev/loop0 temp2/
Probablemente una pequeña penalización en el rendimiento al pasar por varias capas diferentes... pero al menos funciona.