- Katılım
- 23 Kas 2022
- Konular
- 106
- Mesajlar
- 801
- Online süresi
- 26g 47711s
- Reaksiyon Skoru
- 260
- Altın Konu
- 0
- Başarım Puanı
- 121
- Yaş
- 46
- TM Yaşı
- 3 Yıl 4 Ay 29 Gün
- MmoLira
- 4,158
- DevLira
- 33
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Bölüm 9. FreeBSD Çekirdeğini Yapılandırma
9.1. özet
Çekirdek, FreeBSD işletim sisteminin çekirdeğidir. Belleği yönetmek, güvenlik kontrollerini uygulamak, ağ iletişimi, disk erişimi ve çok daha fazlasından sorumludur. FreeBSD'nin çoğu dinamik olarak yapılandırılabilir olsa da, özel bir çekirdeğin yapılandırılması ve derlenmesi hâlâ zaman zaman gereklidir.Bu bölümü okuduktan sonra şunları bileceksiniz:
- Özel bir çekirdek ne zaman oluşturulur?
- Donanım envanteri nasıl alınır?
- Bir çekirdek yapılandırma dosyası nasıl özelleştirilir.
- Yeni bir çekirdek oluşturmak ve oluşturmak için çekirdek yapılandırma dosyası nasıl kullanılır?
- Yeni çekirdek nasıl kurulur?
- İşler ters giderse nasıl sorun giderilir.
9.2. Neden Özel Bir Çekirdek Oluşturmalısınız?
Geleneksel olarak FreeBSD yekpare bir çekirdek kullanıyordu. Çekirdek büyük bir programdı, sabit bir aygıt listesini destekliyordu ve çekirdeğin davranışını değiştirmek için kişinin derlemesi ve ardından yeni bir çekirdeğe yeniden başlatılması gerekiyordu.Bugün, FreeBSD çekirdeğindeki işlevlerin çoğu, gerektiğinde çekirdeğe dinamik olarak yüklenebilen ve kaldırılabilen modüllerde yer almaktadır. Bu, çalışan çekirdeğin hemen yeni donanıma uyum sağlamasına ve yeni işlevlerin çekirdeğe getirilmesine olanak tanır. Bu, modüler çekirdek olarak bilinir.
Bazen, hala statik çekirdek yapılandırması yapmak gerekir. Bazen ihtiyaç duyulan işlevsellik çekirdeğe o kadar bağlıdır ki, dinamik olarak yüklenemez. Bazı güvenlik ortamları, çekirdek modüllerinin yüklenmesini ve kaldırılmasını engeller ve yalnızca gerekli işlevlerin çekirdeğe statik olarak derlenmesini gerektirir.
Özel bir çekirdek oluşturmak, genellikle ileri düzey BSD kullanıcıları için bir geçit törenidir. Bu süreç zaman alıcı olmakla birlikte FreeBSD sistemine faydalar sağlayabilir. Geniş bir donanım yelpazesini desteklemesi gereken GENERIC çekirdeğin aksine , özel bir çekirdek yalnızca o bilgisayarın donanımını desteklemek için ayrılabilir. Bunun aşağıdakiler gibi bir dizi faydası vardır:
- Daha hızlı önyükleme süresi. Çekirdek yalnızca sistemdeki donanımı inceleyeceğinden, sistemin önyükleme süresi kısalabilir.
- Daha düşük bellek kullanımı. Özel bir çekirdek, kullanılmayan özellikleri ve aygıt sürücülerini çıkararak genellikle GENERIC çekirdeğinden daha az bellek kullanır. Bu önemlidir, çünkü çekirdek kodu her zaman fiziksel bellekte yerleşik olarak kalır ve bu belleğin uygulamalar tarafından kullanılmasını engeller. Bu nedenle, az miktarda RAM'e sahip bir sistemde özel bir çekirdek kullanışlıdır.
- Ek donanım desteği. Özel bir çekirdek, GENERIC çekirdeğinde bulunmayan aygıtlar için destek ekleyebilir .
Çekirdek modülleri /boot/kernel içinde bulunur ve çalışan çekirdeğe
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
kullanılarak dinamik olarak yüklenebilir . Çoğu çekirdek sürücüsünün yüklenebilir bir modülü ve kılavuz sayfası vardır. Örneğin,
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
kablosuz ağ sürücüsünün kılavuz sayfasında aşağıdaki bilgiler bulunur:Alternatively, to load the driver as a module at boot time, place the
following line in
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
:if_ath_load="YES"
if_ath_load="YES"/boot/loader.conf'a eklemek, bu modülü önyükleme sırasında dinamik olarak yükleyecektir.
Bazı durumlarda, /boot/kernel içinde ilişkili bir modül yoktur . Bu çoğunlukla belirli alt sistemler için geçerlidir.
9.3. Sistem Donanımını Bulma
Çekirdek yapılandırma dosyasını düzenlemeden önce, makinenin donanımının bir envanterinin çıkarılması önerilir. Çift önyüklemeli bir sistemde envanter diğer işletim sisteminden oluşturulabilir. Örneğin, Microsoft®'un Aygıt Yöneticisi kurulu aygıtlarla ilgili bilgiler içerir.| Microsoft® Windows®'un bazı sürümlerinde, Aygıt Yöneticisi'ne erişmek için kullanılabilecek bir Sistem simgesi bulunur. |
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
FreeBSD'deki çoğu aygıt sürücüsünün, o sürücü tarafından desteklenen donanımı listeleyen bir kılavuz sayfası vardır. Örneğin, aşağıdaki satırlar
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
sürücüsünün bir fare bulduğunu gösterir:psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0
Bu donanım mevcut olduğundan, bu sürücü özel bir çekirdek yapılandırma dosyasından kaldırılmamalıdır.
Çıktısı, önyükleme araştırması çıktısının sonuçlarını göstermiyorsa, bunun yerine /var/run/dmesg.bootdmesg içeriğini okuyun .
Donanım bulmak için başka bir araç , daha ayrıntılı çıktı sağlayan
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
aracıdır . Örneğin:% pciconf -lv
ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212 Atheros AR5212 802.11abg wireless'
class = network
subclass = ethernet
Bu çıktı, a sürücüsünün bir kablosuz Ethernet aygıtı bulduğunu gösterir .
-kYararlı bilgiler sağlamak için man
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
bayrağı kullanılabilir. Örneğin, belirli bir cihaz markasını veya adını içeren kılavuz sayfalarının bir listesini görüntülemek için kullanılabilir:# man -k Atheros
ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)
Donanım envanteri listesi oluşturulduktan sonra, özel çekirdek yapılandırması düzenlenirken kurulu donanıma ait sürücülerin kaldırılmadığından emin olmak için bu listeye bakın.
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Paylaşım için teşekkürler.
- Katılım
- 23 Kas 2022
- Konular
- 106
- Mesajlar
- 801
- Online süresi
- 26g 47711s
- Reaksiyon Skoru
- 260
- Altın Konu
- 0
- Başarım Puanı
- 121
- Yaş
- 46
- TM Yaşı
- 3 Yıl 4 Ay 29 Gün
- MmoLira
- 4,158
- DevLira
- 33
9.4. Yapılandırma Dosyası
Özel bir çekirdek yapılandırma dosyası oluşturmak ve özel bir çekirdek oluşturmak için, önce tam FreeBSD kaynak ağacı kurulmalıdır./usr/src/ yoksa veya boşsa, kaynak kurulmamıştır.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
bölümündeki talimatlar kullanılarak Git ile yüklenebilir .Kaynak yüklendikten sonra, /usr/src/sys içeriğini gözden geçirin . Bu dizin, aşağıdaki desteklenen mimarileri temsil edenler de dahil olmak üzere bir dizi alt dizin içerir: amd64 , i386 , powerpc ve sparc64 . Belirli bir mimarinin dizinindeki her şey, yalnızca o mimariyle ilgilidir ve kodun geri kalanı, tüm platformlarda ortak olan makineden bağımsız koddur. Desteklenen her mimarinin, o mimari için GENERIC çekirdek yapılandırma dosyasını içeren bir conf alt dizini vardır .
GENERIC üzerinde düzenleme yapmayın . Bunun yerine, dosyayı farklı bir ada kopyalayın ve kopyada düzenlemeler yapın. Sözleşme, tümü büyük harflerle bir ad kullanmaktır. Farklı donanımlara sahip birden fazla FreeBSD makinesini korurken, makinenin ana bilgisayar adından sonra adlandırmak iyi bir fikirdir. Bu örnek, mimari için GENERIC yapılandırma dosyasının MYKERNEL adlı bir kopyasını oluşturur :amd64
# cd /usr/src/sys/amd64/conf
# cp GENERIC MYKERNEL
MYKERNELASCII artık herhangi bir metin düzenleyiciyle özelleştirilebilir . Varsayılan düzenleyici vi'dir, ancak yeni başlayanlar için daha kolay bir düzenleyici olan ee de FreeBSD ile yüklenir.
Çekirdek yapılandırma dosyasının biçimi basittir. Her satır, bir cihazı veya alt sistemi temsil eden bir anahtar sözcük, bir bağımsız değişken ve kısa bir açıklama içerir. a'dan sonraki herhangi bir metin #yorum olarak kabul edilir ve dikkate alınmaz. Bir aygıt veya alt sistem için çekirdek desteğini kaldırmak içi#yorumaygıtı veya alt sistemi temsil eden satırın başına bir koyun. #Anlamadığınız herhangi bir satıra ekleme veya çıkar#o yapmayınız .
| Bir cihaz veya seçenek için#Anlamadığınız ve bozuk bir çekirdekle sonuçlanmak kolaydır. Örneğin, çekirdek yapılandırma dosyasından
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
ATA sürücüsü kaldırılırsa, disk sürücülerini kullanan bir sistem önyükleme yapamayabilir. Şüpheye düştüğünüzde, desteği çekirdekte bırakın. |
| Çekirdek yapılandırma dosyasını özelleştirmeyi bitirdiğinizde, bir yedek kopyayı /usr/src dışındaki bir konuma kaydedin . Alternatif olarak, çekirdek yapılandırma dosyasını başka bir yerde tutun ve dosyaya sembolik bir bağlantı oluşturun: # cd /usr/src/sys/amd64/conf # mkdir /root/kernels # cp GENERIC /root/kernels/MYKERNEL # ln -s /root/kernels/MYKERNEL |
GENEL dahil
kimlik MYKERNEL
seçenekler IPGÜVENLİK DUVARI
seçenekler DUMMYNET
seçenekler IPFIREWALL_DEFAULT_TO_ACCEPT
seçenekler
Bu yöntemi kullanarak, yerel yapılandırma dosyası bir GENERIC çekirdeğinden yerel farklılıkları ifade eder . Yükseltmeler yapıldıkça, GENERIC'e eklenen yeni özellikler, veyanooptions kullanılması özellikle engellenmedikçe yerel çekirdeğe de eklenecektir nodevice.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
içinde bulunabilir .| Mevcut tüm seçenekleri içeren bir dosya oluşturmak için aşağıdaki komutu şu şekilde çalıştırın root: # cd /usr/src/sys/arch/conf && make LINT |
9.5. Özel Çekirdek Oluşturma ve Kurma
Özel yapılandırma dosyasındaki düzenlemeler kaydedildikten sonra, çekirdeğin kaynak kodu aşağıdaki adımlar kullanılarak derlenebilir:Prosedür: Çekirdek Oluşturma
- Bu dizine değiştir:
# cd /usr/src
- Özel çekirdek yapılandırma dosyasının adını belirterek yeni çekirdeği derleyin:
# make buildkernel KERNCONF=MYKERNEL
- Belirtilen çekirdek yapılandırma dosyasıyla ilişkili yeni çekirdeği kurun. Bu komut, yeni çekirdeği /boot/kernel/kernel dizinine kopyalayacak ve eski çekirdeği /boot/kernel.old/kernel konumuna kaydedecektir :
# make installkernel KERNCONF=MYKERNEL
- Sistemi kapatın ve yeni çekirdeğe yeniden başlatın. Bir şeyler ters giderse,
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.bölümüne bakın .
Örneğin, bu değişken tüm modülleri oluşturma varsayılanını kullanmak yerine oluşturulacak modüllerin listesini belirtir:
MODULES_OVERRIDE = Linux acpi'si
Alternatif olarak, bu değişken derleme sürecinden hangi modüllerin hariç tutulacağını listeler:
WITHOUT_MODULES = linux acpi sesi
Ek değişkenler mevcuttur.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
e bakın .
- Katılım
- 23 Kas 2022
- Konular
- 106
- Mesajlar
- 801
- Online süresi
- 26g 47711s
- Reaksiyon Skoru
- 260
- Altın Konu
- 0
- Başarım Puanı
- 121
- Yaş
- 46
- TM Yaşı
- 3 Yıl 4 Ay 29 Gün
- MmoLira
- 4,158
- DevLira
- 33
9.6. Bir şey ters giderse
Özel bir çekirdek oluştururken meydana gelebilecek dört sorun kategorisi vardır:configbaşarısız
Başarısız olursa config, yanlış olan satır numarasını yazdırır. Örnek olarak, aşağıdaki mesaj için, 17. satırın GENERIC veya NOTES ile karşılaştırarak doğru yazıldığından emin olun :
config: line 17: syntax error
makebaşarısız
Başarısız olursa , bunun nedeni genellikle çekirdek yapılandırma dosyasındaki yakalanacak makekadar şiddetli olmayan bir hatadır . configYapılandırmayı gözden geçirin ve sorun belirgin değilse, çekirdek yapılandırma dosyasını içeren
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 0
- Görüntüleme
- 19
- Cevaplar
- 1
- Görüntüleme
- 416
- Cevaplar
- 2
- Görüntüleme
- 27



