Debian GNU Linux'un Ağ Üzerinden Kurulması pxelinux

Debian Türkiye sitesinden

Üzerinde işletim sistemi kurabilmeniz için ne cdrom, ne floppy, ne de usb disk’ten boot edebilecek bir bios’u olmayan bir makine ile karşılaşırsanız ve üzerine linux kurmaya karar verirseniz ne yaparsınız ?

1. Makinenin hard diskini söker, normal bir makine ye bağlar (eğer bağlayacığınız disk bir laptop diski ise bir çevirici de bulmanız gerekiyor) ve sistemi orada kurduktan sonra makinenize geri takar ve gerekli ayarlamaları yaptıktan sonra sistemi kullanırsınız. 2. Pxe adı verilen teknoloji harikası bir protokol kullanırsınız.-tabii bu iş için, pxe protokolünü destekleyen bir ethernet kartınız olmalı; bir çok kartta mevcuttur-. Sistemi, bağlı olduğu bir ağda, ağ üzerinden boot edebilecek şekilde ayarlar, başka bir makineye bir TFTP sunucusu kurar ve sistemin açılması için gerekli kernel image’ini buradan almasını sağlarsınız.

Peki nasıl olacak ?

Kurulum için Debian/GNU Linux’u tercih ettik. Bunun sebebi; Debian GNU/Linux ‘un internet üzerinden rahatlıkla güncellenebiliyor olması. Üzerinde cd-rom ya da floppy bulunmayan bir makine üzerine paket kurmak ta zor olacağı için, internet üzerinden paketleri inidirip kurabilme yeteneğine sahip APT sistemini kullanan Debian GNU/Linux en iyi seçenek gibi gözüküyor.

Kurulum dosyalarını, kurulacak makineye sunacak makine üzerinde olması gerekenler;

1.dhcpd (DHCP sunucu yazılımı) 2.syslinux (linux açılış yükleyicisi) 3.tftp-hpa (ftp sunucu) 4.pxe rom dosyaları (boot edecek makineye gönderilecek dosyalar)

Adım 1

Bu paketleri mevcut debian makinenize kurmak için; (bu makine yeni kurulacak makineye dosya sunuculuğu ve boot sırasında kullanacağı pxe rom dosyasını temin edecek)

  1. apt-get install dhcp3-common dhcp3-server tftpd-hpa syslinux

Komutunu girmeniz yeterli olacaktır.

Adım 2

Kullanmak istediğiniz herhangi bir Debian sürümüne ait kernel imagelerini, sürüm CD si içerisinde bulabilirsiniz.Ya da debian ftp sunucusundan;

ftp.debian.org/debian/dists/woody/main/disks-i386/current/bf2.4/linux.bin ftp.debian.org/debian/dists/woody/main/disks-i386/current/images-1.44/bf2.4/root.bin

dosyalarını çekmeniz yeterli olacaktır. Daha sonraki işlemler;

  1. mkdir /tftpboot
  2. cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

“tftpboot�? adlı dizin boot için karşı makinenin çekeceği dosyaları içerecek. Bu dosyaların en önemlileri olan, debian ftp sunucusundan indirmiş olduğunuz kernel image ‘lerini de (“linux.bin�? ve “root.bin�?)bu dizine kopyalamalısınız;

  1. cp /imageler_nerde_ise/linux.bin /tftpboot/
  2. cp /imageler_nerde_ise/root.bin /tftpboot/

Adım 3

Şimdi de PXELINUX’ u konfigure etmemiz gerekiyor; bunu için yine "/tftpboot" dizini altında "pxelinux.cfg" adında bir dizin oluşturuyoruz;

  1. mkdir /tftpboot/pxelinux.cfg

Bu dizinin altına, herhangi bir metin editörü ile (pico,nano,vi ..) "default" adında bir dosya oluşturup bu dosya içerisine şu satırları ekliyorsunuz;

PROMPT 1 LABEL pxe KERNEL linux.bin APPEND initrd=root.bin flavor=bf2.4 IPAPPEND 1

Bu dosya içerisindeki “KERNEL�? ve “APPEND�? satırlarının karşılarındaki değerlerin, kullanacağınız kernel imagelerine göre değiştirilmeleri gerektiğini unutmayın.

Adım 4

"/etc/inetd.conf" ya da "/etc/xinetd.conf" içerisinde "tftp" server 'ın düzgün çalışması için aşağıdaki satırın varlığını kontrol etmelisiniz;

tftp dgram udp wait root /usr/sbin/in.tftpd -s /tftpboot -r blksize

Adım 5

Debian GNU/Linux kurulacak makinenin boot sırasında ip alacağı dhcp sunucunun ayarlarını yapmak kaldı. Gerekli dhcp sunucu ayarları için;

/etc/dhcpd.conf

dosyasına aşağıdaki satırları eklemeniz yeterli olacaktır;

host pxeinstall { filename "pxelinux.0"; }

yalnız, bu ayarlar ile bu makineden ip isteğinde bulunan bütün makinelere pxe boot isteği yapıyormuş gibi cevap verilir. Bunu engellemek ve sadece kurulacak makine için bu isteği göndermek istiyorsanız bu ayar;

host pxeinstall { hardware ethernet [buraya-mac-adresi-yazılacak-boşluk-bırakmadan]; filename "pxelinux.0"; }

şeklinde olmalıdır. "hardware ethernet [];" seçeneğine parametre olarak kurulacak makinenin mac adresi boşluk bırakmadan yazılmalıdır. "filename" satırı da "/tftpboot" dizini içerisinde bulunan boot için kullanılacak olan dosyayı temsil etmektedir. Tabi ki dhcp sunucu için gerekli olan ayarların da yapılmış olması gerekir. Örnek bir "dhcpd.conf" dosyası aşağıdaki gibi olmalıdır;

option domain-name "hede-hodo.com"; //makine adı -gerekli değil- option domain-name-servers 62.248.113.53, 212.156.4.6, 212.156.4.7; //ip alacak makineye gönderilecek dns makine listesi subnet 192.168.1.0 netmask 255.255.255.0 //192.168.1.0 ağı üzerinden ip dağıtacak { range 192.168.1.101 192.168.1.200; //verilecek ip aralıkları 101 ile 200 arasında option routers 192.168.1.1; //ip alacak makineye gönderilecek gateway makine ip'si next-server 192.168.1.3; //bu satır tftp sunucu ile dhcp sunu farklı makineler ise önemli filename "pxelinux.0"; //boot için kullanılacak dosya }

Adım 6

"dhcp" sunucu "tftp" sunucuyu tekrar başlatın;

  1. /etc/init.d/tftpd restart
  2. /etc/init.d/dhcpd restart
  3. killall –HUP inetd

Daha sonra da kurmak istediğiniz makinenin BIOS ayarlarında "PXE BOOT = Enable" durumuna getirin ve makineyi başlatın. Bu sırada kurulum yapılacak makinede arka planda şu senaryo canlanacaktır;

>Git dhcp sunucu bul > Evet - Hayır ? >>Hayır : "İptal dhcp sunucu bulunamadı !" - işi bitir - makine yeniden başlar. >>Evet : Ip iste; PXE Rom File var mı ? Evet – Hayir ? >>>Hayır : "İptal pxe rom bulunamadı !" - işi bitir - makine yeniden başlar. >>>Evet : Rom’u yükle Sistem açıldı ...

Daha sonraki işlemler standart bir Debian GNU/Linux kurulumu içerisine giriyor. Tabi ki de kurulum kaynağı olarak “internet�? seçili olmalı.

Standart bir kurulum için gerekli bilgiye;

http://www.debian.org/releases/stable/i386/install

adresinden ulaşabilirsiniz.

Linkler : [1] http://www.debianplanet.com/node.php?id=818 [2] http://www.dhcp.org/ [3] http://syslinux.zytor.com/ [4] http://www.kernel.org/pub/software/network/tftp/