Gömülü Linux
  • Giriş
  • Linux Çekirdeği
    • Gömülü Sistemlerdeki Kullanımı
    • Geliştirme Süreci ve Versiyonlar
    • Kod Sözdizim Rehberi
    • Konfigürasyon Süreci ve Kbuild Sistemi
    • Derleme ve Çapraz Derleme
    • Initramfs İmajının Eklenmesi
    • U-boot İmajı Haline Getirilmesi
  • Gömülü Sistemlerde Boot Yükleyiciler
    • U-boot
    • RedBoot
    • ARM Mimarisinde Açılış Süreci
  • Linux Açılış Süreci
    • Kernel Açılış Süreci
    • Kullanıcı Kipine Geçiş - Init Süreci
  • Kök Dosya Sistemi Oluşturma
  • Initramfs İle Erken Kullanıcı Kipi
  • Devtmpfs Dosya Sistemi
  • NfsRoot Çalışma Yöntemi
  • Çapraz Derleme ve Gerekli Ekipmanlar
  • NOR, NAND, eMMC ve Flash Tabanlı Depolama
  • Memory Technology Device - MTD Katmanı
  • Unsorted Block Images - UBI Katmanı
  • Gömülü Sistemlerde Kullanılan Dosya Sistemleri
    • JFFS2 Dosya Sistemi
    • YAFFS2 Dosya Sistemi
    • UBIFS Dosya Sistemi
    • Cramfs Dosya Sistemi
    • Squashfs Dosya Sistemi
    • Minix Dosya Sistemi
    • FAT Dosya Sistemi
    • Ext2,3,4 Dosya Sistemi
  • Watchdog Kullanımı
  • CPU Frequency Scaling
  • Buildroot
  • Android Platformu
    • Geliştirme Ortamının Hazırlanması
    • İnşa Süreci
  • Sistem Çağrıları
  • I2C Protokolü
    • I2C Protokolünün Tanıtılması
    • Linux Altında I2C İşlemleri
    • Board Seçimi ve İlk İşlemler
    • Sıcaklık Sensörünün Seçilmesi
    • Sıcaklık Değerinin Yazılımsal Olarak Elde Edilmesi
  • Strace Kullanımı
  • GNU Build Sistemi Araçları
    • Make
    • Autoconf, Automake
  • Orange Pi Zero
    • Orange Pi Zero Teknik Özellikleri
    • Gerekli Araçların Elde Edilmesi
    • U-boot Derleme Süreci
    • Kernel Derleme Süreci
    • Wifi Desteği - Problemli Senaryo Örneği
    • Dosya Sisteminin Hazırlanması
    • SD Kartın Hazırlanması
    • Cihazın Açılması
  • Raspberry Pi
    • Raspberry Pi 2 Teknik Özellikleri
    • Açılış Süreci
    • Gerekli Araçların Elde Edilmesi
    • Kernel Derleme Süreci
    • U-boot Derleme Süreci
    • Dosya Sisteminin Hazırlanması
    • Cihazın Açılması
    • NFS Root Çalışma
    • Sistem Konfigürasyonu
    • Raspberry Pi 3
  • Board Spesifik Kılavuzlar
    • Hawkboard
    • Olimex A20
    • TI DM6446 EVM
    • BeagleBoard
    • BeagleBoneBlack
    • Savage Board
  • EKLER
    • Seri Konsol Kullanımı
    • TFTP Sunucu Kurulumu
    • NFS Sunucu Kurulumu
    • TI işlemcilerinde DSP kullanımı
      • C6Run
      • DSP Testi
    • Ubuntu Sanal Makine Performansı
Powered by GitBook
On this page
  • UBI Attach İşlemi
  • Volume Yönetimi

Was this helpful?

Unsorted Block Images - UBI Katmanı

UBI üzerinde işlem yapabilmek için, kontrol arayüzü olan /dev/ubi_ctrl dosyası sistemde yer almalıdır.

Bu özel dosyanın sabit bir major:minor numarası bulunmaz ve dinamik major:minor allokasyonu kullandığından, öntanımlı major:minor değerlerin sistemde halihazırda kullanımda olması durumuna karşı, farklı değerler de oluşabilir.

Sistemde udev veya devtmpfs gibi, /dev dizini altındaki aygıt dosyalarını otomatik oluşturan bir araç kullanmıyorsanız, /dev/ubi_ctrl dosyasını elle oluşturmanız gerekecektir.

Doğru major:minor numaralarını, /sys/class/misc/ubi_ctrl/dev dosyasından öğrendikten sonra (Örnek: 10 ve 63) aşağıdaki gibi oluşturabilirsiniz:

mknod /dev/ubi_ctrl c 10 63

UBI Attach İşlemi

UBIFS dosya sistemini kullanabilmek için sistemde öncelikle UBI volume'lerin oluşturulması gereklidir.

UBI desteği kernel içerisinde mevcut ise, kernel açılış parametresiyle UBI attachment aşağıdaki şekilde ayarlanabilir:

ubi.mtd=rootfs
veya
ubi.mtd=3

Yukarıdaki örnekte, daha önceden bölümlendirilmiş ve bölüm etiketi olarak "rootfs" verilmiş olan /dev/mtd3 bölümü, bir UBI aygıtı olarak sisteme eklenmektedir.

Flash üzerindeki bölümlendirme etiketleri kullanılabileceği gibi, doğrudan MTD bölüm numarası da kullanılabilmektedir.

UBI desteği modül olarak derlenmiş ise, ubi modülüne yüklenirken yukarıdaki gibi parametreler geçilmelidir.

UBI Attach ve UBI Detach işlemleri, mtd-utils paketinden çıkan ubiattach ve ubidetach uygulamaları kullanılarak da yapılabilir.

/dev/mtd3 bölümünü attach etmek için:

ubiattach /dev/ubi_ctrl -m 3

/dev/mtd3 için mevcut attachment'ı sonlandırmak için:

ubidetach /dev/ubi_ctrl -m 3

Not: UBI komutlarında kontrol aygıtı ismi verilmediğinde öntanımlı olarak /dev/ubi_ctrl varsayılır.

Soru: Root dosya sistemi olarak UBIFS kullanıldığında attachment işlemi nasıl yapılabilir?

UBI Attach işlemi tamamlandığında udev veya devtmpfs gibi /dev dizini altındaki aygıt dosyalarını yöneten bir mekanizma kullanıyorsanız otomatik olarak sırasıyla /dev/ubi0, /dev/ubi1 şeklinde attach edilen aygıtlara ilişkin dosyalar oluşacaktır.

Bu şekilde bir sistem kullanmıyorsanız bu dosyaları mknod uygulamasıyla elle oluşturmanız gerekecektir. Bu şekilde elle oluşturma durumu sözkonusu ise, gereken major:minor numaralarını /sys/class/ubi/ubi0/dev dosyasından öğrenebilirsiniz (Örnek: 253 ve 0) Sonrasında aşağıdaki komuta benzer şekilde ilgili aygıt dosyasını oluşturabilirsiniz:

mknod /dev/ubi0 c 253 0

Volume Yönetimi

UBI sisteminde attach edilmiş olan MTD aygıtları üzerinde, UBI katmanında mantıksal volume birimleri oluşturulmalıdır.

Örnek olarak 600 MB boyutundaki /dev/mtd3 ubiattach ile sisteme /dev/ubi0 şeklinde eklenmiş olsun. Bu UBI aygıtı üzerinde çok sayıda UBI volume birimi oluşturmamız mümkündür. Bu işlem için ubimkvol uygulaması kullanılacaktır.

Örnek olarak bu alan üzerinde 100 MB, 200 MB ve 300 MB boyutlarında 3 adet volume birimi oluşturalım:

ubimkvol /dev/ubi0 -N test0 -s 100MiB
ubimkvol /dev/ubi0 -N test1 -s 200MiB
ubimkvol /dev/ubi0 -N test2 -m
  • -N parametresi ile birimlere etiket atanmaktadır

  • Üçüncü komutta -m parametresi ile kalan maksimum alan ayrılmıştır.

Mevcut bir UBI volume birimini silmek içinse ubirmvol uygulaması kullanılır.

Etiketi test2 olan volume birimini kaldırmak için:

ubirmvol /dev/ubi0 -N test2

Etiket yerine volume birim numaraları da kullanılabilir:

ubirmvol /dev/ubi0 -n 2
PreviousMemory Technology Device - MTD KatmanıNextGömülü Sistemlerde Kullanılan Dosya Sistemleri

Last updated 5 years ago

Was this helpful?