Tentar testar um chip flash nand embutido, preenchendo um arquivo para aumentar a capacidade

4

Estou tentando testar um chip nand flash embutido usando o comando dd (gravar dados aleatórios em um arquivo):

dd if=/dev/urandom of=/nand/storage/testnand/test.raw bs=100000 count=50 2> /dev/null

No entanto, a unidade que estou testando está executando o busybox v1 e ela foi corrigida. O comando dd não é reconhecido. Existe um comando alternativo que me ajudará a alcançar os mesmos resultados?

suffa
fonte

Respostas:

3
head -c $((100000*50)) /dev/urandom > test.raw

irá poupar 100000 * 50 = 5000000 bytes, combinando o Bash Expressões aritméticas e cabeça -c number_of_bytes parâmetro.

Para depuração: expandindo a ideia de allixotix, este comando imprime "$ i done" em 1000, 2000, etc.

{ for i in {1..100000}; do echo $i; if (( ($i % 1000) == 0 )); then echo "$i done" 1>&2; fi; done } > test.raw
ignis
fonte
Ooh legal! :) Não pensei em gerar dados com head...
allquixotic
@ignis - Se eu quisesse que este script continuasse até que houvesse um erro ou o usuário parasse, precisaria adicionar / dev / null de volta?
suffa
@suffa O usuário pode parar com Ctrl + C, e acredito que o comando parará automaticamente se houver um erro. 2>/dev/null simplesmente esconde as mensagens de erro, de forma alguma influenciará o comando em si.
ignis
@ignis - continue recebendo um erro de sintaxe na seção de depuração que você adicionou recentemente.
suffa
@suffa Eu não recebo erros, no Bash 4.2.37 (1) / Ubuntu 12.10, Bash 4.2.45 (2) / Arch Linux 2013.04, Bash 4.2.39 (1) / Fedora 18. Não echo $0 retornar "bash"? Em caso afirmativo, qual versão bash --version impressão?
ignis
4

Podes tentar

  • cat /dev/urandom > /nand/storage/testnand/test.raw
  • for i in $(seq 1 10000000); do echo $i >> /nand/storage/testnand/test.raw; done

Eu não consigo pensar em muito mais que funcionaria se você nem sequer tem dd ou cat...

allquixotic
fonte
Expandindo sua ideia, eu faria { for i in {1..100000}; do echo $i; done } > test.raw que abre test.raw apenas 1 vez
ignis
@ignis as reticências na sua conta de comentário para: {1 eq 10000000}?
suffa
@suffa Não, é uma sintaxe alternativa para seq 1 100000documentado Aqui e Aqui
ignis