Bu yazıda bilgisayarı ağ üzerinden (pxe) ile başlatmayı anlatacağız. Bu yazıyı debian üzerinde atlatacağız fakat diğer dağıtımlarda da benzer şekilde uygulayabilirsiniz.
Öncelikle dnsmasq ve grub kuralım. ve tftp için gereken dizinleri oluşturalım.
$ apt install dnsmasq grub-common $ mkdir -p /srv/tftp $ grub-mknetdir --net-directory=/srv/tftp
Not: Eğer x86_64 dışı bir mimari ile (örneğin raspberry pi) çalışıyorsanız tftp dosyalarını başka bir yerde oluşturup kopyalayarak kullanabilirsiniz.
/etc/dnsmasq.d/pxe dosyamızı aşağıdaki gibi uygun şekilde dolduralım.
interface=eth0 domain=localdomain # dhcp ayarı dhcp-range=192.168.0.3,192.168.0.253,255.255.255.0,1h dhcp-boot=tag:efi-x86_64,boot/grub/x86_64-efi/core.efi dhcp-boot=tag:bios,boot/grub/i386-pc/core.0 # gateway için dhcp-host=aa:bb:cc:dd:ee:ff,192.168.0.1 dhcp-option=3,192.168.0.1 # gateway dhcp-option=6,192.168.0.1 # dns # tftp ayarı enable-tftp tftp-root=/srv/tftp # log tutmak için log-dhcp
Not: Ağda başka dhcp sağlayan aygıt bulunmamalı.
Ardından dnsmasq servisini yeniden başlatalım.
$ service dnsmasq restart
Ardından boot etmek istediğimiz çekirdeği ve initramfs imajını kopyalayalım. Debian için https://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/ adresinden ulaşabilirsiniz.
$ cp -f netboot/debian-installer/amd64/linux /srv/tftp/linux $ cp -f netboot/debian-installer/amd64/initrd.gz /srv/tftp/initrd.img
Ardından grub.cfg dosyamızı aşağıdaki gibi doldurabiliriz.
linux /linux quiet initrd /initrd.img boot
pxe boot için sunucu olarak ayarladığımız cihazı bir switch yardımı ile (veya doğrudan) bağlayarak diğer bilgisayarı ağ üzerinden başlatabilirsiniz.
Not: Ip adresini dnsmasq ayarlarında belirttiğimiz aralığa uygun şekilde sabitlememiz gerekmektedir.
Öncelikle syslogd başlatmalıyız.
$ busybox syslogd
Ardından /var/log/messages dosyasını dinleyebiliriz.
$ tail -f /var/log/messages