Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


scripts:oowow-dump2xz

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
scripts:oowow-dump2xz [2024/08/21 22:48]
hyphop
scripts:oowow-dump2xz [2024/12/16 10:40] (current)
hyphop
Line 1: Line 1:
 ====== oowow-dump2xz ====== ====== oowow-dump2xz ======
  
-===== Online usage =====+  - https://docs.khadas.com/_export/code/scripts/oowow-dump2xz?codeblock=0 
 +  - https://github.com/khadas-oowow/oowow-tools/blob/main/oowow-dump2xz 
 + 
 + 
 +===== Online usage examples ===== 
 + 
 +  - write android image via burn tool 
 +  - connect SBC with PC by USB cable 
 +  - reboot device to oowow  
 +  - boot next shell commands from PC 
 + 
 +<WRAP tip > 
 +''export BOOT=1'' - copy boot-loader from special eMMC area - this is actual for VIM4 Ardroid 14, this feature works start **from oowow version 241000 up** 
 + 
 +</WRAP>
  
 '' ''
-mkdir FOO && cd FOO \\ +mkdir Android-14-vim4 && cd Android-14-vim4 \\ 
-curl http://docs.khadas.com/_export/code/scripts/oowow-dump2xz?codeblock=0 | sh -s -+export OSVER=14 \\ 
 +export VER=v240822-beta \\ 
 +export BOOT=1 \\ 
 +#export REMOTE=192.168.31.x \\ 
 +#export REMOTE=edge2-12345.local \\ 
 +curl http://docs.khadas.com/_export/code/scripts/oowow-dump2xz?codeblock=0 | sh -s - \\ 
 +ls -l1 *.img.xz
 '' ''
  
Line 15: Line 35:
 #= oowow-dump2xz #= oowow-dump2xz
  
-#: USAGE mkdir FOO && cd FOO && [OSVER=] [VER=] [LABEL=] [OUT=] owow-dump2xz+#: USAGE mkdir FOO && cd FOO && [OSVER=] [VER=] [LABEL=] [OUT=] [BOOT=] owow-dump2xz
  
 lowcase(){ echo "$@" | tr '[:upper:]' '[:lower:]' ; } lowcase(){ echo "$@" | tr '[:upper:]' '[:lower:]' ; }
Line 25: Line 45:
 XZE=https://raw.githubusercontent.com/hyphop/khadas-rescue-tools/master/scripts/xze XZE=https://raw.githubusercontent.com/hyphop/khadas-rescue-tools/master/scripts/xze
 XZE=http://docs.khadas.com/_export/code/scripts/xze?codeblock=0 XZE=http://docs.khadas.com/_export/code/scripts/xze?codeblock=0
 +
 +for D in *-dump.img.zst; do
 +    O=${D%.*}
 +    [ -s "$D" ] || continue
 +    CMD zstd -d "$D" || CMD rm "$O"
 +done
  
 for D in *-dump.img; do for D in *-dump.img; do
Line 37: Line 63:
 echo "BOARD: $BOARD" echo "BOARD: $BOARD"
 [ "BOARD" ] || DIE "BOARD undetected" [ "BOARD" ] || DIE "BOARD undetected"
 +
 +boot=boot0
 +[ "$BOOT" ] && {
 +echo copy boot area
 +ssh root@$REMOTE cat /dev/mmcblk?boot0 > $boot
 +ls -l1 $boot
 +}
 +
 T=$BOARD.sfdisk T=$BOARD.sfdisk
 ssh root@$REMOTE sfdisk --dump \$\(/opt/mmc_disk\)>$T # | tee $T ssh root@$REMOTE sfdisk --dump \$\(/opt/mmc_disk\)>$T # | tee $T
 echo -- echo --
 USER_DATA=userdata USER_DATA=userdata
-grep $USER_DATA $T | while read a b c d e; do+grep $USER_DATA $T || ssh root@$REMOTE /opt/aml_partitions >>$T # | tee $T 
 +grep $USER_DATA $T | while read a b c d e f g h j k l m ; do
 [ "$d" ] || DIE "partition $USER_DATA not found" [ "$d" ] || DIE "partition $USER_DATA not found"
-echo $d $e +echo "${d%,*} or $l" 
-echo ${d%,*} > $T.userdata+echo ${l:-${d%,*}} > $T.userdata
 done done
 +
 read USER_START < $T.userdata read USER_START < $T.userdata
 BS=512 BS=512
Line 52: Line 88:
 DUMP=$BOARD-emmc-dump.img DUMP=$BOARD-emmc-dump.img
 echo "Dump image from $BOARD > $DUMP $BYTES bytes ...wait..." echo "Dump image from $BOARD > $DUMP $BYTES bytes ...wait..."
-[ -s ./xze ] || curl "$XZE" -O 
 CMD curl -L "$REMOTE"/api/disk/rdz/mmc.zst:$((BYTES)) -o$DUMP.zst CMD curl -L "$REMOTE"/api/disk/rdz/mmc.zst:$((BYTES)) -o$DUMP.zst
 CMD zstd -d $DUMP.zst CMD zstd -d $DUMP.zst
Line 63: Line 98:
 label=${label:-$(lowcase $LABEL)} label=${label:-$(lowcase $LABEL)}
 OSVER=${OSVER:-14} OSVER=${OSVER:-14}
-VER=${VER:-v240725-beta+VER=${VER:-v240820
-OUT=${OUT:-$board-$label-$OSVER-$VER.img}+OUT=${OUT:-$board-$label-$OSVER-$VER.raw.img}
  
 echo "CONVERT $D to $OUT ..." echo "CONVERT $D to $OUT ..."
Line 73: Line 108:
 CMD mv "$D" "$OUT" CMD mv "$D" "$OUT"
  
-CMD sh ./xze "$OUT" \+bootloader(){ 
 +    [ "$BOOT" ] || return 0 
 +    boot=${boot:-boot0} 
 +    echo "BOOT LOADER '$boot' inject to image...">&
 +    BOOT_OFFSET=$(du -b "$OUT"
 +    BOOT_SIZE=$(du -b "$boot"
 +    echo "copy boot area $boot to $OUT by $BOOT_OFFSET + $BOOT_SIZE">&
 +    gzip -c $boot >> "$OUT" 
 +    echo bootloader=$BOOT_OFFSET 
 +
 + 
 +xze=$(which xze) 
 +xze=${xze:-./xze} 
 +[ -s "$xze" ] || curl "$XZE" -o"$xze" 
 + 
 +CMD sh $xze "$OUT" \
     --meta \     --meta \
     label="$LABEL" \     label="$LABEL" \
     builder="Khadas" \     builder="Khadas" \
-    date="$(TZ=GMT+0 date)" \+    date="$(LANG=C TZ=GMT+0 date)" \
     match=BOARD=$BOARD \     match=BOARD=$BOARD \
 +    $(bootloader) \
     duration=90 \     duration=90 \
     desc="$BOARD $LABEL $OSVER $VER"     desc="$BOARD $LABEL $OSVER $VER"
 +```
 +
 +```shell logs
 +
 +mkdir Android-14-vim4 && cd Android-14-vim4
 +export OSVER=14
 +export VER=v240822-beta
 +
 +
 +curl http://docs.khadas.com/_export/code/scripts/oowow-dump2xz?codeblock=0 | sh -s -
 +  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 +                                 Dload  Upload   Total   Spent    Left  Speed
 +100  1837    0  1837    0       2209      0 --:--:-- --:--:-- --:--:--  2210
 +DUMP data ...
 +PING 172.22.1.1 (172.22.1.1) 56(84) bytes of data.
 +
 +--- 172.22.1.1 ping statistics ---
 +1 packets transmitted, 1 received, 0% packet loss, time 0ms
 +rtt min/avg/max/mdev = 0.343/0.343/0.343/0.000 ms
 +BOARD: VIM4
 +Warning: Permanently added '172.22.1.1' (ED25519) to the list of known hosts.
 +The backup GPT table is corrupt, but the primary appears OK, so that will be used.
 +--
 +8124416, - size= 52946936, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=1FE84740-97C9-8C42-98E2-C47015AECEC7, name="userdata", attrs="GUID:50,60"
 +Dump image from VIM4 > VIM4-emmc-dump.img 4159700992 bytes ...wait...
 +  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 +                                 Dload  Upload   Total   Spent    Left  Speed
 +100  8485    0  8485    0       8496      0 --:--:-- --:--:-- --:--:--  8493
 +# curl -L 172.22.1.1/api/disk/rdz/mmc.zst:4159700992 -oVIM4-emmc-dump.img.zst
 +  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 +                                 Dload  Upload   Total   Spent    Left  Speed
 +100 1032M    0 1032M    0       9.8M      0 --:--:--  0:01:44 --:--:--  4000
 +# zstd -d VIM4-emmc-dump.img.zst
 +VIM4-emmc-dump.img.zst: 4159700992 bytes                                       
 +CONVERT VIM4-emmc-dump.img to vim4-android-14-v240822-beta.img ...
 +# truncate -s+50M VIM4-emmc-dump.img
 +# mv VIM4-emmc-dump.img vim4-android-14-v240822-beta.img
 +# sh ./xze vim4-android-14-v240822-beta.img --meta label=Android builder=Khadas date=Thu Aug 22 02:58:40 AM GMT 2024 match=BOARD=VIM4 duration=90 desc=VIM4 Android 14 v240822-beta
 +[i] xze compress vim4-android-14-v240822-beta.img (4212129792 bytes) > vim4-android-14-v240822-beta.img.xz
 +# /usr/bin/xz -T8 --block-size 90M -k -c -F xz --verbose 
 +vim4-android-14-v240822-beta.img (1/1)
 +  100 %     883.8 MiB / 4,017.0 MiB = 0.220    46 MiB/s       1:27             
 +[i] padded to 926724096 from 926722204 + 1892
 +[i] XZ info
 +Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
 +    1      45    883.8 MiB  4,017.0 MiB  0.220  CRC64   vim4-android-14-v240822-beta.img.xz
 +
 +[i] add meta block
 +
 +##META_FILE##
 +FILE: vim4-android-14-v240822-beta.img.xz
 +UNPACKED_SIZE: 4212129792
 +PACKED_SIZE: 926724096
 +FILE_SIZE: 926728192
 +##META-FILE##
 +
 +##KRESCUE_META##
 +type:xz
 +label: Android
 +builder: Khadas
 +date: Thu Aug 22 02:58:40 AM GMT 2024
 +match: BOARD=VIM4
 +duration: 90
 +desc: VIM4 Android 14 v240822-beta
 +image: vim4-android-14-v240822-beta.img
 +##KRESCUE-META##
 +##KRESCUE##END
 +[i] padded to 4096 from 308 + 3788
 +```
 +
 +==== HowTo Check meta ====
 +
 +```shell
 +khadas@localhost:/images/vim4$  xze vim4n-android-14-v240820.raw.img.xz 
 +Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
 +    2      46    839.1 MiB  4,019.3 MiB  0.209  CRC64   vim4n-android-14-v240820.raw.img.xz
 +[i] blocks: 46 // 839.1*MiB // 4,019.3*MiB
 +##META_FILE##
 +FILE: vim4n-android-14-v240820.raw.img.xz
 +UNPACKED_SIZE: 4214509060
 +PACKED_SIZE: 879849472
 +FILE_SIZE: 879853568
 +##META-FILE##
 +
 +##KRESCUE_META##
 +type:xz
 +label: Android
 +builder: Khadas
 +date: Wed Sep 18 05:43:57 AM GMT 2024
 +match: BOARD=VIM4
 +bootloader: 4212129792
 +vim4n-android-14-v240820.raw.img: vim4n-android-14-v240820.raw.img
 +duration: 90
 +desc: VIM4 Android 14 v240820
 +image: vim4n-android-14-v240820.raw.img
 +##KRESCUE-META##
 +##KRESCUE##END
 +```
 +
 +<WRAP tip >
 +**bootloader: 4212129792** - showing us this image has additional special bootloader
 +
 +</WRAP>
 +
 +
 +==== VIM4 Android 11 ====
 +
 +<WRAP important >
 +''OSVER'' and ''VER'' must be setup properly and related with installed eMMC system
 +</WRAP>
 +
 +```sh VIM4 Android 11
 +unset BOOT
 +export OSVER=11-64bit
 +export VER=v240620
 +curl http://docs.khadas.com/_export/code/scripts/oowow-dump2xz?codeblock=0 | sh -s -
 +```
 +
 +==== VIM4 Android 14 ====
 +
 +<WRAP important >
 +''OSVER'' and ''VER'' must be setup properly and related with installed eMMC system
 +</WRAP>
 +
 +```sh VIM4 Android 14
 +export OSVER=14
 +export VER=v240820
 +export BOOT=1
 +curl http://docs.khadas.com/_export/code/scripts/oowow-dump2xz?codeblock=0 | sh -s -
 +```
 +
 +==== Edge2 Anrdoid 14 ====
 +```sh
 +unset BOOT
 +export OSVER=14
 +export VER=v240820
 +curl http://docs.khadas.com/_export/code/scripts/oowow-dump2xz?codeblock=0 | sh -s -
 +```
 +
 +==== VIM1S Anrdoid 11 ====
 +```sh
 +unset BOOT
 +export OSVER=11
 +export VER=v240820
 +curl http://docs.khadas.com/_export/code/scripts/oowow-dump2xz?codeblock=0 | sh -s -
 ``` ```
  
Last modified: 2024/08/21 22:48 by hyphop