Seri port üzerinden BusyBox tabanlı bir Linux gömülü sisteme ~ 7 Kb bellenim dosyası yükledim.
Ağ yok, dosya aktarım yardımcı programı yok; hiçbir Base64 aracı veya cihazda uzaktan kullanışlı bir şey yok.
Ana bilgisayarda, önemsiz bir şekilde bir firmware'i aşağıdaki formata kodladım; printf
komutlarla birleştirilmiş kabuk değişmezlerinden oluşan bir tür altıgen dökümü :
printf "\xDE\xAD\xBE\xEF\x...\xF0"
printf "\xCA\xFE\x33\xE1\x...\xD3"
temel olarak printf
komutları yorumlayan \x
kaçış dizileriyle printf
kabuklandırır. Cihazda yaptım:
device $ cat > firmware.sh
daha sonra bu dosyayı anasisteme göndermek için minicom
's ASCII dosya send ( Ctrl-AS) yöntemini kullandı . Veri miktarı az olduğundan kopyala ve yapıştır yöntemini kullanabilirdim.
Ardından, yürütülebilir olarak işaretlendi ve printf
komut dosyasını çalıştırdı :
device $ chmod a+x firmware.sh
device $ ./firmware.sh > firmware.bin
BusyBox en kullanılarak kontrol md5sum
o firmware.bin
cihazda sağlama ana bilgisayarda orjinal firmware görüntüsünü eşleşir.
PS Kabuk çift tırnak sözdizimi \x
kelimesi kelimesine geçer, çünkü tanınan bir kaçış dizisi değildir; dolayısıyla ters eğik çizgileri ikiye katlamak zorunda değiliz.
busybox --help
vels -l /bin
vels -l /usr/bin
lütfen.