나는 팔로우하고 있다이것NAND 플래시 메모리의 펌웨어 업데이트를 수행하는 방법에 대한 튜토리얼입니다. 새 루트 디렉터리가 있는 디렉터리만 변경하여 따라갔습니다. /bin
/dev
/sbin
/usr
모든 폴더를 tmpfs
내가 있는 곳에 복사하고 있습니다 RAM
.
다음 명령에서 문제가 발생하기 시작합니다.
umount /sys
umount /proc
제거 하면 killall5
sys
문제가 없지만 proc을 제거하려고 하면 다음과 같은 메시지가 나타납니다.
umount: can't umount /proc: Device or resource busy
chroot
나는 다음과 같은 것을 사용해 보았습니다 .이것비슷한 질문에 대한 링크입니다. 하지만 별로 도움이 되지 않는 것 같습니다.
다음 명령을 사용하여 새 루트로 chrooting을 시도했지만 더 많은 슬픔을 느꼈습니다.
chroot /tmp/newroot /bin/ash
실수:
umount: can't umount /proc: Invalid argument
누구든지 올바른 방향으로 나를 가리킬 수 있습니까? 종종 그렇듯이 사소한 것을 놓치고 있는 것 같은 느낌이 듭니다.
답변1
글쎄, 아마도 /proc
. 프로세스는 다음과 같습니다.실제 파일 시스템도 아님, 그러나 메모리 내용과 현재 실행 중인 프로세스를 나타냅니다. 당신이 원하는 것은 아마도바인드 마운트chroot 내의 위치로:
# mkdir -m 0555 /tmp/newroot/proc
# mount --bind /proc /tmp/newroot/proc
답변2
lsof
아직 설치되지 않은 경우 설치한 다음 단일 사용자 모드로 재부팅하고 를 입력합니다 lsof | grep /proc
. 아직 사용 중인 모든 프로그램을 종료합니다 /proc
. 그런 다음 제거할 수 있습니다.
답변3
지연된 마운트 해제를 사용하면 umount -l /proc
모든 참조가 제거될 때까지 마운트가 유지되지만 루트를 마운트 해제할 수 있도록 연결이 끊어집니다(사용 후 pivot_root
).
또는 모바일 마운트 지점을 사용할 수도 있습니다 mount --move
.