Criando um arquivo de dispositivo de caractere

4

Como criar os arquivos de dispositivo de caractere?

Eu tentei cat > xxx^c

Mas não consigo criar um arquivo de dispositivo de caractere

    
por VINOTH KUMAR 18.09.2015 / 15:18

5 respostas

3

Você pode criar um arquivo de dispositivo usando o comando mknod fornecido pelo linux.

mknod <name> <type of device c:- character b:- block device etc> <major> <minor>

exemplo:

mknod test_device c 89 1

para o seu caso você tem que fornecer c, como você está criando arquivo de dispositivo de caracteres. Depois de criar o arquivo do dispositivo, você também terá que alterar as permissões do arquivo se quiser manipular o arquivo no futuro.

    
por 21.09.2015 / 08:24
2

com mknod :

mknod <name> c <major> <minor>

Leia 'drivers de dispositivo linux' (livro grátis) para entender todos os detalhes sobre o que é dispositivo de caractere.

    
por 18.09.2015 / 16:03
1

Encontre o número do dispositivo em /proc/devices

Para dispositivos de caracteres que alocam dinamicamente números de dispositivos, que é a norma para evitar conflitos, localize o número com cat /proc/devices , que contém linhas como:

195 nvidia-frontend

Automação:

insmod /device_name.ko
dev="device_name"
major="$(grep "$dev" /proc/devices | cut -d ' ' -f 1)"
mknod "/dev/$dev" c "$major" 0

Veja um exemplo que também contém um módulo para você experimentar: Entendendo os arquivos do dispositivo de caractere (ou caractere especial)

    
por 18.06.2017 / 10:35
0

Pode valer a pena olhar para o comando lofi para ver se ele se ajusta ao seu propósito

da descrição na página man

"O driver de arquivo lofi exporta um arquivo como um dispositivo de bloco"

Exemplo eu apenas tentei

mkfile -n 512k test_file

sudo lofiadm -a ~a6098/test_file /dev/lofi/1

ls -l /dev/lofi/1
lrwxrwxrwx   1 root     root          29 Sep 18 14:33 /dev/lofi/1 -> ../../devices/pseudo/lofi@0:1

ls -l /devices/pseudo/lofi@0:1  
brw-------   1 root     sys      147,  1 Sep 18 14:33 /devices/pseudo/lofi@0:1
    
por 18.09.2015 / 15:31
0

Quando você tiver um arquivo cpio com "arquivo especial de caractere especificado dentro", você precisará usar o root para descompactar (sudo cpio -idmv), caso contrário o arquivo especial de caractere não será criado.

Então, sim, outra maneira de criar um arquivo especial de caractere (copiando do arquivo especial de caractere existente):

a. Crie o arquivo listando os arquivos a serem copiados:

b.crieopróprioarquivocpio(deveestarrodandocomoroot):

(noteque"cpio -it" é apenas para listar e verificar)

c. a partir do arquivo cpio, recrie o arquivo de caracteres em outro diretório:

(aquirodandocomorooténecessário,epodemosverqueopróprio"cpio" está usando o comando mknod para criar os arquivos especiais).

    
por 18.07.2018 / 07:25

Tags