PXE를 사용하여 사용자 지정 Linux 이미지 부팅

PXE를 사용하여 사용자 지정 Linux 이미지 부팅

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준비된 커널에서 로드합니다.뿌리(/).

관련 정보