키보드
kexeckexec은 kernel exec의 약자로 Unix/Linux 커널 콜 exec과 유사하며 Linux 커널의 메커니즘으로 현재 실행 중인 커널에서 새로운 커널을 부팅할 수 있습니다.기본적으로 kexec은 시스템펌웨어(BIOS 또는 UEFI)에 의해 실행되는 부트로더 단계와 하드웨어 초기화 단계를 건너뛰고 새로운 커널을 메인 메모리에 직접 로드하여 즉시 실행을 시작합니다.이것에 의해, 완전 재기동에 수반하는 긴 시간이 불필요하게 되어,[1][2] 다운 타임을 최소한으로 억제하는 것으로써, 시스템이 고가용성 요건을 채울 수 있게 됩니다.
kexec 등의 메커니즘을 실장하는 것은 실현 가능하지만 다음 두 가지 주요 과제가 발생합니다.
- 현재 실행 중인 커널의 메모리는 이전 커널이 실행되는 동안 새 커널에 의해 덮어씁니다.
- 새로운 커널에서는 일반적으로 모든 하드웨어 디바이스는 시스템 펌웨어에 의해 "sane" 상태로 리셋되기 때문에 시스템 재부팅 후에 올바르게 정의된 상태가 될 것으로 예상합니다.실제 리부트를 바이패스하면 디바이스가 알 수 없는 상태가 될 수 있으며 새로운 커널은 이 상태에서 회복해야 합니다.
kexec을 통해 서명된 커널만 부팅할 수 있도록 하는 지원은 2014년 [3]10월 5일에 출시된 Linux 커널 메인라인 버전 3.17로 통합되었습니다.이로 인해 루트 사용자는 kexec을 통해 임의의 코드를 로드하여 실행할 수 없게 되어 UEFI 시큐어 부트 및 커널 내 보안 메커니즘을 보완하여 서명된 Linux 커널 모듈만 실행 중인 [4][5][6]커널에 삽입할 수 있게 됩니다.
Kexec은 LinuxBoot에서 펌웨어에 있는 Linux 커널에서 메인 커널을 부팅하기 위해 사용됩니다.
「 」를 참조해 주세요.
- kdump (Linux)– Linux 커널의 크래시 덤프 메커니즘.내부에서는 kexec을 사용합니다.
- 커널 재배치 Linux 기능: 커널을 다양한 메모리 주소로 부팅 가능하도록 컴파일할 수 있습니다.
- kGraft – SUSE가 개발한 Linux 커널 라이브 패치 테크놀로지
- kpatch – Red Hat이 개발한 Linux 커널 라이브 패치 테크놀로지
- Ksplice – Ksplice, Inc.에서 개발한 Linux 커널 라이브 패치 테크놀로지, 이후 Oracle에서 구입
레퍼런스
- ^ Hariprasad Nellitheertha (May 4, 2004). "Reboot Linux faster using kexec". IBM. Archived from the original on January 21, 2013. Retrieved December 5, 2013.
- ^ David Pendell (August 16, 2008). "Reboot like a racecar with kexec". linux.com. Archived from the original on February 14, 2009. Retrieved December 5, 2013.
- ^ "Linux kernel 3.17, Section 1.10. Signed kexec kernels". kernelnewbies.org. October 5, 2014. Retrieved November 3, 2014.
- ^ Jake Edge (June 25, 2014). "Reworking kexec for signatures". LWN.net. Retrieved August 9, 2014.
- ^ Matthew Garrett (December 3, 2013). "Subverting security with kexec". dreamwidth.org. Retrieved December 5, 2013.
- ^ Kees Cook (December 10, 2013). "Live patching the kernel". outflux.net. Retrieved December 12, 2013.