This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
scripts:oowow-dump2xz [2024/08/21 22:48] hyphop |
scripts:oowow-dump2xz [2025/07/24 23:57] (current) hyphop [Auto convert] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== oowow-dump2xz ====== | ====== oowow-dump2xz ====== | ||
| - | ===== Online usage ===== | + | - https:// |
| + | - https:// | ||
| + | |||
| + | |||
| + | ===== 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 > | ||
| + | '' | ||
| + | |||
| + | </ | ||
| '' | '' | ||
| - | mkdir FOO && cd FOO \\ | + | mkdir Android-14-vim4 |
| - | curl http:// | + | export OSVER=14 \\ |
| + | export VER=v240822-beta \\ | ||
| + | export BOOT=1 \\ | ||
| + | #export REMOTE=192.168.31.x \\ | ||
| + | #export REMOTE=edge2-12345.local | ||
| + | curl http:// | ||
| + | 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 " | lowcase(){ echo " | ||
| Line 25: | Line 45: | ||
| XZE=https:// | XZE=https:// | ||
| XZE=http:// | XZE=http:// | ||
| + | |||
| + | for D in *-dump.img.zst; | ||
| + | O=${D%.*} | ||
| + | [ -s " | ||
| + | CMD zstd -d " | ||
| + | done | ||
| for D in *-dump.img; do | for D in *-dump.img; do | ||
| Line 37: | Line 63: | ||
| echo " | echo " | ||
| [ " | [ " | ||
| + | |||
| + | boot=boot0 | ||
| + | [ " | ||
| + | echo copy boot area | ||
| + | ssh root@$REMOTE cat / | ||
| + | ls -l1 $boot | ||
| + | } | ||
| + | |||
| T=$BOARD.sfdisk | T=$BOARD.sfdisk | ||
| ssh root@$REMOTE sfdisk --dump \$\(/ | ssh root@$REMOTE sfdisk --dump \$\(/ | ||
| 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 / |
| + | grep $USER_DATA $T | while read a b c d e f g h j k l m ; do | ||
| [ " | [ " | ||
| - | 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 " | ||
| CMD curl -L " | CMD curl -L " | ||
| CMD zstd -d $DUMP.zst | CMD zstd -d $DUMP.zst | ||
| Line 63: | Line 98: | ||
| label=${label: | label=${label: | ||
| OSVER=${OSVER: | OSVER=${OSVER: | ||
| - | VER=${VER:-v240725-beta} | + | VER=${VER:-v240820} |
| - | OUT=${OUT: | + | OUT=${OUT: |
| echo " | echo " | ||
| Line 73: | Line 108: | ||
| CMD mv " | CMD mv " | ||
| - | CMD sh ./xze " | + | bootloader(){ |
| + | [ " | ||
| + | boot=${boot: | ||
| + | echo "BOOT LOADER ' | ||
| + | BOOT_OFFSET=$(du -b " | ||
| + | BOOT_SIZE=$(du -b " | ||
| + | echo "copy boot area $boot to $OUT by $BOOT_OFFSET + $BOOT_SIZE">& | ||
| + | gzip -c $boot >> " | ||
| + | echo bootloader=$BOOT_OFFSET | ||
| + | } | ||
| + | |||
| + | xze=$(which xze) | ||
| + | xze=${xze:-./xze} | ||
| + | [ -s " | ||
| + | |||
| + | CMD sh $xze " | ||
| --meta \ | --meta \ | ||
| label=" | label=" | ||
| builder=" | builder=" | ||
| - | date=" | + | date=" |
| match=BOARD=$BOARD \ | match=BOARD=$BOARD \ | ||
| + | $(bootloader) \ | ||
| duration=90 \ | duration=90 \ | ||
| desc=" | desc=" | ||
| ``` | ``` | ||
| + | ```shell logs | ||
| + | |||
| + | mkdir Android-14-vim4 && cd Android-14-vim4 | ||
| + | export OSVER=14 | ||
| + | export VER=v240822-beta | ||
| + | |||
| + | |||
| + | curl http:// | ||
| + | % Total % Received % Xferd Average Speed | ||
| + | | ||
| + | 100 1837 0 1837 0 | ||
| + | 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, | ||
| + | rtt min/ | ||
| + | BOARD: VIM4 | ||
| + | Warning: Permanently added ' | ||
| + | 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, | ||
| + | Dump image from VIM4 > VIM4-emmc-dump.img 4159700992 bytes ...wait... | ||
| + | % Total % Received % Xferd Average Speed | ||
| + | | ||
| + | 100 8485 0 8485 0 | ||
| + | # curl -L 172.22.1.1/ | ||
| + | % Total % Received % Xferd Average Speed | ||
| + | | ||
| + | 100 1032M 0 1032M 0 | ||
| + | # zstd -d VIM4-emmc-dump.img.zst | ||
| + | VIM4-emmc-dump.img.zst: | ||
| + | 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 | ||
| + | [i] padded to 926724096 from 926722204 + 1892 | ||
| + | [i] XZ info | ||
| + | Strms Blocks | ||
| + | 1 45 883.8 MiB 4,017.0 MiB 0.220 CRC64 | ||
| + | |||
| + | [i] add meta block | ||
| + | |||
| + | ## | ||
| + | FILE: vim4-android-14-v240822-beta.img.xz | ||
| + | UNPACKED_SIZE: | ||
| + | PACKED_SIZE: | ||
| + | FILE_SIZE: 926728192 | ||
| + | ## | ||
| + | |||
| + | ## | ||
| + | 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 | ||
| + | ## | ||
| + | ## | ||
| + | [i] padded to 4096 from 308 + 3788 | ||
| + | ``` | ||
| + | |||
| + | ==== HowTo Check meta ==== | ||
| + | |||
| + | ```shell | ||
| + | khadas@localhost:/ | ||
| + | Strms Blocks | ||
| + | 2 46 839.1 MiB 4,019.3 MiB 0.209 CRC64 | ||
| + | [i] blocks: 46 // 839.1*MiB // 4,019.3*MiB | ||
| + | ## | ||
| + | FILE: vim4n-android-14-v240820.raw.img.xz | ||
| + | UNPACKED_SIZE: | ||
| + | PACKED_SIZE: | ||
| + | FILE_SIZE: 879853568 | ||
| + | ## | ||
| + | |||
| + | ## | ||
| + | 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: | ||
| + | duration: 90 | ||
| + | desc: VIM4 Android 14 v240820 | ||
| + | image: vim4n-android-14-v240820.raw.img | ||
| + | ## | ||
| + | ## | ||
| + | ``` | ||
| + | |||
| + | <WRAP tip > | ||
| + | **bootloader: | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ==== VIM4 Android 11 ==== | ||
| + | |||
| + | <WRAP important > | ||
| + | '' | ||
| + | </ | ||
| + | |||
| + | ```sh VIM4 Android 11 | ||
| + | unset BOOT | ||
| + | export OSVER=11-64bit | ||
| + | export VER=v240620 | ||
| + | export REMOTE=xx.xx.xx.xx | ||
| + | curl http:// | ||
| + | ``` | ||
| + | |||
| + | ==== VIM4 Android 14 ==== | ||
| + | |||
| + | <WRAP important > | ||
| + | '' | ||
| + | </ | ||
| + | |||
| + | ```sh VIM4 Android 14 | ||
| + | export OSVER=14 | ||
| + | export VER=v240820 | ||
| + | export BOOT=1 | ||
| + | curl http:// | ||
| + | ``` | ||
| + | |||
| + | ==== Edge2 Anrdoid 14 ==== | ||
| + | ```sh | ||
| + | unset BOOT | ||
| + | export OSVER=14 | ||
| + | export VER=v240820 | ||
| + | curl http:// | ||
| + | ``` | ||
| + | |||
| + | ==== VIM1S Anrdoid 11 ==== | ||
| + | ```sh | ||
| + | unset BOOT | ||
| + | export OSVER=11 | ||
| + | export VER=v240820 | ||
| + | curl http:// | ||
| + | ``` | ||
| + | |||
| + | ==== OOWOW Meta ==== | ||
| + | |||
| + | ```sh oowow_meta | ||
| + | #!/bin/sh | ||
| + | ## hyphop ## | ||
| + | #? USAGE: oowow_meta | ||
| + | case $1 in | ||
| + | "" | ||
| + | grep -m1 USAGE " | ||
| + | ;; | ||
| + | http:// | ||
| + | *) set -xe ; tail -c4096 " | ||
| + | esac | ||
| + | ``` | ||
| + | |||
| + | ===== Auto convert ===== | ||
| + | |||
| + | |||
| + | Copy paste one-liner usage: | ||
| + | |||
| + | '' | ||
| + | |||
| + | ```sh aml-android-convert-oowow | ||
| + | #!/bin/sh | ||
| + | ## hyphop ## | ||
| + | |||
| + | # create oowow / android installation image for vim4 with full bootloaders | ||
| + | |||
| + | export OSVER=${OSVER: | ||
| + | export VER=${VER: | ||
| + | export BOOT=${BOOT: | ||
| + | export AML_IMAGE=${AML_IMAGE: | ||
| + | # | ||
| + | MIRROR=${MIRROR: | ||
| + | AML_SRC=${AML_SRC: | ||
| + | |||
| + | case $AML_IMAGE in | ||
| + | vim4*) BOARD=VIM4 ;; | ||
| + | esac | ||
| + | |||
| + | echo "OWOWO convert $AML_IMAGE OSVER: $OSVER IMG_VER: $VER" | ||
| + | |||
| + | [ -s " | ||
| + | echo " | ||
| + | wget " | ||
| + | md5sum " | ||
| + | } | ||
| + | |||
| + | [ -s " | ||
| + | echo "Flash image using amlburn $AML_IMAGE" | ||
| + | echo "Press KEY_FN x 3 times - and press ENTER to continue" | ||
| + | read YES | ||
| + | amlburn " | ||
| + | echo " | ||
| + | read YES | ||
| + | date > " | ||
| + | } | ||
| + | |||
| + | echo "Read to Dump image and convert into oowow format..." | ||
| + | echo "Press KEY_FN + RESET - to boot into oowow mode and press ENTER to continue" | ||
| + | read YES | ||
| + | curl " | ||
| + | |||
| + | ``` | ||