mkfs.fat Device or resource busy 에러 해결법
리눅스에서 SD 카드를 포맷할 때 아래와 같이 "Device or resource busy"에러를 출력하며 포맷이 되지 않는 경우가 있다. mkfs.fat: unable to open /dev/mmcblk0p1: Device or resource busy 해결법을 찾아보았다. 이 문제의 원인은 1. 파티션 dev path 가 맞지 않거나, 2. umount가 완전히 이루어 지지 않았거나, 3. mbr파티션에 문제가 있어 발생한다고 한다. 파티션에 문제가 있는 경우 fdisk를 사용하면 문제를 해결할 수 있다. umount에 문제가 있는 경우, umount할 때 -l 옵션이 사용되는 경우 umount 명령이 끝나도 커널 내부에서 리소스가 계속 사용될 가능성이 있다고 한다. # umount -l /mnt/mmc umount2("/mnt/mmc",MNT_DETACH); 이런 경우 일정 시간 후 다시 시도하면 에러 없이 포맷이 되는 경우가 있다. 또, umount 가 되지 않을 때 "lsof" , "fuser" 명령어를 사용하여 어떤 프로세스가 mmc를 사용하고 있는지도 확인 가능하다. * lsof에서 사용 내역이 없다고 나와도, fuser에서 나올수 있다. lsof, fuser 명령에서도 mmc를 사용하는 프로세스가 없는 경우에도 "Device or resource busy"에러가 발생할 경우, umount에 -lf 옵션을 두어 강제로 언마운트 후 SD 카드를 포맷하면 "Device or resource busy"에러가 나타나지 않을 확률이 높아진다. # umount -lf /mnt/mmc umount2("/mnt/mmc",MNT_DETACH | MNT_FORCE); * fat32에서는 "-f","...