mtd0을 플래시_삭제하는 방법은 무엇입니까?

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. 일반 사용자로서 장치를 플래시로 삭제할 수 있습니까?

    일반적으로 일반 사용자는 이러한 잠재적으로 위험한 작업을 수행하는 것이 허용되지 않으므로 일반적으로 이러한 작업을 수행하려면 루트 권한이 필요합니다. 다음과 같이 명령을 시도해 보세요.

    $ sudo flash_eraseall /dev/mtd0
    

관련 정보