Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Linux</strong> <strong>i386</strong> <strong>Önyükleme</strong> <strong>Kodu</strong> <strong>NASIL</strong><br />
"gerçek kip çekirdek ba¸slı˘gı"nın bir parçası olan bootsect ta¸sıyıcı 497. konumdan ba¸slar.<br />
.org 497<br />
setup_sects: .byte SETUPSECS // tools/build tarafından üzerine yazılır<br />
root_flags: .word ROOT_RDONLY<br />
syssize: .word SYSSIZE // tools/build tarafından üzerine yazılır<br />
swap_dev: .word SWAP_DEV<br />
ram_size: .word RAMDISK<br />
vid_mode: .word SVGA_MODE<br />
root_dev: .word ROOT_DEV // tools/build tarafından üzerine yazılır<br />
boot_flag: .word 0xAA55<br />
Bu "ba¸slık" linux/Documentation/<strong>i386</strong>/boot.txt içindeki yerle¸sim örne˘giyle uyu¸smalıdır.<br />
Konum Proto ˙Isim Anlam<br />
/Boyut<br />
01F1/1 ALL setup_sects setup’ın sektör cinsinden boyutu<br />
01F2/2 ALL root_flags Sıfırdan farklı ise, kök dizin salt okunur<br />
olarak ba˘glanır<br />
01F4/2 ALL syssize KULLANMAYIN – sadece bootsect.S kullanımı için<br />
01F6/2 ALL swap_dev KULLANMAYIN – atıl oldu<br />
01F8/2 ALL ram_size KULLANMAYIN – sadece bootsect.S kullanımı için<br />
01FA/2 ALL vid_mode Video kip kontrolü<br />
01FC/2 ALL root_dev Varsayılan kök aygıt sayısı<br />
01FE/2 ALL boot_flag 0xAA55 sihirli numara<br />
3.9. Kaynakça<br />
•<br />
•<br />
•<br />
THE LINUX/I386 BOOT PROTOCOL: linux/Documentation/<strong>i386</strong>/boot.txt<br />
IA–32 Intel Architecture Software Developer’s Manual(B49)<br />
Ralf Brown’s Interrupt List(B50)<br />
belgesine bu belgede bir çok kez ba¸svuruldu˘gundan<br />
kısaca "IA–32 Kılavuzu" diyece˘gim.<br />
4. linux/arch/<strong>i386</strong>/boot/setup.S<br />
setup.S sistem verilerinin BIOS’dan alınmasından ve onların uygun bir bellek bölgesine yerle¸stirilmesinden<br />
sorumludur.<br />
GNU GRUB (B51) ve LILO (B52) gibi di˘ger önyükleyiciler de bzImage’ı yükleyebilirler. Bu tür önyükleyiciler<br />
bzImage’ı belle˘ge yüklemeli ve "gerçek–biçim çekirdek ba¸slıkları"nı kurmalıdırlar, özellikle<br />
type_of_loader; sonra denetimi bsetup’a devreder. setup.S ¸sunları varsayar:<br />
• bsetup veya setup SETUPSEG:0’a yüklenmemi¸s olabilir, örn. denetim setup.S’ye geçti˘ginde CS<br />
SETUPSEG’e e¸sit olmayabilir;<br />
• setup’ın ilk 4 sektörü bootsect’den hemen sonra yüklenir. Sıfırlama vmlinux’den önce gelecek<br />
¸sekilde SYSSEG:0’da yüklü olabilir, bu varsayım bsetup’ta etkili olmaz.<br />
4.1. Ba¸slık<br />
http://belgeler.org <strong>Linux</strong> Kitaplı˘gı 18 / 77