我正在尝试找到一种方法来访问nandwrite
包含我的 u-boot 环境的 mtd0 分区。当我尝试这样flash_eraseall /dev/mtd0
做时,我得到:
flash_eraseall: /dev/mtd0: 权限被拒绝
有什么办法可以让我获得这样做的许可吗?经过一些阅读后,我怀疑我必须修改并重新编译我的内核。不过,我正在尝试找到一种方法来解决这个问题。
答案1
有 2 件事需要检查。
设备是否
/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
然后尝试运行擦除命令。
作为普通用户,您可以闪存擦除设备吗?
通常,普通用户不允许执行此类潜在危险的操作,因此通常您需要成为 root 才能执行这些操作。像这样尝试你的命令。
例子
$ sudo flash_eraseall /dev/mtd0