07.01.2013 Views

Linux i386 Önyükleme Kodu NASIL

Linux i386 Önyükleme Kodu NASIL

Linux i386 Önyükleme Kodu NASIL

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!