Como o kernel do Linux 3.x gerencia o ramdisk como dispositivo de bloco?

5

Eu preciso de um dispositivo de bloco na RAM. Eu construí um kernel 3.x e adicionei o driver de dispositivo do bloco RAM. O número de unidades de dispositivos de blocos RAM é 16 (por padrão), mas quando o kernel inicializa não há ramx em /sys/block nem /dev . O que está acontecendo?

    
por مصطفی 23.09.2014 / 14:05

1 resposta

8

Eu acho que você quer dizer algo assim:

Carregue o bloco módulo ramdisk, defina o tamanho desejado em blocos usando o parâmetro rd_size=... .

# modprobe brd rd_size=123456

... após este passo /dev/ram0 existe.

Você agora pode colocar um sistema de arquivos nele.

# mkfs /dev/ram0
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
30976 inodes, 123456 blocks
6172 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
16 block groups
8192 blocks per group, 8192 fragments per group
1936 inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729

Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Monte e verifique o espaço usado e livre ...

# mount /dev/ram0 /mnt 
# df /mnt 
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/ram0               119539      1550    111817   2% /mnt
    
por 23.09.2014 / 15:57