기본 디스크에 오류가 발생한 경우 Linux 시스템을 재설정할 수 있는 방법이 있습니까?

기본 디스크에 오류가 발생한 경우 Linux 시스템을 재설정할 수 있는 방법이 있습니까?

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장치가 제거되면 시스템 재부팅이 트리거됩니다.

물론 이는 "웨지"가 "커널 패닉"을 의미하지 않는다고 가정합니다.

관련 정보