2013-10-18 2 views
0

다른 리눅스 커널을 부팅하는 동안 리눅스 커널의 zImage를 실행하고 싶습니다. KEXEC을 보았지만 커널을 kexec 지원으로 다시 컴파일 할 수 없기 때문에 KEXEC을 사용할 수 없습니다. 그래서 내 질문은, 어떻게 kexec하지 않고 무엇입니까? (저는 Android Kernel을 사용하고 있습니다)kexec없이 리눅스 커널을 실행하는 방법은 무엇입니까?

답변

0

일반적으로 커널 이미지를로드하려면 부트 로더가 필요합니다. Kexec은 다른 옵션입니다. 보조 커널 이미지를 다른 메모리 위치에 미리로드 한 경우/proc 또는 유사한 위치에 트리거를 추가하여 새 위치로 소프트 재부팅 할 수 있습니다. (soft-restart에 대해서는 arch/arm/kernel/process.c를 참조하십시오). kexec로 커널을 컴파일 할 수없고 사용자 공간 도구를 사용할 수 없다면, 기본 커널은 파일 시스템 읽기/쓰기를 직접 수행해야합니다. 이는 권장되지 않습니다.

+0

커널을 컴파일하지 않고 Kexec을 독립 실행 형 도구로 컴파일 할 수 있습니까? –

+0

kexec에는 두 부분이 있습니다. 사용자 공간 부분은 kexec 도구라고하며 커널의 kexec을 지원합니다. 사용자 공간 도구는 커널 지원이 활성화되지 않으면 작동하지 않습니다. 즉, 커널 지원이 없으면 kexec 시스템 호출을 사용할 수 없습니다. 커널 kexec 지원을 모듈로 구축 할 수 있습니다. 패닉 커널 이외의 기능은 부팅시 메모리를 예약하지 않아도 작동합니다. – subin

관련 문제