![기본 디스크에 오류가 발생한 경우 Linux 시스템을 재설정할 수 있는 방법이 있습니까?](https://linux55.com/image/43934/%EA%B8%B0%EB%B3%B8%20%EB%94%94%EC%8A%A4%ED%81%AC%EC%97%90%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%95%9C%20%EA%B2%BD%EC%9A%B0%20Linux%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%84%20%EC%9E%AC%EC%84%A4%EC%A0%95%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
USB 연결을 통해 마운트된 루트 파일 시스템이 있는 작은 임베디드 Linux 장치가 있습니다.
장치가 재설정을 잘 처리합니다(부팅 시 USB 디스크를 분리하면 USB 디스크가 도착할 때까지 기다립니다).
그러나 디스크가 분리되면 장치가 끼이는 경향이 있습니다. 그냥 재설정되기를 바랍니다.
메인 디스크가 사라지면 커널을 재설정할 수 있는 커널 옵션이 있나요?
답변1
그것은 간단합니다.
장치의 USB 분리 이벤트 시 실행되는 udev 규칙을 생성해야 합니다. 이것들은 것입니다 etc/udev/rules.d
.이 문제는 ServerFault로 종료됩니다.더 알아보기.
그래서 우리는 키워드를 사용하여 USB 분리 이벤트에서 임의의 명령을 실행할 수 있음을 확립했습니다 PROGRAM
.
두 번째 부분은 "마법의" sysrq 키를 사용하는 것입니다. 바라보다Magic SysRq에 관한 Wikipedia 기사sysrq 키를 사용하여 수행할 수 있는 작업입니다. 키는 동작 문자를 에 에코하여 트리거할 수도 있습니다 /proc/sysrq-trigger
. 이는 물리적으로 연결된 키보드에서 키 조합을 누르는 것과 동일한 효과를 갖습니다.
따라서 udev 규칙은 다음과 같습니다.
DRIVER="some_device", ACTION="remove", PROGRAM="/bin/echo b > /proc/sysrq-trigger"
some_device
장치가 제거되면 시스템 재부팅이 트리거됩니다.
물론 이는 "웨지"가 "커널 패닉"을 의미하지 않는다고 가정합니다.