Beide, da einige erst updaten müssen und wollen.
Das ist bei allen quads so
Spuckt /cat/proc/mtd bei mips boxen generell als Volume Namen "kernel" und "rootfs" aus?
Bastel gerade mal wieder an meinem backup script.
nö - OPTIMUSSOS2 ist zum Bspl anders
"Every Setback is a Set Up for a Comeback"
Du meinst sicher cat /proc/mtd
mtd ist der Flashspeicher.
Und der Befehl gibt dir an, wie der aufgeteilt ist. Da kann durchaus mehr drauf sein als kernel und rootfs.
Bei der Azbox Me, mit 3 verschiedenen Bootsektionen schaut das z.B. so aus
Bei der Optimuss OS1+Code:root@azboxme:~# cat /proc/mtd dev: size erasesize name mtd0: 17780000 00020000 "NAND 512MiB 3,3V 8-bit" mtd1: 00080000 00020000 "zboot" mtd2: 00500000 00020000 "boot_1 partition" mtd3: 07800000 00020000 "rootfs_1 partition" mtd4: 00500000 00020000 "boot_2 partition" mtd5: 07800000 00020000 "rootfs_2 partition" mtd6: 00500000 00020000 "boot_3 partition" mtd7: 07800000 00020000 "rootfs_3 partition"
Code:root@optimussos1plus:~# cat /proc/mtd dev: size erasesize name mtd0: 0efc0000 00020000 "rootfs" mtd1: 0efc0000 00020000 "rootfs(redundant)" mtd2: 00a00000 00020000 "kernel"
Geändert von zeini (19.08.2014 um 10:27 Uhr)
______________________
Hans
Amiko Alien 2+, AzBox Me, Golden Interstar XPEED Lx1, Edision Optimuss OS1+, Mut@nt HD1500, Red Eagle Singlebox, Spycat
TV - Hisense Ulra HD
Astra 19,2° Unicable-LNB
Das isr mir klar, hast du eine Liste die du mir mal zukommen lassen kannst Morly?
Fehlen noch ein paar Checks und Abfänge aber sollte sehr universell einsetzbar sein. Bis jetzt auf LX1, E3HD und Solo2 getestet.
Bewußt auf nanddump verzichtet da die Version vom feed keinen Trunc patch hat und auch nichts anderes macht wie dd nur viel langsamer, ich zieh mir die Benötigten Daten direkt aus den Kisten somit entfällt die Datenhaltung.
Code:#!/bin/sh ########################## DECLARATION OF VARIABLES ########################### MKFS=/usr/sbin/mkfs.ubifs UBINIZE=/usr/sbin/ubinize WORKDIR="/media/hdd/backup" ###################### DEFINE CLEAN-UP ROUTINE ################################ clean_up() { umount /tmp/backup/root > /dev/null 2>&1 rmdir /tmp/backup/root > /dev/null 2>&1 rmdir /tmp/backup > /dev/null 2>&1 } ###################### BIG OOPS!, HOLY SH... (SHELL SCRIPT :-))################ abbruch() { clean_up echo "Image erstellen fehlgeschlagen" exit 0 } #ubifs check ################################################################## if grep rootfs /proc/mounts | grep ubifs > /dev/null; then ROOTFSTYPE=ubifs else echo"Kein UBIFS" abbruch fi ####### TESTING IF ALL THE TOOLS FOR THE BUILDING PROCESS ARE PRESENT ######### if [ ! -f /usr/sbin/mtdinfo ] ; then echo "NO MTDINFO FOUND, ABORTING" abbruch fi if [ ! -f $MKFS ] ; then echo "NO MKFS.UBIFS FOUND, ABORTING" abbruch fi if [ ! -f $UBINIZE ] ; then echo "NO UBINIZE FOUND, ABORTING" abbruch fi ##################### PREPARING THE BUILDING ENVIRONMENT ###################### rm -rf "$WORKDIR" mkdir -p "$WORKDIR" mkdir -p /tmp/backup/root sync mount --bind / /tmp/backup/root ############################################################################### echo "dumpe kernel.bin" KERNEL=`cat /proc/mtd | grep "kernel" | cut -d ":" -f1` dd if=/dev/$KERNEL of=$WORKDIR/kernel.bin echo "done" echo "" ############################################################################### echo "dumpe splash.bin" SPLASH=`cat /proc/mtd | grep "splash" | cut -d ":" -f1` dd if=/dev/mtd4 of=$WORKDIR/splash.bin echo "done" echo "" #rootfs.bin erstellen########################################################## ROOTFS=`cat /proc/mtd | grep "rootfs" | cut -d ":" -f1` ERASEBLOCKSIZE=`mtdinfo /dev/$ROOTFS | grep "Eraseblock size" | awk {'print $3'}` ERASEBLOCKCOUNT=`mtdinfo /dev/$ROOTFS |grep "Amount of eraseblocks:" | awk {'print $4'}` IOSIZE=`mtdinfo /dev/$ROOTFS | grep "input/output" | awk {'print $5'}` echo \[ubifs\] > "$WORKDIR/ubinize.cfg" echo mode=ubi >> "$WORKDIR/ubinize.cfg" echo image="$WORKDIR/root.ubi" >> "$WORKDIR/ubinize.cfg" echo vol_id=0 >> "$WORKDIR/ubinize.cfg" echo vol_type=dynamic >> "$WORKDIR/ubinize.cfg" echo vol_name=rootfs >> "$WORKDIR/ubinize.cfg" echo vol_flags=autoresize >> "$WORKDIR/ubinize.cfg" touch "$WORKDIR/root.ubi" chmod 644 "$WORKDIR/root.ubi" echo "creating rootfs.bin - this will take some time" /usr/sbin/mkfs.ubifs -r /tmp/backup/root -o "$WORKDIR/root.ubi" -m "$IOSIZE" -e "$(($ERASEBLOCKSIZE-4096))" -c "$ERASEBLOCKCOUNT" /usr/sbin/ubinize -o "$WORKDIR/rootfs.bin" -m "$IOSIZE" -p "$ERASEBLOCKSIZE" "$WORKDIR/ubinize.cfg" >/dev/null chmod 644 "$WORKDIR/rootfs.bin" if [ -f "$WORKDIR/rootfs.bin" ] ; then IMAGEVERSION=`date +%Y%m%d` echo $IMAGEVERSION > $WORKDIR/imageversion touch $WORKDIR/force rm "$WORKDIR/root.ubi" rm "$WORKDIR/ubinize.cfg" echo "done" else abbruch fi clean_up
Geändert von redoom (19.08.2014 um 10:37 Uhr)
dd erzeugt dir halt riesige Files (immer so gross wie die Part selber - egal ob 10% genutzt oder eben 100%)
Liste habe ich keine, nur genannten Box hat anstatt kernel nkernel - alle anderen sind gleich
"Every Setback is a Set Up for a Comeback"
dd nur für den kernel oder den splash. image per ubinize
sorry - gesehen - klar
"Every Setback is a Set Up for a Comeback"
Bitte auch für DM8000