Enable PXE booting into netboot.xyz - XIYO/asuswrt-merlin.ng-kr GitHub Wiki

μ΄λ ‡κ²Œ ν•˜λ©΄ κΈ°μ‘΄ BIOS 및 UEFI μž₯μΉ˜κ°€ https://github.com/netbootxyz/netboot.xyz λ©”λ‰΄λ‘œ PXE λΆ€νŒ…ν•  수 있게 λ©λ‹ˆλ‹€.

AsusWRT-Merlin λΌμš°ν„°μ˜ IP μ£Όμ†Œκ°€ 192.168.1.1둜 κ°€μ •ν•©λ‹ˆλ‹€. λ¨Όμ € GUI에 λ‘œκ·ΈμΈν•˜μ„Έμš”.

  1. LAN -> DHCP Server -> κΈ°λ³Έ μ„€μ •: "DHCP Server ν™œμ„±ν™”"λ₯Ό 예둜 μ„€μ •ν•˜κ³  IP ν’€ μ‹œμž‘ μ£Όμ†Œλ₯Ό 192.168.1.2둜, IP ν’€ 끝 μ£Όμ†Œλ₯Ό 192.168.1.254둜 μ„€μ •ν•©λ‹ˆλ‹€.
  2. 관리 -> μ‹œμŠ€ν…œ -> μ„œλΉ„μŠ€: "SSH ν™œμ„±ν™”"λ₯Ό LAN μ „μš©μœΌλ‘œ μ„€μ •ν•©λ‹ˆλ‹€.
  3. 관리 -> μ‹œμŠ€ν…œ -> 지속적인 JFFS2 νŒŒν‹°μ…˜: "JFFS μ‚¬μš©μž 슀크립트 및 ꡬ성 ν™œμ„±ν™”"λ₯Ό 예둜 μ„€μ •ν•©λ‹ˆλ‹€. μ°Έκ³ : JFFSλŠ” ν”Œλž˜μ‹œ λ©”λͺ¨λ¦¬μ˜ μ“°κΈ° κ°€λŠ₯ν•œ μ˜μ—­μœΌλ‘œ, λΌμš°ν„° λͺ¨λΈμ— 따라 크기가 λ‹€λ₯Ό 수 있으며 μ΅œμ‹  λͺ¨λΈμ€ USB λ””μŠ€ν¬λ₯Ό μ—°κ²°ν•˜μ§€ μ•Šκ³ λ„ λΌμš°ν„° 내뢀에 μž‘μ€ 파일(슀크립트 λ“±)을 μ €μž₯ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. 이 곡간은 μž¬λΆ€νŒ…μ„ κ²¬λ”œ κ²ƒμ΄μ§€λ§Œ νŽŒμ›¨μ–΄ ν”Œλž˜μ‹± ν›„μ—λŠ” 살아남지 μ•Šμ„ 수 μžˆμœΌλ―€λ‘œ ν”Œλž˜μ‹± 전에 λ°˜λ“œμ‹œ λ°±μ—…ν•˜μ„Έμš”!
  4. GUIμ—μ„œ λΌμš°ν„°λ₯Ό μž¬λΆ€νŒ…ν•˜κ³  192.168.1.1을 ν•‘ν•  λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦½λ‹ˆλ‹€.
  5. ssh [email protected] λͺ…령을 μ‚¬μš©ν•˜μ—¬ SSH둜 λΌμš°ν„°μ— λ‘œκ·ΈμΈν•©λ‹ˆλ‹€.
  6. mkdir /jffs/tftproot λͺ…λ ΉμœΌλ‘œ 디렉토리λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  7. curl -o /jffs/tftproot/netboot.xyz.kpxe https://boot.netboot.xyz/ipxe/netboot.xyz.kpxe λͺ…λ ΉμœΌλ‘œ νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.
  8. curl -o /jffs/tftproot/netboot.xyz.efi https://boot.netboot.xyz/ipxe/netboot.xyz.efi λͺ…λ ΉμœΌλ‘œ νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.
  9. touch /jffs/configs/dnsmasq.conf.add λͺ…λ ΉμœΌλ‘œ νŒŒμΌμ„ λ§Œλ“­λ‹ˆλ‹€.
  10. nano /jffs/configs/dnsmasq.conf.add λͺ…령을 μ‚¬μš©ν•˜μ—¬ λ‹€μŒ λ‚΄μš©μ„ μΆ”κ°€ν•©λ‹ˆλ‹€:

enable-tftp
tftp-root=/jffs/tftproot
dhcp-match=set:bios,60,PXEClient:Arch:00000
dhcp-boot=tag:bios,netboot.xyz.kpxe,,192.168.1.1
dhcp-match=set:efi32,60,PXEClient:Arch:00002
dhcp-boot=tag:efi32,netboot.xyz.efi,,192.168.1.1
dhcp-match=set:efi32-1,60,PXEClient:Arch:00006
dhcp-boot=tag:efi32-1,netboot.xyz.efi,,192.168.1.1
dhcp-match=set:efi64,60,PXEClient:Arch:00007
dhcp-boot=tag:efi64,netboot.xyz.efi,,192.168.1.1
dhcp-match=set:efi64-1,60,PXEClient:Arch:00008
dhcp-boot=tag:efi64-1,netboot.xyz.efi,,192.168.1.1
dhcp-match=set:efi64-2,60,PXEClient:Arch:00009
dhcp-boot=tag:efi64-2,netboot.xyz.efi,,192.168.1.1

  1. reboot λͺ…령을 μ‚¬μš©ν•˜μ—¬ λΌμš°ν„°λ₯Ό μž¬λΆ€νŒ…ν•˜κ³  192.168.1.1을 ν•‘ν•  λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦½λ‹ˆλ‹€.
  2. λ‹€λ₯Έ μž₯μΉ˜μ—μ„œ λΌμš°ν„°μ—μ„œ TFTPκ°€ μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.

tftp 192.168.1.1
tftp> get netboot.xyz.kpxe
0.5초 λ™μ•ˆ 368475 λ°”μ΄νŠΈλ₯Ό μˆ˜μ‹ ν–ˆμŠ΅λ‹ˆλ‹€.

  1. UEFI μž₯치 및 κΈ°μ‘΄ BIOS μž₯치둜 PXE λΆ€νŒ…μ΄ μž‘λ™ν•˜λŠ”μ§€ ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€ (BIOS 및/λ˜λŠ” UEFIμ—μ„œ PXE λΆ€νŒ…μ„ ν™œμ„±ν™”ν•΄μ•Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€. UEFI의 경우 UEFI λ„€νŠΈμ›Œν‚Ή μŠ€νƒμ„ ν™œμ„±ν™”ν•΄μ•Ό ν•©λ‹ˆλ‹€).

μœ„ μ •λ³΄λŠ” λ‹€μŒ λ§ν¬μ—μ„œ μ‘°ν•©λ˜μ—ˆμŠ΅λ‹ˆλ‹€.