Есть embedded устройство с NAND памятью. При обновлении прошивки мы делали очень eraseall /dev/mtd0, а затем dd if=new.img of=/dev/mtd0. На сколько я понял, erase нужен из-за особенностей NAND, т.е. ее нужно перевести в специальное состояние, чтобы можно было писать.
Но теперь мне это нужно делать не тулзами, а самому написать код. Естественно взял исходники соответствующих тулзовин, но в процессе вычитал, что если на флэшке образуется badblock, то cramfs уже нельзя будет просто записать с помощью dd. Но вот тут, например, в разделе 7.1.2.5 Writing and reading ничего такого не говорится, а про бэд-блоки только в следующем разделе про DiskOnChip рассказывается. Моя железяка на mipsel, т.е. видимо там CFI и «беспокоится» о бэд-блоках не надо?
Если кто разбирается в этом, скажите правильно я понимаю или нет.