Você não deve excluir /dev/ram0
. Ele será excluído quando você executar sudo rmmod brd
, o que libera o espaço e remove o módulo.
Você pode então começar de novo a partir de modprobe
.
Eu aprendi que posso fazer modprobe brd rd_nr=1 rd_size=4585760 max_part=1
se eu quiser criar um dispositivo de bloco de memória RAM em /dev/ram0
, mas digamos que eu quero liberar o dispositivo (para liberar o RAM), excluí-lo e criar outro. Como eu faria isso executando modprobe brd rd_nr=1 rd_size=4585760 max_part=1
novamente não parece criar outro dispositivo ram em /dev
Recrie as etapas:
1) criar disco: modprobe brd rd_nr=1 rd_size=4585760 max_part=1
2) use o disco de memória RAM para alguma tarefa arbitrária: ex: dd if=/dev/zero of=/dev/ram0 count=1000
3) libere a memória blockdev --flushbufs /dev/ram0
4) excluir o arquivo do dispositivo: rm /dev/ram0
5) tente criar outro: modprobe brd rd_nr=1 rd_size=4585760 max_part=1
6) ls /dev/ram*
me dá um erro
Eu sei que posso alterar o rd_nr
para qualquer número que eu deseje, mas quero poder criá-lo rapidamente.
Edit: Eu não quero criar um tmpfs, meu caso de uso requer um dispositivo de bloco
Eu não estou familiarizado com / dev / ram, mas você pode fazer algo semelhante com tmpfs e dispositivos de loop:
mkdir /ramdisks
mount -t tmpfs tmpfs /ramdisks
dd if=/dev/zero of=/ramdisks/disk0 bs=1M count=100
losetup /dev/loop0 /ramdisks/disk0
mke2fs /dev/loop0
...
losetup -d /dev/loop0
rm /ramdisks/disk0