Netboot (Türkçe)
Netboot (Ağ önyükleme) imajları, sistem açılışı sırasında en güncel Arch Linux sürümünü anında (on the fly) internetten indirmek için kullanılabilen oldukça küçük (< 1 MiB) imajlardır. Netboot imajını sürekli güncellemeniz gerekmez; en yeni Arch sürümü ağ üzerinden otomatik olarak sunulur. Netboot imajları Arch Linux Netboot sayfasından indirilebilir.
- Canlı sistemi hafızada saklamak ve çalıştırmak için yeterli belleğe (muhtemelen 1.5GiB veya daha fazlasına) ihtiyacınız vardır, aksi takdirde açılışta kernel panic (çekirdek hatası) alabilirsiniz.
- Bu sistem çoğunlukla kablolu (Ethernet) bağlantılar için tasarlanmıştır: Wi-Fi desteği sınırlıdır ve büyük ölçüde donanım yazılımına (firmware) bağlıdır[1].
BIOS
BIOS tabanlı bir bilgisayarda netboot kullanmak için ipxe.lkrn veya ipxe.pxe imajlarından birine ihtiyacınız vardır.
ipxe.lkrn Kullanımı
ipxe.lkrn imajı, tıpkı bir Linux çekirdeği (kernel) gibi önyüklenebilir. Herhangi bir Linux önyükleyicisi (örn. GRUB veya Syslinux), bu imajı sabit diskinizden, bir CD'den veya USB sürücüden yüklemek için kullanılabilir. Örneğin Syslinux wiki sayfası, Syslinux'u önyüklenebilir bir ortama kurma[2] ve yapılandırma[3] talimatlarını içerir.
Aşağıdaki adımları takip ederek ipxe.lkrn imajını başlatan bir USB bellek hazırlayabilirsiniz:
-
lsblk komutunu kullanarak cihazınızın yolunu bulun. Bu yolun
/dev/sdcolduğunu varsayalım. - Cihaz üzerinde bir MBR bölüm tablosu (partition table) oluşturun.
- FAT32 dosya sistemine sahip bir birincil (primary) bölüm oluşturun ve bunu "aktif" (active/bootable) olarak işaretleyin.
- Bölümü bağlayın (mount), orada bir
boot/syslinuxdizini oluşturun veipxe.lkrnimajınıbootdizinine kopyalayın.
# mount /dev/sdc /mnt # mkdir -p /mnt/boot/syslinux # cp ipxe.lkrn /mnt/boot
- Syslinux yapılandırmasını oluşturun:
/mnt/boot/syslinux/syslinux.cfg
DEFAULT arch_netboot SAY Booting Arch over the network. LABEL arch_netboot KERNEL /boot/ipxe.lkrn
- Bölümü ayırın (unmount):
# umount /mnt
- Syslinux MBR'ı ve Syslinux'un kendisini kurun:
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdc # syslinux --directory /boot/syslinux/ --install /dev/sdc1
- Artık USB belleğinizi ipxe.lkrn ile başlatabilirsiniz.
Alternatif olarak, aşağıdaki komutu çalıştırarak bu imajı QEMU ile de test edebilirsiniz:
$ qemu-system-x86_64 -enable-kvm -m 2G -kernel ipxe.lkrn
ipxe.pxe Kullanımı
ipxe.pxe bir PXE imajıdır. Mevcut bir PXE ortamından zincirleme yüklenebilir (chainloaded). Bu, ağdan her önyükleme yapıldığında doğrudan Arch Linux netboot sisteminin başlamasını sağlayacak bir DHCP sunucusu yapılandırmanıza olanak tanır.
Alternatif olarak, pxelinux gibi mevcut bir pxe yükleyicisinden de zincirleme yükleme yapabilirsiniz. İşte bir menü girdisi örneği:
LABEL arch_netboot_chain COM32 pxechn.c32 APPEND ipxe.a56af4e6a9a9.pxe
Bu örneğin çalışması için pxechn.c32 dosyasının pxelinux.0 dosyanızın bulunduğu dizine kopyalanmış olması gerekir.
UEFI
Arch Linux netboot sistemini UEFI modunda başlatmak için ipxe-arch.efi imajı kullanılabilir. Yalnızca 64-bit UEFI desteklenmektedir. İmaj, efibootmgr aracılığıyla bir açılış seçeneği olarak eklenebilir, systemd-boot veya rEFInd gibi bir önyükleme yöneticisinden ya da doğrudan UEFI kabuğundan başlatılabilir. UEFI sistemlerde bunu bağımsız bir USB bellekten de başlatabilirsiniz.
efibootmgr ile Kurulum
Öncelikle efibootmgr paketini kurun. EFI sistem bölümünüzün (ESP) /dev/sdd1 olduğunu ve esp dizinine bağlandığını varsayarsak, imajı şu şekilde taşımalı ve ona daha anlaşılır bir isim vermeliyiz:
# mkdir esp/EFI/arch_netboot # mv ipxe.*.efi esp/EFI/arch_netboot/arch_netboot.efi
Ardından aşağıdaki komutla bir önyükleme girdisi oluşturabilirsiniz:
# efibootmgr --create --disk /dev/sdd --part 1 --loader /EFI/arch_netboot/arch_netboot.efi --label "Arch Linux Netboot" --unicode
USB Bellekten Başlatma
Netboot EFI ikili dosyasını (binary) bir USB bellekten başlatmak istiyorsanız, dosyayı FAT biçimli bir bölümdeki varsayılan/yedek önyükleme yoluna (/EFI/BOOT/BOOTx64.EFI) kopyalayın. Sürücü üzerinde özel bir EFI sistem bölümü oluşturulması gerekmez, çünkü tüm UEFI sistemleri USB belleklerdeki herhangi bir FAT birimini sorunsuzca başlatabilir. En uyumlu kurulum, 0c "W95 FAT32 (LBA)" türünde tek bir aktif (bootable) birincil bölüme sahip MBR bölüm tablosu kullanmak olacaktır.[4]
Bu işlemden sonra imaj, UEFI sistemler tarafından otomatik olarak yüklenmelidir.
GNU/Linux Üzerinde
Örneğin, flash sürücünün /dev/sdX olduğunu varsayarak USB belleği şu şekilde hazırlayın:
- Eğer henüz yapılmadıysa,
/dev/sdXüzerinde bir bölüm tablosu ve bir bölüm (/dev/sdXn) oluşturun. - Eğer henüz yapılmadıysa, bölümü FAT32 olarak biçimlendirin:
# mkfs.fat -F 32 /dev/sdXn
- Dosya sistemini bağlayın:
# mount /dev/sdXn /mnt
- Bağlanan dosya sisteminde bir
/EFI/BOOTdizini oluşturun:# mkdir /mnt/EFI /mnt/EFI/BOOT
-
pxe-arch.efidosyasını x64 UEFI için varsayılan önyükleme yoluna kopyalayın:# cp pxe-arch.efi /mnt/EFI/BOOT/BOOTx64.EFI
- Dosya sistemini ayırın (unmount).
Windows Üzerinde
USB belleği şu şekilde hazırlayın:
- Eğer henüz yapılmadıysa, USB belleği bölümleyin ve FAT32 olarak biçimlendirin.
- USB belleğin kök dizinine gidin, içinde bir
EFIklasörü ve buEFIklasörünün içinde de birBOOTklasörü oluşturun. -
pxe-arch.efidosyasınıEFI\BOOTklasörünün içine kopyalayın. -
pxe-arch.efidosyasının adınıBOOTx64.EFIolarak değiştirin. - İşlem bittiğinde USB belleği güvenle çıkarın.
Sorun Giderme
EFI ikili dosyasını başlatırken "device error" hatası alınması
EFI ikili dosyasını başlatmak Failed to execute ... device error hatasıyla sonuçlanıyorsa, UEFI ayarlarınızda ağ yığınının (network stack) etkinleştirildiğinden emin olun. Ağ arayüz kartının (NIC) option ROM'unun başlatılması gerekebilir; bu nedenle UEFI üzerinde "OnBoard LAN Boot ROM", "Launch PXE OpROM Policy" veya benzeri ayarları kontrol edin.