Önyükleme yapabilen CD-ROMların hazırlanması
Önceki Linux Açılış Disketi NASIL Sonraki
Önyükleme yapabilen CD-ROMların hazırlanması
Not
Bu bölüm Rizwan Mohammed Darwe (rizwan AT clovertechnologies dot com) tarafından hazırlanmıştır.
Bu bölümde, Linux'da CD yazma süreci hakkında bilginiz olduğu kabul edilmiştir. Burada anlatılanları, yazdığınız CD'leri önyükleme yapabilir hale getirmek için hızlı referans olarak kabul edin. CD yazma hakkında daha ayrıntılı bilgi elde etmek için Linux'da CD Yazımı belgesine göz atınız.
El Torito nedir?
x86 platformlarında, pek çok BIOS önyükleme yapabilen CD'leri desteklemektedir. mkisofs için yazılan yamalar "El Torito" standardını temel alır. Basitçe anlatmak gerekirse; El Torito, CD'lerin kendiliğinden sistem açılışı gerçekleştirebilmeleri için nasıl biçimlenmesi gerektiğini gösteren bir belirtimdir.
"El Torito" belirtimi, BIOS desteklediği sürece herhangi bir CDROM sürücünün çalışması gerektiğini söyler (SCSI veya IDE). Bugüne kadar, bu olay sadece EIDE CD-ROMlar ile sınanabildi, çünkü SCSI kontrolcülerin hiçbiri El Torito'yu desteklemiyordu. Anakartlar El Torito desteğine mutlaka sahip olmalıdır. Peki anakartınızın El Torito'yu desteklediğini nasıl anlarsınız? Şayet anakartınız sabit diskten, disketten, CD-ROM'dan veya ağ üzerinden başlatma seçeneğine sahip ise, El Torito'yu destekliyor demektir.
El Torito nasıl çalışır?
El Torito standartı, CD sürücüyü, BIOS'a normal disket sürücü gibi gösterir. Bu yöntemde, basitçe, bir disket boyutlu biteşlem, ISO dosya sistemine yerleştirilir (1440k'lık disket için 1440k'lık bir biteşlem dosyası). ISO dosya sisteminin başına bu biteşlemi gösteren bir gösterici yerleştirilir. BIOS bu biteşlemi, CD'den bulur ve sanki disketten açılış yapıyormuşcasına devam eder. Bu sayede çalışan bir LILO önyükleme diski elde edilmiş olur.
Kabaca söylersek; CD'nin ilk 1.44 (veya destekliyorsa 2.88) MB'lık kısmı bir disket biteşlemi içerir. Bu biteşlem, BIOS'a kendini disket sürücü diye yutturur ve sistemin açılması işlemini başlatır. Bu açılma işlemi sırasında birinci disket sürücünüz (A veya /dev/fd0) erişilmez durumda olur ama bu problemi /dev/fd1 kullanarak aşabilirsiniz.
Nasıl çalışır hale getireceğiz?
İlk olarak bir dosya oluşturacağız, diyelim ki "boot.img". Bu dosya disket biteşlemi boyutlarında olmalı: 1.44 MB. Disketin 1. sürücüde olduğunu varsayarak aşağıdaki komut işiniz görür:
# dd if=/dev/fd0 of=boot.img bs=10k count=144
Bu dosyayı iso9660 dosya sistemi hiyerarşisi içine yerleştirin. Açılış ile ilgili bütün dosyaları ilgili dizin altına (mesela iso9660fs'in kökü altında boot dizinine) yerleştirmek iyi bir fikir olabilir.
Bir yetersizlik -- Açılış disketiniz LILO üzerinden birincil ramdiski yükleyebilmelidir, çekirdek ramdisk sürücüsünü değil. Çünkü Linux çekirdeği yüklenmeye başladı mı, BIOS'a CD'yi disket olarak yutturma işlemi düşecek ve açılış gerçekleşmeyecektir. LILO, BIOS disk çağrılarını kullanarak, birincil ramdiski yükleyecek ve böylece yutturmaca tasarlandığı biçimde devam edebilecektir.
El Torito belirtimi bir "açılış kataloğu" gerektirir. Bu kullanım amacı dışında hiçbir şey ile ilgisi olmayan 2048 baytlık bir dosyadır. mkisofs'nin yazarı tarafından yapılan yama, özdevinimli olarak açılış kataloğu yapılmasını sağlayacaktır fakat bu kataloğun iso9660 dosya sistemi içinde nerede bulunacağını tanımlamak zorundasınız. Genellikle, bu kataloğu önyükleme biteşlemi ile aynı yere koymak iyi bir fikirdir. boot.catalog şekilde bir isim ise oldukça uygun olacaktır.
Böylece boot.img dosyası içinde önyükleme biteşlemini elde etmiş olduk ve bunu iso9660 dosya sistemi içindeki /boot dizinine koyduk. Kataloğumuz da, boot.catalog adı ile aynı dizine yerleştirdik.bootcd.iso içinde iso9660 dosya sistemini oluşturmak için gereken komut:
# mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso .
-b seçeneği kullanılacak önyükleme biteşlemini belirtir (dosya yolu diskteki yerine bağlı olarak değişebilir) ve -c seçeneği önyükleme kataloğunun dosyası içindir. -r seçeneği uygun dosya iyelikleri ve kipleri (mkisofs man sayfasına bakınız) oluşturacaktır. En sondaki "." işaret ise kaynakların geçerli dizinden alınacağını belirtmektedir.
Daha sonra CD'yi alışılmış yöntemler ile yakın; "önyükleme yapabilen" CD'niz artık hazır.
Win9x Önyüklenebilir CD-ROMlarının yapımı
İlk adım önyükleme biteşleminin kaynak CD'den alınmasıdır. Ancak Linux altında CD'yi sisteme bağlayıp dd ile ilk 1440k yı bir diskete ya da boot.img gibi bir dosyaya alamazsınız. Bunun yerine basitçe CD-ROM'dan açılışı yapın.
Win98 CD ile açılış yapıldıktan sonra aslında bir ramdisk olan A: istemine düşün. DOS'un diskcopy komutu ile A: biteşlemini o an için B: olarak görünen birinci disket yuvasındaki diskete kopyalayın. Bunu şu şekilde yapabilirsiniz:
diskcopy A: B:
Bu komut dd gibi çalışır. Bu yeni oluştırduğunuz diskten önyükleme yaptırarak kaynak CDROMdan yapılan bir açılış gibi bir açılış yapıldığını deneyerek görebilirsiniz. Bu disketten dd ile boot.img gibi bir dosyaya önyükleme biteşlemini aktardıktan sonra yapılacaklar yukarıda anlatılanlar ile aynıdır.
Önceki Üst Ana Başlık Sonraki
Profesyoneller nasıl yapıyor Başlangıç Sıkça Sorulan Sorular(SSS) listesi
Bir Linux Kitaplığı Sayfası