- 12.1. Önyükleme ve kök disklerimden açılış yapıyorum ama hiçbir şey olmuyor. Ne yapmalıyım?
-
- 12.2. Slackware/Debian/RedHat açılış diskleri nasıl çalışır?
-
- 12.3. Büyük boyutlu diskleri (1440K'dan büyük) nasıl kullanabilirim? Kendi disket sürücüm ile hangi boyutta disketin çalışacağını nasıl anlayabilirim?
-
- 12.4. Ramdiskimin boyutunu nasıl artırırım?
-
Bu konu metin içinde açıklansa daha iyi olurdu ama başlangıç olarak buraya kısa bir yanıt koyuyorum.
İlk olarak; bunu yapmak için rdev
veya ramsize komutlarını kullanmayın. Kılavuzların ne söylediğini boşverin. ramdisk kelimesi, artık ramdisk boyutunu tayin etmek için kullanılmamaktadır.
İkinci olarak; ramdisklerin gerçekte dinamik yapıda olduğunu unutmayın. Bir ramdisk ayarladığınız zaman, bellekte yer ayırmıyorsunuz, sadece ramdiskin ne kadar genişliyebileceğine karar vermiş oluyorsunuz. Ramdisk boyutunu büyük tutmaktan korkmayın (8 MB veya 16 MB gibi). Fiziksel bellek alanı, gerekli olmadığı sürece kullanılmaz veya boş tutulmaz. Bu ayarı çeşitli şekillerde yapabilirsiniz.
- 12.5. Önyükleme yapabilien CDROM'ları nasıl oluşturabilirim?
-
- 12.6. Önyükleme yapabilien LS-120 disklerini nasıl oluşturabilirim?
-
LS-120 bir IDE disket sürücüsüdür. Hem 3.5" lik hem de 120MB'lik yeni diskler ile uyumludur. Linux 2.0.31'den beri tam desteğe sahiptir. Bu diskler ile sistem açılışı yapabilmek için, bu diskleri sürücü 0 (IDE sürücüler normalde 80'den başlar) olarak kabul eden BIOS'lara ihtiyacınız var. Şayet BIOS desteğiniz yok ise, bu sorunu aşmak için Promise Technologies'den küçük bir IDE FloppyMAX kartı satın alabilirsiniz.
Çekirdek önyükleyicisi LS-120'yi sevmez ve anında ölür. Ayrıca 2M diskleri de onu sevmez ve önyükleme yapmaz. 1.44MB ile 1.74MB arası diskler normal çalışacaktır. SYSLINUX, sürüm 1.32'den beri 120MB'lik diskler ile anlaşabilmektedir. MS-DOS uyumu gerekmediği sürece, SYSLINUX kullanmak yerine, diski yeniden bölümlemek ve ext2 veya minix kullanmak daha uygundur.
LILO 120MB'lık diskler ile çalışabilir. Burada örnek bir lilo.conf dosyası var:
boot=/dev/hda
compact
disk=/dev/hda bios=0
install=/floppy/boot.b
map=/floppy/map
image=/floppy/linux
label=Linux
append="load_ramdisk=1"
initrd=/floppy/root.bin
ramdisk=8192
"disk=/dev/hda bios=0" satırı LS-120'den önyükleme yapılabilmesini sağlayan hileyi gerçekleştirir.
- 12.7. Bir XYZ sürücüsü ile bir açılış diskini nasıl yapabilirim?
-
En kolay yol, en yakınınızdaki bir Slackware yansısından bir Slack çekirdeği indirmektir. Slack çekirdekleri, mümkün olan en fazla sürücüye destek vermeye çalışan genel çekirdeklerdir. Şayet bir SCSI veya IDE kontrolcüsünün sürücüsüne ihtiyacınız var ise Slack çekirdeği içinde bu sürücüyü bulma ihtimaliniz göreceli olarak yüksektir.
a1 dizinine gidin ve sahip olduğunuz denetleyiciye göre IDE veya SCSI çekirdeği seçin. İstediğiniz sürücünün, bu çekirdek içinde bulunup bulunmadığını anlamak için xxxxkern.cfg dosyasını inceleyin. Şayet aradığınız sürücü bu çekirdek içinde ise, bu çekirdek sizin sisteminizi açabilmelidir. xxxxkern.tgz dosyasını indirin ve daha önce anlatıldığı şekilde açılış disketinize kopyalayın.
Daha sonra
rdev zImage komutunu kullanarak çekirdekteki kök aygıtı kontrol etmelisiniz. Şayet bu sizin istediğiniz kök aygıt değilse, değiştirmek için
rdev'i kullanın. Örneğin; düzenlemeye çalıştığım çekirdek için
/dev/sda2 idi ama benim kök SCSI bölümüm
/dev/sda8 idi. Bir kök disketini kullanabilmek için
rdev zImage /dev/fd0 komutunu kullanmanız gerekir.
Şayet bir Slack kök disketinin nasıl yapıldığını bilmek istiyorsanız, bu konu bizim NASIL'ımızın alanı dışındadır. Linux Install Guide'ı incelemenizi veya bir Slackware dağıtımı almanızı öneririm.
- 12.8. Kök disketimi yeni dosyalarla nasıl güncellerim?
-
En kolay yol, kök disketteki dosya sistemini, daha önce kullandığımız
aygıt'a (
Dosya sisteminin oluşturulması) kopyalamaktır. Daha sonra dosya sistemini bağlayın ve değişiklikleri yapın. Kök dosya sisteminizin nerede başladığını ve kaç bloktan oluştuğunu hatırlamanız gerekmekte:
# dd if=/dev/fd0 bs=1k skip=kök_başlangıcı count=blok_sayısı | gunzip > aygıt
# mount -t ext2 aygıt /mnt
Değişikleri yaptıktan sonra, daha önce tarif edildiği şekilde (
Paketleme) kök dosya sistemini diskete aktarın. Yeni kök dosya sisteminin başlangıç konumunu değiştirmemişseniz, çekirdeği tekrar aktarmanız ve ramdiski tekrar hesaplamanızda gerekmeyecektir.
- 12.9. Sistemi DOS'tan tekrar başlatabilmek için LILO'yu nasıl kaldırabilirim?
-
Aslında bu bir açılış disketi konusu değil ama oldukça sık sorulmakta. Linux'ta iken şunu yapın:
Ayrıca, LILO tarafından açılış sektörüne kaydedilmiş yedeği kopyalamak için dd komutunu kullanabilirsiniz. Bunu yapmak istityorsanız LILO belgelerine bakınız.
DOS ve Windows içinde bu DOS komutunu kullanabilirsiniz:
MBR, Master Boot Record sözcüklerinin kısaltmasıdır ve ana önyükleme kaydı anlamına gelir. Bu komut önyükleme sektörünü temiz bir tanesi ile değiştirir. Bölümleme tablosunu etkilemez. Bazı titiz insanlar bu konuda hem fikir değillerdir ama LILO yazarı Werner Almesberger bu yöntemi önerir. Oldukça kolay ve işe yarar bir yöntemdir.
- 12.10. Şayet hem çekirdeği hem de açılış disketimi kaybedersem, sistemi nasıl açabilirim?
-
Şayet elinizde bir açılış diskeri yok ise, muhtemelen en kolay yol; disk denetleyicinize uygun bir Slack çekirdeği elde etmektir. Daha sonra "XYZ sürücüsü ile bir açılış diskini nasıl yapabilirim?" sorusundaki yöntemi izleyin. Bu çekirdek ile sistemi açabilir ve hasar gören ne ise onu düzeltebilirsiniz.
İndirdiğiniz çekirdek size uyan bir kök bölüm veya kök tipi içermeyebilir. Genel olarak Slack SCSI çekirdeğinde kayıtlı kök aygıtı /dev/sda2'dir. Benin ki ise /dev/sda8 idi. Bu durumda çekirdek içinde kayıtlı kök aygıt değiştirilmelidir.
Bütün sahip olduğunuz bir çekirdek veya başka bir işletim sistemi olsa bile (örneğin DOS), çekirdek içinde kayıtlı kök aygıt ayarını değiştirme imkanınız hala var.
rdev, çekirdek dosyası içindeki sabit bayt konumlarındaki verileri değiştirerek, çekirdek ayarlarını değiştirir. Bu yöntemle, elinizdeki sistem ne olursa olsun bir onaltılık düzenleyici ile istediğiniz değişiklikleri yapabilirsiniz. Örneğin DOS altında Norton Utilities Disk Editor'ü kullanabilirsiniz. Daha sonra gerekli değişiklikleri çekirdek içinde yapın:
16'lık Onluk Açıklama
0x01F8 504 RAMDISK sözcüğünün düşük baytı
0x01F9 505 RAMDISK sözcüğünün yüksek baytı
0x01FC 508 Kök aygıtın alt aygıt numarası - aşağıya bakınız
0X01FD 509 Kök aygıtın ana aygıt numarası - aşağıya bakınız
Bağlamak istediğiniz aygıtın minör ve major aygıt numaraları uygun şekilde değiştirilmelidir. Aşağıda bazı yararlı değerleri bulabilirsiniz:
AYGIT ANA ALT
/dev/fd0 2 0 1. disket yuvası
/dev/hda1 3 1 1. IDE sürücünün 1. bölümü
/dev/sda1 8 1 1. SCSI sürücünün 1. bölümü
/dev/sda8 8 8 1. SCSI sürücünün 8. bölümü
Bu değerleri düzenledikten sonra, bu dosyayı Norton Utilities Disk Editor veya rawrite.exe yazılımını kullanarak diskete yazabilirsiniz. Bu yazılım bütün dağıtımların içinde bulunur. Bu yazılım, dosya sistemi yerine açılış sektöründen başlayarak "ham" disk üzerine yazabilen bir DOS yazılımıdır. Şayet Norton araçlarını kullanıyorsanız, dosyayı fiziksel diske, diskin başlangıç noktasından başlayarak yazmanız gerekir.
- 12.11.
Önyükleme ve kök disketlerimin kopyalarını nasıl alabilirim?
-
Manyetik araçlar zamanla bozulduğu için, kurtarma setinizin bir kopyasını saklamak iyi bir fikir olacaktır.
Bunu yapmanın en kolay yolu, disketleri dd komutu ile diskteki bir dosyaya kopyalamak ve daha sonra aynı komutla diskten diskete kopyalamaktır. Bu işlem esnasında disketi bağlamak zorunda değilsiniz, çünkü dd ham aygıt arayüzünü kullanır.
Disketi diske kopyalamak için:
# dd if=aygıt_adı of=dosya_adı
Burada aygıt_adı disketin aygıt adı ve dosya_adı disketin içeriğinin kopyalanacağı sabit diskteki dosyanın adıdır. Komut count parametresi olmaksızın kullanılarak dd'nin bütün disketi olduğu gibi kopyalaması sağlanır.
Yeni bir diskete kopyalamak için, disket sürücüye boş bir disket yerleştirin ve:
# dd if=dosya_adı of=aygıt_adı
Bu açıklamalar, sadece bir adet disket sürücünüz olduğu varsayılarak yapılmaktadır. Şayet iki adet disket sürücünüz varsa:
# dd if=/dev/fd0 of=/dev/fd1
- 12.12. Her seferinde “ahaxxxx=nn,nn,nn” yazmadan nasıl açılış yapabilirim?
-
Bir disk aygıtı özdevinimli olarak saptanamadığı için çekirdeğe aygıt parametrelerini gösteren bir dizge verilmesi gereklidir:
Bu parametre dizgesi LILO içine çeşitli şekillerde yazılabilir:
-
Sistem LILO üzerinde açılırken, komut satırına her seferinde yazarak. Oldukça sıkıcı olsa gerek.
-
LILO'nun lock anahtar sözcüğünü kullanarak bu satırı öntanımlı komut satırı haline getirerek. Böylece LILO her açılışta bu parametreyi kullanacaktır.
-
LILO ayar dosyası içinde append="ifade" şeklinde kullanarak. ifade'nin çift tırnak ile kapatılmış olduğuna dikkat ediniz.
Örneğin, yukarıdaki parametre dizgesini kullanan bir komut satırı şu şekilde olurdu:
zImage aha152x=0x340,11,3,1 root=/dev/sda1 lock
Bu, aygıt parametre dizgesini geçecekti ve ayrıca çekirdeğin kök aygıtı /dev/sda1 olarak ayarlamasını isteyecek ve bütün satırı kaydedip, sonraki açılışta tekrar kullanmasını sağlayacaktır.
Örnek bir APPEND ifadesi:
APPEND = "aha152x=0x340,11,3,1"
EK BİLGİ: parametre dizgesi komut satırında çift tırnak alınmaz ama APPEND için kullanırken mutlaka çift tırnağı kullanmanız gerekmektedir.
Ayrıca yürütülen parametre dizgesi için, çekirdekte uygun türde sürücü bulunmalıdır. Şayet bulunamaz ise, parametre dizgesini sözünü dinleyecek hiçbir şey olmayacak demektir. Bu nedenle çekirdeği, bu sürücü desteği ile tekrar derlemeniz gerekecektir. Çekirdek derlemenin ayrıntıları için /usr/src/linux içine bakınız ve README'yi okuyunuz. Linux SSS'yi ve Kurulum NASIL'ı okuyun. Bundan başka, istediğiniz sürücüye sahip genel bir çekirdek alabilir ve onu yükleyebilirsiniz.
LILO'yu yüklemeye kalkmadan önce kullanıcıların LILO belgelerini okumaları şiddetle önerilir. Hatalı kullanımlar bölümlere zarar verebilir.
- 12.13. Açılış esnasında, bir hata alıyorum: “A: B'yi çalıştıramıyor”. Niye?
-
Yerleri çeşitli araçlara sabit kodlanmış uygulamalar bu soruna sebep olabilir. Bu her zaman olmayabilir ama sisteminizde görebildiğiniz halde çalışmayan bir uygulamanın çalışmama sebebini bu şekilde açıklamak mümkün olabilir. İstenilen yazılımın başka bir tanesine sabit kodlanmış olup olmadığını görmek için: çıktısı
grep'e borulanan
strings komutu işe yarayabilir.
Yerlerinin değişmeyeceği varsayılan uygulamalardan örnekler:
- shutdown bazı sürümlerde /etc/reboot'a sabit kodlanmıştır. Bu durumda reboot/etc dizini altında olmak zorundadır.
- init en azından bir kişi için, sorun çıkardı, çekirdek init'i bulamadı.
Bu sorunları aşmak için ya dosyaları olmaları gereken yerlere taşıyın ya da ayar dosyalarını (örneğin: inittab) düzeltin. Şayet iki arada bir derede kalmışsanız, bu dosyaları sabit diskinizde bulundukları yerlere koyun ve sabit diskinizdeki inittab ve /etc/rc.d dosyalarını kullanın.
- 12.14. Çekirdeğim ramdisk desteğine sahip ama ramdisk başlangıç boyutu olarak 0 kB. Neden?
-
Bunun olduğu yerde, çekirdek yüklenirken aşağıdakine benzer bir çekirdek iletisi görüntülenir:
Ramdisk driver initialized : 16 ramdisks of 0K size
Bunu muhtemel sebebi, önyükleme sırasında çekirdek parametreleri tarafından ramdisk boyutunun 0 kB olarak ayarlanmış olmasıdır. LILO yapılandırma parametrelerinde gözden kaçırdığımız bir şey olması da muhtemeldir:
Bazı eski dağıtımların LILO ayar dosyalarında bu satır bbulunmaktadır. Bu satır daha önceden verilmiş çekirdek parametrelerini yoksayar. Buna benzer bir satır ayar dosyasında var ise, o satırı silin.
EK BİLGİ: Şayet 0 boyutlu bir ramdisk kullanmaya kalkarsanız, bu davranış manasız olacağı için, çekirdek panik verebilir.