You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Linux</strong> <strong>i386</strong> <strong>Önyükleme</strong> <strong>Kodu</strong> <strong>NASIL</strong><br />
A¸sa˘gıdaki bütün hedefler linux/Makefile’ının vmlinux hedefine ba˘gımlıdır. Bunlar,<br />
linux/arch/<strong>i386</strong>/boot/Makefile içinde bazı seçenekler ile ilgili hedefler olu¸sturarak yapılır.<br />
Hedef Komut<br />
linux/arch/<strong>i386</strong>/Makefile içindeki hedefler<br />
zImage (1) @$(MAKE) –C arch/<strong>i386</strong>/boot zImage (2)<br />
bzImage @$(MAKE) –C arch/<strong>i386</strong>/boot bzImage<br />
zlilo @$(MAKE) –C arch/<strong>i386</strong>/boot BOOTIMAGE=zImage zlilo<br />
bzlilo @$(MAKE) –C arch/<strong>i386</strong>/boot BOOTIMAGE=bzImage zlilo<br />
zdisk @$(MAKE) –C arch/<strong>i386</strong>/boot BOOTIMAGE=zImage zdisk<br />
bzdisk @$(MAKE) –C arch/<strong>i386</strong>/boot BOOTIMAGE=bzImage zdisk<br />
install @$(MAKE) –C arch/<strong>i386</strong>/boot BOOTIMAGE=bzImage install<br />
Bu makefile’ın linux/Makefile tarafından ihraç edilen bazı çevre de˘gi¸skenlerini yeniden tanımlaması önemlidir.<br />
Özellikle:<br />
OBJCOPY=$(CROSS_COMPILE)objcopy –O binary –R .note –R .comment –S<br />
Etki, altdizindeki makefile’lara geçecek ve aracın davranı¸sı de˘gi¸secektir. objcopy komut satırı seçeneklerinin<br />
ayrıntıları için GNU Binary Utilities: objcopy (B18) ’ye bakınız.<br />
$(LIBS)’in niçin "$(TOPDIR)/arch/<strong>i386</strong>/lib/lib.a"’yı iki defa içerdi˘gi belli de˘gildir.<br />
LIBS := $(TOPDIR)/arch/<strong>i386</strong>/lib/lib.a $(LIBS) $(TOPDIR)/arch/<strong>i386</strong>/lib/lib.a<br />
Bazı araç dizileri ile ortaya çıkan ilintileme sorunları üzerinde çalı¸stırmak için olabilir.<br />
2.4. linux/arch/<strong>i386</strong>/boot/Makefile<br />
linux/arch/<strong>i386</strong>/boot/Makefile ne linux/arch/<strong>i386</strong>/Makefile içerisine ne de<br />
linux/Makefile içerisine dahil edilmedi˘gi için biraz daha ba˘gımsızdır.<br />
Bununla birlikte biraz ili¸ski vardır:<br />
• linux/Makefile: yerle¸sik çekirdek görüntüsü linux/vmlinux’u üretir;<br />
• linux/arch/<strong>i386</strong>/boot/Makefile: önyükleme kodunu üretir;<br />
• linux/arch/<strong>i386</strong>/Makefile: linux/vmlinux’un önyükleme kodu olu¸sturulmadan önce hazır<br />
oldu˘gunu kontrol eder ve hedefleri linux/Makefile’a ihraç eder (bzImage gibi).<br />
zdisk, zlilo veya zdisk hedefleri için gereken $(BOOTIMAGE) de˘geri<br />
linux/arch/<strong>i386</strong>/Makefile’dan gelir.<br />
Hedef Komut<br />
linux/arch/<strong>i386</strong>/boot/Makefile içindeki hedefler<br />
zImage $(OBJCOPY) compressed/vmlinux compressed/vmlinux.out<br />
tools/build bootsect setup compressed/vmlinux.out $(ROOT_DEV) > zImage<br />
bzImage $(OBJCOPY) compressed/bvmlinux compressed/bvmlinux.out<br />
tools/build –b bbootsect bsetup compressed/bvmlinux.out $(ROOT_DEV) \<br />
> bzImage<br />
zdisk dd bs=8192 if=$(BOOTIMAGE) of=/dev/fd0<br />
http://belgeler.org <strong>Linux</strong> Kitaplı˘gı 8 / 77