Đến từ một nền tảng khởi động kế thừa, tôi đã từng có thể cung cấp các cấu hình khởi động/khởi động dành riêng cho máy chủ dựa trên địa chỉ MAC bằng cách tạo một /pxelinux.cfg/01-MAC-Address
tập tin.
Tôi đang cố gắng thực hiện điều gì đó tương tự với khởi động UEFI và không thể tìm ra cách để máy chủ sử dụng cấu hình cụ thể của nó (tức là tệp ISO hoặc tệp dữ liệu người dùng cụ thể như được chỉ định trong grub.cfg
).
Tôi đã thiết lập máy chủ PXE/TFTP/Apache, phần lớn theo hướng dẫn tại bài đăng xuất sắc này: https://askubuntu.com/a/1235724/1094816.
Tất cả đều hoạt động tốt và các hệ thống nhận grub.cfg
tập tin như mong đợi.
Tuy nhiên, khi tôi sử dụng tệp grub dành riêng cho hệ thống (ví dụ: /tfpt/grub/grub.cfg-01-ec-eb-b8-92-44-70
) nó bị bỏ qua.
Mặc dù đây là trong tài liệu grub, xem xét nhiều tài liệu mà tôi đã thấy điều này, tôi tự hỏi liệu đó có phải là tùy chọn chỉ dành cho Fedora và dẫn xuất dựa trên grubx64.efi được đóng gói cùng với chúng không?
Và nếu vậy, phương pháp để đạt được điều này với Ubuntu + UEFI là gì?
Thiết lập hiện tại của tôi:
Tôi đang chạy dnsmasq, tftp và apache2 trên Ubuntu 20.04.
Tôi đang cố gắng tự động cài đặt máy chủ Ubuntu 20.04.
Cấu trúc thư mục:
/tftp/
/tftp/grub/grubx64.efi
/tftp/grub/grub.cfg-01-ec-eb-b8-92-44-70
/tftp/grub/grub.cfg
/tftp/initrd
/tftp/pxelinux.0
/tftp/vmlinuz
nội dung của /etc/dnsmasq.conf
:
giao diện = enp1s0, lo
giao diện liên kết
miền=poseidon.lab
dhcp-range=10.50.129.100,10.50.129.200,255.255.255.0,2h
tùy chọn dhcp=3,10.50.129.1
tùy chọn dhcp=6,10.50.128.20
máy chủ=10.50.128.20
dhcp-boot=pxelinux.0
kích hoạt-tftp
tftp-root=/tftp
dhcp-mac=set:efi-x86_64,ec:eb:b8:92:44:70
dhcp-boot=tag:efi-x86_64,grub/grubx64.efi
Nội dung của grub.cfg-01-MAC-ADDRESS:
đặt mặc định = tự động
đặt thời gian chờ = 10
menuentry 'Ubuntu 20.04' --id=auto {
linux /vmlinuz ip=dhcp url=http://${pxe_default_server}/tftp/ubuntu-20.04-live-server-amd64.iso tự động cài đặt yên tĩnh ds=nocloud-net\;s=http://${pxe_default_server}/ tftp/01-mac-address/ root=/dev/ram0 cloud-config-url=/dev/null
ban đầu / initrd
}