PXE 서버에서 여러 Linux 배포판을 호스팅하고 이러한 선택 사항을 PXE 클라이언트에 제공

PXE 서버에서 여러 Linux 배포판을 호스팅하고 이러한 선택 사항을 PXE 클라이언트에 제공

PXE 서버 - CentOS 6.5 64비트
대상 - 클라이언트는 네트워크 부팅 메뉴에서 OS 선택을 확인해야 합니다(Oracle Linux 6.5, RHEL 7, Ubuntu 14). 선택한 후에는 선택한 운영 체제 설치를 진행해야 합니다.

답변1

TFTP를 통해 네트워크를 통해 Grub을 부팅할 수 있습니다. 그런 다음 grub은 일반적인 방법으로 다음에 부팅할 옵션 메뉴를 표시할 수 있습니다. 이러한 선택 사항은 다양한 운영 체제 설치 프로그램일 수 있습니다. grub은 TFTP를 통해 선택된 운영 체제 설치 프로그램을 로드할 수도 있습니다.

나는 Debian(및 Ubuntu) 설치 프로그램이 단일 독립형 Linux 커널 + initramfs(initrd) 조합으로 부팅할 수 있다는 것을 알고 있습니다. grub이 간단한 방법( 및 명령 menuentry사용 ) 으로 부팅하고 다른 항목에 액세스하기 위해 설치 프로그램을 정렬할 필요가 없기 때문에 이것이 가장 쉽습니다. 다른 배포판의 설치 절차도 비슷할 수 있습니다.linuxinitrd

주의하실 점이 있습니다여기EFI를 사용하여 TFTP를 통해 부팅하도록 grub을 설정합니다. 추가문서는 검색하시면 쉽게 찾으실 수 있습니다. 기본적으로 DHCP 서버를 구성하고 TFTP 서버에 올바른 파일을 넣는 것이 중요합니다. DHCP 서버 구성 파일과 TFTP 서버 루트 디렉터리의 위치는 운영 체제에 따라 다릅니다.

  • DHCP 서버는 DHCP 옵션으로 클라이언트에 부팅 파일 이름을 제공해야 합니다. 이는 모든 네트워크 시작의 표준입니다. 부팅 파일 이름은 grub이 포함된 TFTP 서버에 있는 파일 이름을 가리킵니다.

  • grub 이미지의 경우 번들로 제공되는 독립 실행형 이미지를 사용하거나(이미지 생성 지침은 이전에 참조한 페이지에 있음) bootx64.efigrub core 를 사용할 수 있습니다 core.efi. 후자의 경우 grub은 실행 시 TFTP 서버와 별도로 다른 모듈과 해당 구성 파일을 로드해야 합니다.

  • grub.cfg커널 및 initrd 에 대한 경로 이름을 지정하는 일반적인 grub 구성 파일이어야 합니다 (tftp)/path/to/the/object. 물론 다양한 운영 체제 설치 프로그램에 대해 TFTP 서버에서 커널 및 initrd에 대해 다른 이름을 지정해야 합니다.

답변2

pxelinux.0syslinux 프로젝트의 Linux용 범용 PXE 부트로더입니다. pxelinux.0소유한 모든 Linux 배포판에 Single을 사용할 수 있습니다 . 당신이 해야 할 유일한 일은 PXE 구성을 업데이트 pxelinux.cfg/default하거나 설정에 따라 업데이트하는 것입니다 pxelinux.cfg/CLIENT_MAC.pxelinux.cfg/PORTION_OF_CLIENT_IP

당신은 할 수 있습니다:

  • 체인 메뉴, pmagic_advanced항목 참조
  • 체인 PXE 로더, openbsd항목 참조(내가 아는 한 Linux PXE 부트로더는 BSD 커널을 부팅할 수 없습니다)
  • 체인 TFTP 서버, pxeserver2항목 참조
  • 부팅할 첫 번째 하드 드라이브에 넣고 syslinux메뉴(라이브 USB) 또는 isolinux메뉴(라이브 CD)에서 복사할 수 있습니다. 이들은 동일한 프로젝트에 속하며 부팅 구성에 동일한 구문을 사용합니다.

내 예 pxelinux.cfg/default:

DEFAULT partedmagic_6.7

LABEL test_kernel
    MENU LABEL ^Test Kernel
    KERNEL hello.boot

LABEL partedmagic_6.7
    LINUX pmagic_6.7/bzImage
    INITRD pmagic_6.7/initramfs
    APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256

LABEL partedmagic_5.5
    MENU LABEL PartedMagic 5.5
    LINUX pmagic_5.5/bzImage
    APPEND initrd=pmagic_5.5/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 loglevel=0 max_loop=256

menu begin pmagic_advanced
        menu title PartedMagic 5.5 Advanced
        label mainmenu
                menu label ^Back..
                menu exit
        include /pmagic_5.5/boot/syslinux.cfg
menu end

LABEL clonezilla_20100623
    MENU LABEL ^CloneZilla 2010.06.23
    KERNEL clonezilla_20100623/vmlinuz
    APPEND initrd=clonezilla_20100623/initrd.img boot=live union=aufs noswap noprompt vga=788 ocs_live_keymap=NONE ocs_lang=en_US.UTF-8 fetch=tftp://192.168.10.123/clonezilla_20100623/filesystem.squashfs

LABEL unattended_4.9
    MENU LABEL Unattended 4.9 for ^XP
    KERNEL unattended_4.9/bzImage
    APPEND initrd=unattended_4.9/initrd z_path=\\192.168.10.123\install_4.9

LABEL slitaz
    MENU LABEL ^Slitaz.iso
    TEXT HELP
Testing boot from iso.
    ENDTEXT 
    KERNEL memdisk
    APPEND initrd=slitaz-cooking.iso

LABEL mini_ubutnu
    MENU LABEL Mini-Ubuntu
    KERNEL memdisk
    APPEND initrd=ubuntu_mini.iso

LABEL freedos_std
    MENU LABEL ^FreeDOS STD
    TEXT HELP
Testing boot from Floppy IMG.
    ENDTEXT 
    KERNEL memdisk
    APPEND initrd=FDSTD.144

LABEL anax_bios_flash
    MENU LABEL Anax Bios Flash
    KERNEL memdisk
    APPEND initrd=anax_bios_flash.img

LABEL openbsd
    MENU LABEL ^OpenBSD 3.9
    KERNEL openbsd_3.9/pxeboot.0

LABEL plop_4.0.0
    MENU LABEL PlopLinux 4.0.0
    KERNEL ploplinux_4.0.0/bzimage
    APPEND initrd=ploplinux_4.0.0/initrfs.gz vga=1 nfsmount=192.168.10.123:/media/gnu_files/_servers/tftp/ploplinux_4.0.0/ploplinux

LABEL ubuntu_10.04_install
        menu label ^Ubuntu 10.04 net install
        kernel ubuntu_10.04/vmlinuz
        append vga=normal initrd=ubuntu_10.04/initrd.gz -- quiet

LABEL ubuntu_10.04_cli
        menu label Ubuntu 10.04 ^command-line net install
        kernel ubuntu_10.04/vmlinuz
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu_10.04/initrd.gz -- quiet

LABEL pxeserver2
        menu label Switch to 2nd PXE server...
        kernel pxechain.com
        append 192.168.10.254::pxelinux.0

인용하다: AskUbuntu: Pxeboot 다중 이미지

관련 정보