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:55] hyphop |
scripts:oowow-dump2xz [2024/12/16 10:40] (current) hyphop |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== oowow-dump2xz ====== | ====== oowow-dump2xz ====== | ||
- | http:// | + | - https:// |
+ | - https:// | ||
===== Online usage examples ===== | ===== 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 > | ||
+ | '' | ||
+ | |||
+ | </ | ||
'' | '' | ||
Line 9: | Line 21: | ||
export OSVER=14 \\ | export OSVER=14 \\ | ||
export VER=v240822-beta \\ | export VER=v240822-beta \\ | ||
- | curl http:// | + | export BOOT=1 \\ |
+ | #export REMOTE=192.168.31.x \\ | ||
+ | #export REMOTE=edge2-12345.local \\ | ||
+ | curl http:// | ||
+ | ls -l1 *.img.xz | ||
'' | '' | ||
Line 19: | 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 29: | 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 41: | 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 56: | 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 67: | Line 98: | ||
label=${label: | label=${label: | ||
OSVER=${OSVER: | OSVER=${OSVER: | ||
- | VER=${VER:-v240725-beta} | + | VER=${VER:-v240820} |
- | OUT=${OUT: | + | OUT=${OUT: |
echo " | echo " | ||
Line 77: | 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 | ||
+ | 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:// | ||
``` | ``` | ||