YAFFS2 Dosya Sistemi

Yet Another Flash Filesystem'in ikinci versiyonu olup, raw flash aygıtları üzerinde çalışan bir dosya sistemidir.

Charles Manning tarafından Yeni Zelanda kuruluşlu Aleph One firması için geliştirilmiştir.

Küçük ve kolay port edilebilir bir yapıya sahip olduğundan, Linux dışındaki ortamlarda ve özellikle çeşitli kapalı kodlu gömülü sistemlerde de kullanım alanı bulmuştur. Kapalı kodlu sistemlerde kullanılabilmesi için ikinci bir lisanslama opsiyonu sunmaktadır.

JFFS2'ye göre tek eksiği sıkıştırılmış dosya sistemi modunda çalışamıyor olmasıdır.

Bununla birlikte diğer tüm alanlarda JFFS2'den daha iyi performans verir.

Günümüzde yerini UBIFS'e bırakmaya başlamıştır.

Kullanım

Bir MTD bölümü YAFFS2 formatında veri içermese dahi, blok tipi aygıt ismi üzerinden yaffs2 türünde doğrudan mount edilmeye çalışıldığında işlem başarılı olur, ancak bu yöntem önerilmez.

Öncelikle ilgili MTD bölümünün flash_erase ile silinmesi gereklidir:

flash_erase /dev/mtd8 0 0

Sonra mount işlemi aşağıdaki gibi gerçekleştirilebilir:

mount -t yaffs2 /dev/mtdblock8 /mnt

Mount işlemi sonrası /mnt dizini altına kopyalama yapmak suretiyle ilgili bölüme yazılabilir.

Dosya Sistemi İmajının Yazılması

Bir MTD bölümünü flash_erase ile silip yaffs2 türünde mount ettikten sonra standart yöntemlerle dosyaları kopyalayarak ilerlemek yerine, dosya sistemini başka bir yerde (kendi bilgisayarımızda) oluşturup, yaffs2 imajını hazırlayıp tek seferde bu hazırlanan dosya sistemi imajını kopyalamak da mümkündür.

Bunun için flash_erase ile ilgili MTD bölümü silindikten sonra, nandwrite ile imajın yazılması gerçekleştirilebilir.

flash_erase /dev/mtd8 0 0
nandwrite -a -o /dev/mtd8 /tmp/yaffs.image

Ardından ilgili bölüm mount edildiğinde, imaj içerisinde yer alan verilere ulaşılabilecektir:

mount -t yaffs2 /dev/mtdblock8 /mnt

İmaj Oluşturma

Geliştirme yapılan bilgisayardaki bir dizin yapısını yaffs2 imajına çevirmek için, yaffs2utils paketinden çıkan mkyaffs2 uygulaması kullanılır. Örnek kullanım:

mkyaffs2 /work/dir /tmp/yaffs.img
  • İlk parametre olarak imajı oluşturulacak olan dizin belirtilir.

  • İkinci parametre ise imajın nereye çıkartılacağını gösterir.

  • yaffs2utils: http://code.google.com/p/yaffs2utils

results matching ""

    No results matching ""