Sinovoip hat ein kleines Tool veröffentlicht, mit dem man ein bestehendes SD-Karten-Image aktualisieren kann, ohne eine Neuinstallation des Images.

Vorgehensweise:

Mit git die bpi-tools clonen.

root@bpi-iot-ros-ai:~# git clone https://github.com/BPI-SINOVOIP/bpi-tools.git
Cloning into 'bpi-tools'...
remote: Counting objects: 49, done.
remote: Total 49 (delta 0), reused 0 (delta 0), pack-reused 49
Unpacking objects: 100% (49/49), done.
Checking connectivity... done.

 Verzeichnis wechseln

root@bpi-iot-ros-ai:~# cd bpi-tools

Befehl zum Updaten der bpi-tools

root@bpi-iot-ros-ai:~/bpi-tools# ./bpi-tools -u -U
F_UPDATE=yes
F_UPGRADE=yes
BPIFILE=/root/.bpi-tools.lst
Wait for download index file ...
OK!!\n
bpi files:
bpi-tools v1.2.0(github)
bpi-bootsel v1.0.6a
bpi-copy v1.0.11a
bpi-get v1.0.3(github)
bpi-migrate v1.3.2a(github)
bpi-hw v1.2.8
bpi-update v1.3.2a
download bpi files:
bpi-tools
bpi-tools: OK
bpi-tools: v1.2.0(github)
bpi-bootsel
bpi-bootsel: OK
bpi-bootsel: v1.0.6a
bpi-copy
bpi-copy: OK
bpi-copy: v1.0.11a
bpi-get
bpi-get: OK
bpi-get: v1.0.3(github)
bpi-migrate
bpi-migrate: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
bpi-migrate: v1.3.2b(github)
bpi-hw
bpi-hw: OK
bpi-hw: v1.2.8
bpi-update
bpi-update: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
bpi-update: v1.3.4(github)
upgrade bpi files:
/usr/bin/bpi-tools
/usr/bin/bpi-bootsel
/usr/bin/bpi-copy
/usr/bin/bpi-get
/usr/bin/bpi-migrate
/usr/bin/bpi-hw
/usr/bin/bpi-update
bpi files:
/usr/bin/bpi-tools v1.2.0(github)
/usr/bin/bpi-bootsel v1.0.6a
/usr/bin/bpi-copy v1.0.11a
/usr/bin/bpi-get v1.0.3(github)
/usr/bin/bpi-migrate v1.3.2b(github)
/usr/bin/bpi-hw v1.2.8
/usr/bin/bpi-update v1.3.4(github)

Befehl um die Version der bpi-tools anzuzeigen

root@bpi-iot-ros-ai:~/bpi-tools# bpi-tools -v
F_VERSION=yes
bpi files:
/usr/bin/bpi-tools v1.2.0(github)
/usr/bin/bpi-bootsel v1.0.6a
/usr/bin/bpi-copy v1.0.11a
/usr/bin/bpi-get v1.0.3(github)
/usr/bin/bpi-migrate v1.3.2b(github)
/usr/bin/bpi-hw v1.2.8
/usr/bin/bpi-update v1.3.4(github)


Updaten der Installation

root@bpi-iot-ros-ai:~/bpi-tools/update_file# sudo bpi-update -c bpi-m2u.conf
CONFFILE=bpi-m2u.conf
Wait for download bpi-m2u.conf ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/others/for-bpi-tools/conf/board/bpi-m2u.conf
OK!!\n
INFO: /dev/mmcblk0 : SD/eMMC !!
umount device: /dev/mmcblk0
######################
update /dev/mmcblk0p1(vfat) with BPI-BOOT-bpi-m2u.tgz
######################
Wait for download BPI-BOOT-bpi-m2u.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-BOOT/BPI-BOOT-bpi-m2u.tgz
OK!!\n
tar xf BPI-BOOT-bpi-m2u.tgz --keep-directory-symlink -C /mnt
total 24
drwxr-xr-x 3 root root 16384 Nov 29 11:12 .
drwxr-xr-x 23 root root 4096 Nov 8 11:04 ..
drwxr-xr-x 3 root root 4096 Nov 29 11:12 bananapi
######################
update /dev/mmcblk0p2(root) with bpi-tools.tgz BOOTLOADER-bpi-m2u.tgz 3.10.65-BPI-M2U-Kernel.tgz libvdpau_sunxi.tgz bpi-service.tgz addons.tgz bt.tgz camera.tgz camera-apps.tgz brcm.tgz
######################
Wait for download bpi-tools.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/bpi-tools.tgz
OK!!\n
tar xf bpi-tools.tgz --keep-directory-symlink -C /
Wait for download BOOTLOADER-bpi-m2u.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/BOOTLOADER-bpi-m2u.tgz
OK!!\n
tar xf BOOTLOADER-bpi-m2u.tgz --keep-directory-symlink -C /
Wait for download 3.10.65-BPI-M2U-Kernel.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/3.10.65-BPI-M2U-Kernel.tgz
OK!!\n
tar xf 3.10.65-BPI-M2U-Kernel.tgz --keep-directory-symlink -C /
Wait for download libvdpau_sunxi.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/libvdpau_sunxi.tgz
OK!!\n
tar xf libvdpau_sunxi.tgz --keep-directory-symlink -C /
Wait for download bpi-service.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/bpi-service.tgz
OK!!\n
tar xf bpi-service.tgz --keep-directory-symlink -C /
Wait for download addons.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/addons.tgz
OK!!\n
tar xf addons.tgz --keep-directory-symlink -C /
Wait for download bt.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/bt.tgz
OK!!\n
tar xf bt.tgz --keep-directory-symlink -C /
Wait for download camera.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/camera.tgz
OK!!\n
tar xf camera.tgz --keep-directory-symlink -C /
Wait for download camera-apps.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/camera-apps.tgz
OK!!\n
tar xf camera-apps.tgz --keep-directory-symlink -C /
Wait for download brcm.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/brcm.tgz
OK!!\n
tar xf brcm.tgz --keep-directory-symlink -C /
total 84
drwxr-xr-x 23 root root 4096 Nov 8 11:04 .
drwxr-xr-x 23 root root 4096 Nov 8 11:04 ..
drwxr-xr-x 2 root root 4096 Nov 21 08:55 bin
drwxr-xr-x 3 root root 4096 May 15 2016 boot
drwxr-xr-x 13 root root 4560 Dec 22 02:34 dev
drwxr-xr-x 84 root root 4096 Nov 22 15:29 etc
drwxr-xr-x 3 root root 4096 May 5 2016 home
drwxr-xr-x 18 root root 4096 Nov 27 2015 lib
drwx------ 2 root root 16384 May 1 2016 lost+found
drwxr-xr-x 2 root root 4096 Apr 19 2016 media
drwxr-xr-x 2 root root 4096 Apr 19 2016 mnt
drwxr-xr-x 2 root root 4096 Apr 19 2016 opt
dr-xr-xr-x 133 root root 0 Jan 1 1970 proc
drwx------ 4 root root 4096 Dec 22 02:36 root
drwxr-xr-x 15 root root 500 Dec 22 02:35 run
drwxr-xr-x 2 root root 4096 May 15 2016 sbin
drwxr-xr-x 2 root root 4096 May 1 2016 selinux
drwxr-xr-x 2 root root 4096 Apr 19 2016 srv
dr-xr-xr-x 12 root root 0 Jan 1 2010 sys
drwxr-xr-x 3 root root 4096 Nov 27 2015 system
drwxrwxrwt 7 root root 180 Dec 22 02:36 tmp
drwxr-xr-x 10 root root 4096 Dec 21 18:13 usr
drwxr-xr-x 11 root root 4096 Jul 4 21:22 var
INFO: online system: skip umount /

Neustart

root@bpi-iot-ros-ai:~/bpi-tools/update_file# shutdown -r now

Fertig.

root@bpi-iot-ros-ai:~# uname -a
Linux bpi-iot-ros-ai 3.10.65-BPI-M2U-Kernel #5 SMP Tue Nov 29 03:11:02 UTC 2016 armv7l GNU/Linux

Was jetzt neu dazugekommen ist, kann ich im Moment nicht genau sagen. Was mir aufgefallen ist:

root@bpi-iot-ros-ai:~/bpi-tools# tar -tvf bt.tgz
drwxr-xr-x root/root 0 2016-11-22 15:25 ./
drwxr-xr-x root/root 0 2016-11-22 15:29 ./etc/
drwxr-xr-x root/root 0 2016-07-04 20:48 ./etc/default/
-rwxr-xr-x root/root 1269 2016-09-20 16:00 ./etc/default/ap6212
drwxr-xr-x root/root 0 2016-11-22 15:25 ./usr/
drwxr-xr-x root/root 0 2016-07-04 20:48 ./usr/local/
drwxr-xr-x root/root 0 2016-12-01 08:54 ./usr/local/bin/
-rwxr-xr-x root/root 20152 2016-12-01 08:12 ./usr/local/bin/brcm_patchram_plus
-rwxr-xr-x root/root 1364 2016-11-30 16:34 ./usr/local/bin/bpi-bt-patch
-rwxr-xr-x root/root 5684 2016-06-21 07:57 ./usr/local/bin/brcm_bt_reset
-rwxr-xr-x root/root 30 2016-06-21 07:35 ./usr/local/bin/bt_reset.sh
-rwxr-xr-x root/root 617 2016-06-21 10:11 ./usr/local/bin/bpi-bt-on

Oder auch das hier

root@bpi-iot-ros-ai:~/bpi-tools# tar -tvf brcm.tgz
drwxr-xr-x root/root 0 2016-11-08 11:04 ./
drwxr-xr-x root/root 0 2015-11-27 20:10 ./system/
drwxr-xr-x root/root 0 2015-11-27 20:10 ./system/vendor/
drwxr-xr-x root/root 0 2015-11-27 20:10 ./system/vendor/modules/
-rw-r--r-- root/root 323 2015-07-20 19:04 ./system/vendor/modules/config.txt
-rw-r--r-- root/root 204070 2015-07-20 19:04 ./system/vendor/modules/fw_bcm40181a2_apsta.bin
-rw-r--r-- root/root 1123 2015-07-20 19:04 ./system/vendor/modules/nvram_ap6181.txt
-rw-r--r-- root/root 210822 2015-07-20 19:04 ./system/vendor/modules/fw_bcm40181a2.bin
-rw-r--r-- root/root 212536 2015-07-20 19:04 ./system/vendor/modules/fw_bcm40181a2_p2p.bin
drwxr-xr-x root/root 0 2015-11-27 20:10 ./lib/
drwxr-xr-x root/root 0 2015-11-27 20:10 ./lib/firmware/
drwxr-xr-x root/root 0 2015-11-27 20:10 ./lib/firmware/ap6210/
-rw-r--r-- root/root 206163 2015-04-07 02:53 ./lib/firmware/ap6210/fw_bcm40181a2_apsta.bin
-rw-r--r-- root/root 26621 2015-04-07 02:53 ./lib/firmware/ap6210/bcm20710a1.hcd
-rw-r--r-- root/root 219557 2015-04-07 02:53 ./lib/firmware/ap6210/fw_bcm40181a2.bin
-rw-r--r-- root/root 1178 2015-04-07 02:53 ./lib/firmware/ap6210/nvram_ap6210.txt
-rw-r--r-- root/root 219557 2015-04-07 02:53 ./lib/firmware/ap6210/fw_bcm40181a2_p2p.bin
drwxr-xr-x root/root 0 2016-11-08 11:42 ./lib/firmware/ap6212/
-rwxr-xr-x root/root 136 2015-09-08 18:43 ./lib/firmware/ap6212/config.txt
-rwxr-xr-x root/root 956 2015-09-10 20:49 ./lib/firmware/ap6212/nvram.txt
-rw-r--r-- root/root 40568 2016-11-08 11:39 ./lib/firmware/ap6212/bcm43438a0.hcd
-rwxr-xr-x root/root 309352 2015-09-08 18:43 ./lib/firmware/ap6212/fw_bcm43438a0_apsta.bin
-rwxr-xr-x root/root 374608 2016-11-08 10:48 ./lib/firmware/ap6212/fw_bcm43438a1.bin
-rwxr-xr-x root/root 956 2015-09-08 18:43 ./lib/firmware/ap6212/nvram_ap6212.txt
-rwxr-xr-x root/root 326074 2015-09-10 20:49 ./lib/firmware/ap6212/fw_bcmdhd.bin
-rwxr-xr-x root/root 326074 2015-09-08 18:43 ./lib/firmware/ap6212/fw_bcm43438a0.bin
-rw-r--r-- root/root 33376 2016-11-08 11:39 ./lib/firmware/ap6212/bcm43438a1.hcd
-rwxr-xr-x root/root 374608 2016-11-08 10:48 ./lib/firmware/ap6212/fw_bcm43438a1_p2p.bin
-rwxr-xr-x root/root 326074 2015-09-08 18:43 ./lib/firmware/ap6212/fw_bcm43438a0_p2p.bin
-rwxr-xr-x root/root 374608 2016-11-08 10:48 ./lib/firmware/ap6212/fw_bcm43438a1_apsta.bin
drwxr-xr-x root/root 0 2015-11-27 20:10 ./lib/firmware/brcm/
-rwxr-xr-x root/root 1123 2015-09-07 08:37 ./lib/firmware/brcm/brcmfmac43362-sdio.txt

Sehr interessant :) Die Sachen liegen im bpi-tools Ordner, einfach mal reinschauen! Die Tage mal was zum Testen..