Es gibt im Netz viele Anleitungen zum Übersetzen der mtd-utils. Leider ist keine Einziger von mir aufgefundener Artikel auf meine Anforderungen zugeschnitten. Die meisten Anleitungen sind für sehr alte Versionen der mtd-utils verfasst, so das sie zum Beispiel davon ausgehen das kein ./configure Script für diese Software existiert oder die Anleitungen beziehen sich auf die besonderheiten des Cross-Compilings und lassen alles andere weg.
Hier ist meine Anleitung für das übersetzen der mtd-utils auf der NAS CL-35B2. Diese Anleitung wird benötigt um die Werkzeuge nanddump und nandwrite zu erhalten welche für ein Backup und Restore der NAS benötigt werden.
Die Anleitung kann direkt nach dem vorbereiten eines Buildsystems für die CL-35B2, und einem chroot in das Buildysystem, verwendet werden.
Die Bibliotheken werden direkt in das Buildsystem geschrieben und ich verwende das Paketmanagement nicht da es sich nur um das Buildsystem handelt, welches nach dem erfolgreichen übersetzten der Quellen wieder gelöscht wird. Sollte Dein Buildsystem Dauerhaft bestehen sollen empfehle ich Dir rpm-Pakete entsprechend dieser Anleitung zu erstellen.
1.) Vorbereitungen und Download der Sourcecodes
cd /usr/src wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz wget http://www.zlib.net/zlib-1.2.11.tar.gz git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git git clone git://git.infradead.org/mtd-utils.git
2.) zlib erstellen
tar xzf zlib-1.2.11.tar.gz cd /usr/src/zlib-1.2.11 ./configure make make install cd /usr/src rm -r zlib-1.2.11 rm zlib-1.2.11.tar.gz
3.) lzo erstellen
tar xzf lzo-2.10.tar.gz cd /usr/src/lzo-2.10 ./configure make make check make install cd /usr/src rm -r lzo-2.10 rm lzo-2.10.tar.gz
4.) e2sfprogs erstellen
cd /usr/src/e2fsprogs ./configure make make install make install-libs cd /usr/src rm -r e2fsprogs
5.) Die mtd-utils übersetzen
cd /usr/src/mtd-utils ./autogen.sh ./configure --disable-tests make make install
nach der Installation sind folgende Werkzeuge zusätzlich verfügbar.:
Tool | Nutzen |
---|---|
ubiupdatevol | |
ubimkvol | |
ubirmvol | |
ubicrc32 | |
ubinfo | Ausgabe von Informationen zum NAND Speicher und zur Partitionierung und zu den Details einer UBI-Partition |
ubiattach | |
ubidetach | |
ubinize | |
ubiformat | |
ubirename | |
mtdinfo | Ausgabe von Informationen zum NAND Speicher und zur Partitionierung und zu den Details einer MTD-Partition |
ubirsvol | |
ubiblock | |
ftl_format | |
doc_loadbios | |
ftl_check | |
mtd_debug | |
docfdisk | |
serve_image | |
recv_image | |
flash_erase | |
flash_lock | |
flash_unlock | |
flash_otp_info | |
flash_otp_dump | |
flash_otp_lock | |
flash_otp_write | |
flashcp | |
mtdpart | Partitionierungswerkzeug für einen NAND Speicher |
nanddump | Export des Inhalts einer NAND-Partition |
nandwrite | zurückschreiben einer Sicherung in den NAND Speicher |
nandtest | |
nftldump | |
nftl_format | |
rfddump | |
rfdformat | |
mkfs.ubifs | |
mkfs.jffs2 | |
jffs2dump | |
jffs2reader | |
sumtool |
Eine Antwort auf „mtd-utils für NAND Sicherung übersetzen“
Danke für die Anleitung, können Sie Fullflash Nand auf USB-Stick über die serielle Schnittstelle speichern
Fedora release 12 (Constantine)
Kernel 2.6.31.14-fast-20110422 on an armv6l (/dev/ttyS0)
isharing login: root
Password:
[root@isharing ~]# cd /
[root@isharing /]# cd /media/USBCOPY-P1
[root@isharing USBCOPY-P1]# ls -l
total 16
drwxrwxrwx 8 root root 4096 2016-03-17 14:50 2k10
drwxrwxrwx 4 root root 4096 2017-12-18 17:20 BootICE
-r–r–r– 1 root root 4572 2016-06-01 19:14 grub.cfg
[root@isharing USBCOPY-P1]# cat /proc/mtd
dev: size erasesize name
mtd0: 10000000 00020000 „NAND 256MiB 3,3V 8-bit“
mtd1: 026c0000 00020000 „Boot partition“
mtd2: 0d940000 00020000 „Data Partition“
[root@isharing USBCOPY-P1]# cat /dev/mtd0 > backup_mtd0
[root@isharing USBCOPY-P1]# ls -l
total 262160
drwxrwxrwx 8 root root 4096 2016-03-17 14:50 2k10
-rw-rw-rw- 1 root root 268435456 2017-12-28 20:10 backup_mtd0
drwxrwxrwx 4 root root 4096 2017-12-18 17:20 BootICE
-r–r–r– 1 root root 4572 2016-06-01 19:14 grub.cfg