FreeBSD ile Embedded Sistem Uygulamaları Özkan KIRIK Genel Müdür
Gömülü (Embedded) Sistemler Özel bir amaca hizmet eden, kontrol sistemi içerisinde mikroişlemci / mikrodenetleyici barındıran sistemlerdir. Önceden belirlenmiş bazı görevleri yerine getirirler. Özkan KIRIK Genel Müdür
Karşılaşılan Sorunlar Bişeylerin log dosyasının rotate edilmemesi Disklerin bozulması ve ısı yayması Fanların bozulması Özkan KIRIK Genel Müdür
Güç Tüketimi Makine Watt/Saat kWatt/Yıl Sunucu 500 4380 Workstation 400 3504 Masaüstü PC ler 300 2628 Mini-ITX 60 525,6 Özel Çözümler 4-8 35-70 Özkan KIRIK Genel Müdür
Embedded Sistemlerde FreeBSD Kullanımı NanoBSD Nedir? NanoBSD sadece FreeBSD dir. FreeBSDnin kod ağacından derlenir. Eksik özelliği yoktur. Portlar / paketler her zaman çalıştıkları gibi çalışır. Eğer bir işi FreeBSD ile yapabiliyorsanız, NanoBSD ile de yapabilirsiniz. Özkan KIRIK Genel Müdür
NanoBSD’nin Özellikleri Sistem çalışırken, herşey Read-Only’dir. Siz kaldırmadığınız sürece eksik özellik yoktur. Rahatlıkla sistemi fişten çekebilirsiniz. Sonraki açılışta açılacak Boot kodu seçimi imkanı. Özkan KIRIK Genel Müdür
NanoBSD İmajı Oluşturma NanoBSD imajı oluşturabilmek için FreeBSD’nin kod ağacını da yüklemiş olmalısınız. Eğer yüklü değilse, sysinstall yazılımı ile CD’den yükleyin. İnternetten kodları çekerseniz, oluşacak olan imajın sürümü farklı olabilir. İmaj oluşturmak için: # cd /usr/src/tools/tools/nanobsd # sh nanobsd.sh # cd /usr/obj/nanobsd.full # dd if=_.disk.full of=/dev/da0 bs=64k Özkan KIRIK Genel Müdür
NanoBSD’yi Özelleştirmek NanoBSD’yi kendinize göre özelleştirmek için bir konfigurasyon dosyası yaratarak, nanobsd scriptine bu dosyayı gösteriyoruz. Örneğin: # cd /usr/src/tools/tools/nanobsd # cat > ePatiConf.nano NANO_NAME=ePati CONF_WORLD=‘NO_CXX=YES’ NANO_KERNEL=ePatiKernel FlashDevice Sandisk 512M ^D # sh nanobsd.sh –c ePatiConf.nano Özkan KIRIK Genel Müdür
NanoBSD Depolama Planlaması boot0 1. Kod /cfg boot0 1. Kod 2. Kod /cfg boot0 1. Kod /cfg Veri boot0 1. Kod 2. Kod /cfg Veri Özkan KIRIK Genel Müdür
Bölümlerin Ayarlanması Konfigurasyon dosyasına ekleyeceğimiz değerlere göre bölümlerin büyüklüklerini ayarlayabiliriz: NANO_IMAGES={1|2} NANO_CODESIZE={0|sektörsayisi} NANO_CONFSIZE={sektörsayisi} NANO_DATASIZE={0|sektörsayisi} Sıfır, büyüklüğü otomatik ayarla anlamında kullanılıyor Net boyut belirtmek daha sonra oluşturacağınız imajlarda aynı kararlılığı sağlamak adına tercih edilmelidir. Özkan KIRIK Genel Müdür
‘/cfg’ Etiketi /etc klasöründe olması gereken dosyaları içeriyor. Bu bölüm (partition), booting esnasında Read-Only olarak mount ediliyor. Yaptığınız değişiklikleri bu bölüme atmayı da unutmamak lazım: # vi /etc/rc.conf … # mount /cfg # cp /etc/rc.conf /cfg # umount /cfg Özkan KIRIK Genel Müdür
RAM Disklerin Ayarlanması /etc ve /var klasörleri birer md(4) disktir. Standart büyüklükleri 5MB tır. Bu değerleri değiştirmek için konfigürasyon dosyasına aşağıdaki satırlayı eklemeliyiz: NANO_RAM_ETCSIZE=20480 NANO_RAM_TMPVARSIZE=40960 Özkan KIRIK Genel Müdür
Yazılımın Güncellenmesi Yazılımda yapmış olduğunuz değişiklikleri çalışan sisteminizde uygulamak için yeni NanoBSD imajınızı oluşturun. İsterseniz gzip veya bzip2 ile sıkıştırın. Çalışan sistemde aşağıdaki örnekteki komutu çalıştırıp, yazılımı güncelleyebiliriz # ssh Sunucu cat yeniNanoImage.bz2 | \ bzcat | \ sh updatep1 Özkan KIRIK Genel Müdür
Açık kodlu yazılımlar geliştiriyor *BSD İşletim Sistemlerinin Türkiye’de tanıtımı ve yaygınlaştırılması misyonunu yürütüyor Açık kodlu yazılımlar geliştiriyor Açık kodlu sistemler hakkında belgeler hazırlıyor İpucu sistemi ile sık karşılaşılan sorunları ve çözümlerini paylaşma ortamı sağlıyor Tüm unix severlerin bişeyler bulabileceği bir site olduğuna inanıyorum. http://www.EnderUNIX.org Özkan KIRIK Genel Müdür
Mersin Teknoparkı’nda (TechnoScope) yer alıyor FreeBSD temelli yazılımlar geliştiriyor FreeBSD tabanlı embedded çözümler üretiyor FreeBSD ve Networking alanında danışmanlık yapıyor Özkan KIRIK Genel Müdür
Sorular Özkan KIRIK ePati Bilişim Teknolojileri San. ve Tic. Ltd. Şti. Genel Müdür ozkan@ePati.com.tr EnderUNIX YGT@Türkiye Yazılım Geliştiricisi ozkan@EnderUNIX.org Özkan KIRIK Genel Müdür