Eu tenho algum tipo de sistema de entretenimento doméstico executando uma versão antiga do Linux 2.6. Tem um SATA > Sistema de ponte USB e um par de portas USB. O que eu quero fazer é usá-lo como armazenamento anexado à rede.
Agora, felizmente, ele tem um servidor de telnet aberto e acessível em execução.
O problema é que não consigo encontrar onde estão o kernel nem o sistema init. A caixa está executando o BusyBox.
A placa tem um único chip flash nela. Mas, sob sysfs no bloco / vejo vários chips de flash:
/sys/block # ls
...
mtdblock0 mtdblock2 mtdblock4
mtdblock1 mtdblock3
Por que isso é estranho?
Agora, quero criar uma entrada /dev
para eles, para que eu possa despejar cada um deles em uma unidade flash USB e analisá-los.
Então eu fiz isso:
/sys/block # cat /sys/block/mtdblock0/dev
31:0
E ..
mknod /dev/mtdblock0 c 31 0
Que saiu com 0 e tentei ler dados brutos para testar o dispositivo:
/sys/block # cat /dev/mtdblock0
cat: /dev/mtdblock0: No such device or address
Por que isso? dd está dizendo o mesmo. Há entradas em /proc/devices
:
/sys/block # cat /proc/devices
Character devices:
1 mem
{ ... }
Block devices:
1 ramdisk
7 loop
8 sd
31 mtdblock
{ ... }