nfsroot nedir?

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
21,563
nfsroot, linux kullanılan gömülü sistemlerle ilgili bir kavramdır.

Normalde, linux kullanılan gömülü sistemlerde işletim sistemi, bir tür flash bellekte bulunur ve işletim sistemi boot ederken bu flash bellekte bulunan filesystem'i kök dizin (root veya /) olarak mount eder. Dolayısıyla biz bu flash bellekteki yazılımları değiştirmek, yeni derlediğimiz programların çalışmasını istiyorsak, masaüstü bilgisayarımızda çarpraz derleyici ile derlemiş olduğumuz programları eksiksiz bir şekilde bu flash belleğe kopyalamamız lazım. Bu hem çok zahmetli bir iştir (tüm binary'leri ve bağımlı oldukları kütüphaneleri, yapılandırma dosyalarını, ne gerekiyorsa) hem zaman alır, hem de hataya açıktır. Örneğin bir kütüphaneyi kopyalamayı unuttunuz ve değiştirilmiş programı çalıştırıyorsunuz, ama beklenmedik bir şekilde davranıyor. Veya hiç çalışmıyor.

İşte nfsroot tekniği, bu sorunun çözümünde çok büyük kolaylık getiriyor. Gömülü sistemin boot loader programına (bu genelde u-boot'tur), sistem üzerindeki flash'tan değil de, yerel ağ üzerinde bulunan sizin masaüstü bilgisayardaki bir dizini kök dizin (root) olarak kullanacak şekilde yapılandırıyoruz. Böyle yapınca artık linux, sizin masaüstündeki belirttiğiniz dizini root (/) olarak görüyor. Orada yaptığınız her değişiklik, bizzat linux işletim sistemine yansıyor. Şöyle bir örnek verelim:

Sizin masaüstü bilgisayarda /var/export/rootfs dizinini NFS ile paylaştınız. Sizin home dizininin altında, /home/ta/sources/boa-1.0.0 altında da boa web sunucusu üzerinde çalışıyorsunuz, değişiklikler yapıyorsunuz. Bu değişikliklerin aynen gömülü sisteme yansıtılması ve değiştirilmiş web sunucusunun gömülü sisteme kurulumunu yapmak çok kolay:

Kod:
[ta@bonsai boa-1.0.0]$ make
[ta@bonsai boa-1.0.0]$ DESTDIR=/var/export/rootfs make install


Bu komutları kendi masaüstü bilgisayarınızda çalıştırdığımız anda, boa web sunucusu gömülü sisteme eksiksiz olarak, tüm bileşenleriyle ve kendi dahili kütüphaneleri ile birlikte kurulacaktır. gömülü sistemde de boa'yı yeniden başlatmanız yeterli olacaktır.
 
Bu tabi biraz yüzeysel bir açıklama oldu. İşi tüm ayrıntılarıyla anlatmak bir tek forum konusu içinde yapılabilecek birşey değil. Ama şu konuları biliyor olmanız gerekir:

1) Bir linux masaüstü bilgisayarda bir dizinin NFS ile "export" edilmesi.
2) u-boot bootloader'da environment'te gerekli değişikliklerin yapılması ve flash'a kalıcı olarak kaydedilmesi. Genel hatlarıyla, burada u-boot'a NFS server'in ip adresini söylüyoruz, gömülü sistemin kendi ip adresini, ip netmask tanımlıyoruz, ip gateway tanımlıyoruz. Eğer gömülü sistemin mac adresi tanımlı değilse, uygun bir adres tanımlıyoruz. Bunun dışında, kernel komut satırını değiştirerek kernel'in nfsroot kullanmasını sağlıyoruz.
 
Bazı durumlarda, gömülü sistemde çalışan programlar, kendi kullandıkları dizinlerin belli erişim izinlerinin olmasını isterler, ve o erişim izinleri de tanımlanmamışsa ya çalışmazlar, veya farklı bir modda çalışıyor. Linux sistemlerinde kullanılan ses sunucusu pulseaudio buna örnek olarak verilebilir. Eğer böyle bir durum varsa, masaüstü bilgisayardaki nfsroot dizininin sahibini ve grubunu root:root yapmamız gerekebilir. Derlediğimiz programı da buraya kurarken sudo ile kurmamız gerekir. Ama bu sakıncaya rağmen, nfsroot'un sağladığı kolaylık çok büyük bir avantajdır.

Linux gömülü sistemlerinde program geliştiren birisinin nfsroot'u mutlaka kullanması lazım.
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,660
Mesajlar
97,370
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top