如何 flash_erase mtd0?

如何 flash_erase mtd0?

我正在尝试找到一种方法来访问nandwrite包含我的 u-boot 环境的 mtd0 分区。当我尝试这样flash_eraseall /dev/mtd0做时,我得到:

flash_eraseall: /dev/mtd0: 权限被拒绝

有什么办法可以让我获得这样做的许可吗?经过一些阅读后,我怀疑我必须修改并重新编译我的内核。不过,我正在尝试找到一种方法来解决这个问题。

答案1

有 2 件事需要检查。

  1. 设备是否/dev/mtd0已安装?

    您可以使用该命令确认这一点mount。条目将显示它已安装,并且闪存工具可能无法在安装时擦除设备。

    例子

    $ mount
    /dev/mapper/vg_grinchy-lv_root on / type ext4 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw)
    /dev/sda5 on /boot type ext4 (rw)
    /dev/mapper/vg_grinchy-lv_home on /home type ext4 (rw)
    

    如果此处有条目,则可以使用命令卸载它umount

    例子

    $ sudo umount /dev/mtd0
    

    然后尝试运行擦除命令。

  2. 作为普通用户,您可以闪存擦除设备吗?

    通常,普通用户不允许执行此类潜在危险的操作,因此通常您需要成为 root 才能执行这些操作。像这样尝试你的命令。

    例子

    $ sudo flash_eraseall /dev/mtd0
    

相关内容