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 |