![PXE를 사용하여 사용자 지정 Linux 이미지 부팅](https://linux55.com/image/130788/PXE%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A7%80%EC%A0%95%20Linux%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%EB%B6%80%ED%8C%85.png)
PXELINUX를 사용하여 사용자 정의 Linux 이미지를 사용하여 클라이언트를 PXE 부팅할 수 있습니까?
배경
우리는 Linux(구체적으로는 Ubuntu)를 운영 체제로 사용하는 다양한 IoT 장치(Intel 기반 프로세서)를 사용합니다. 그러나 우리는 필요에 따라 운영 체제를 사용자 정의했습니다(예: 자체 애플리케이션 추가, 시스템 구성 등). 현재 우리는 PXE를 사용하여 로컬 스토리지 손상에 대한 안전 장치로(또는 단순히 상황을 제거하기 위해) 이러한 장치를 부팅할 수 있는지 조사하고 있습니다.
TFTPD64(Windows) 및 PXELINUX를 사용하는 표준 Ubuntu 이미지를 사용하여 이를 달성할 수 있습니다. 다양한 장치의 MAC ID를 기반으로 이미지를 선택적으로 부팅할 수 있습니다. 그런데 우리 이미지에 맞추느라 애를 먹었다.
그래서 제 질문은 PXE를 사용하여 Linux 시스템을 부팅하기 위해 어떻게 사용자 정의 이미지를 만들거나 다른 수단을 사용할 수 있느냐는 것입니다.
DD 유틸리티를 사용하여 ISO(4GB 이상의 크기)를 만들었습니다. 하지만 PXELINUX 부트로더는 ISO를 다운로드할 수도 없습니다.
답변1
다음 단계는 사용자 정의 이미지를 시작하는 데 도움이 됩니다.
1) 미래에 어디에 있고 싶은지 결정해야 합니다.뿌리(/)(완전히 네트워크 리소스 내에 위치함(예:네트워크 파일 시스템) 또는 시작 중에 RAM에 로드됩니다.
2) 준비초기화 프로그램1) 단계에 따라 다릅니다.
3) 당신의 배치핵심그리고초기화 프로그램존재하다TFTP섬기는 사람.
4) /etc/fstab
시스템 이미지를 변경하십시오(iso 또는호박 파일 시스템또는 웹 리소스에서 완전히 압축을 푼 경우).
결과 시작 순서:
1) 커널은 initrd의 압축을 풀고 제어권을 initrd에 전달합니다.
2) initrd는 네트워크 리소스를 마운트합니다(또는 RAM에 복사본(임시 파일 시스템) 로드된 시스템이 완전히 RAM에 위치하는 경우).
3) initrd는 제어권을 커널로 반환하고 init/systemd
준비된 커널에서 로드합니다.뿌리(/).