ROM'u mtd2'den oluşturuyorsa direk güncellemeyi dener misin?
Kod:
mtd write /tmp/mtd2.bin image0
Maalesef yine sıfırlayınca eski haline dönüyor.
Firmware İmaj Düzenleme ve Yeniden Paketleme Rehberi
Açıklama:
Bu rehber, cihazın firmware imajından squashfs dosya sistemini çıkartıp düzenleyerek yeniden imaj haline getirme işlemini adım adım açıklamaktadır.
1. Mevcut İmajın Alınması
Cihaz üzerinden mtd2 bölümünün imajını almak için aşağıdaki komut kullanılır:
Kod:
cat /dev/mtd2 > /tmp/mtd2.bin
Oluşan
mtd2.bin dosyası harici bir Linux tabanlı işletim sistemine aktarılır.
2. İmaj İçeriğinin İncelenmesi
İmaj içerisindeki bölümleri kontrol etmek için aşağıdaki komut kullanılır:
Örnek Çıktı:
Kod:
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 uImage header (Linux kernel imajı)
64 0x40 LZMA sıkıştırmalı kernel verisi
1212297 0x127F89 Squashfs filesystem (xz sıkıştırmalı)
4259840 0x410000 JFFS2 filesystem
3. Squashfs Bölümünün Çıkartılması
Squashfs bölümünü çıkartmak için:
Kod:
dd if=mtd2.bin of=squashfs.img bs=1 skip=1212297 count=3001168
4. Squashfs Dosya Sisteminin Açılması ve Düzenlenmesi
Çıkartılan squashfs imajını açmak için:
Açılan
squashfs-root/ klasörü içerisinde gerekli düzenlemeler yapılır.
5. Düzenlenen Dosya Sisteminin Yeniden Paketlenmesi
Düzenlenen squashfs-root klasörünü yeniden imaj haline getirmek için:
Kod:
mksquashfs squashfs-root/ new_squashfs.img -comp xz -noappend -b 262144
Not:
Eğer yeni oluşturulan squashfs imajının byte uzunluğu, orijinal squashfs imajı ile aynı değilse,
dd komutu ile ekleme yapılması gereklidir.
6. Düzenlenen Squashfs İmajının mtd2.bin İçerisine Yazılması
Yeni squashfs imajını orijinal mtd2.bin dosyasına yazmak için:
Kod:
dd if=squashfs.img of=mtd2.bin bs=1 seek=1212297 conv=notrunc
7. Yeni İmajın Cihaza Yazılması
Düzenlenen imaj, OpenWRT arayüzü üzerinden cihaza yüklenir ve cihaz fabrika ayarlarına sıfırlanır.
8. Son Kontrol
Cihaz yeniden başladıktan sonra, yapılan değişikliklerin kalıcı olup olmadığını kontrol etmek için:
Kod:
cat /dev/mtd2 > /tmp/mtd2.bin
Alınan bu yeni imaj, düzenlenmiş ve kalıcı hale gelmiş doğru imaj olacaktır.