kexec를 커널에 구축하지 않고도 사용할 수 있도록 kexec를 독립 실행형 바이너리로 구축할 수 있습니까?

kexec를 커널에 구축하지 않고도 사용할 수 있도록 kexec를 독립 실행형 바이너리로 구축할 수 있습니까?

물리적인 액세스 없이 새 커널로 업데이트하려는 원격 임베디드 Linux 장치가 있습니다. 그러나 부팅하는 명령줄 옵션은 MTD 중 하나를 읽기 전용으로 만듭니다. 즉, 커널을 수정할 수 없으며 U-Boot는 물리적 직렬 연결을 통해서만 액세스할 수 있습니다.

kexec 지원이 설치되지 않았습니다.

나는 성공하지 못한 채 kexec을 직접 만들려고 노력하고 있습니다. kexec-tools에서 kexec를 빌드했지만 커널을 로드하려고 하면 다음과 같은 결과가 나타납니다.

kexec_load 실패: 함수가 구현되지 않았습니다.

이 상황을 구제하기 위해 제가 할 수 있는 일이 있나요? kexec를 단일 바이너리 실행 파일로 만들 수 있나요? 포럼에서 사람들이 이런 식으로 사용하라고 제안하는 것을 본 적이 있지만 이런 식으로 만들 수는 없는 것 같습니다.

편집하다:  kexec를 작동시킬 수 없는 경우 MTD0에 액세스할 수 있는 방법이 있습니까? 이번 순간에는 장치 중 하나에 액세스할 수 없지만 /proc/something/devices/virtual/mtd0/ro와 같은 것이 1이고 chmod 777이면 오류 없이 0 >을 에코할 수 있습니다. , 그러나 지속되지는 않습니다.

답변1

kexec이를 통해 이루어지는 메커니즘이다.커널 실행다른 것으로 대체됩니다. 이를 수행하는 외부 프로그램에는 다음이 있어야 합니다.극도로관련된 커널에 대한 깊은 지식과 머신의 모든 것에 대한 커널 수준 액세스. 효과가 있을 수도 있지만, 그것을 시도할 만큼 미친 사람은 없다고 생각합니다.

관련 정보