Budowanie paczki startowej z kodami
To jest nasza wewnętrzna instrukcja do tworzenia paczki startowej.
Może się to komuś przyda do wykonania własnego mechanizmu wykonywania kopii zapasowej całego systemu.
Czym jest paczka kodów startowych
Wszystkie programy napisane w C/C++ (tzw binarki), pakiety pythona i pakiety nodejs i ogólnie wszystkie kody które są na bramce znajdują się w paczce startowej.
Paczka ta jest spakowaną zawartością katalogu /data/data/pl.sviete.dom/files/
Uwaga
uwaga opisane tu skrypty (./backup_ais.sh
) i polecenia usuwają identyfikator bramki, opcjonalne serwisy, wszystkie hasła i lokalne ustawienia, tak żeby paczka z kodami startowymi była przenośna pomiędzy bramkami. Możesz użyć tych rzeczy jako bazę do stworzenia własnego mechanizmu kopii zapasowej, ale NIE uruchamiaj tych rzeczy na bramce jeśli nie rozumiesz ich działania, bo stracisz wszystkie swoje ustawienia.
Jak powstaje paczka startowa
Paczka powstaje na “fizycznej bramce” DEV1
Tworzymy ją skryptem ./backup_ais.sh
który znajduje się na każdej bramce w lokalizacji /data/data/pl.sviete.dom/.ais
Cały proces tworzenia nowej paczki startowej wygląda następująco:
1. Wyczyszczenie bramki - pobranie poprzedniej paczki startowej
Łączymy się po ADB do bramki i usuwamy folder /data/data/pl.sviete.dom/files/
su -c "rm -rf /data/data/pl.sviete.dom/files/"
następnie restartujemy bramkę
su -c "reboot now"
Bramka podczas uruchamiania, gdy nie ma katalogu /data/data/pl.sviete.dom/files/
“rozumie”, że nastąpił pełen reset aplikacji i stara się pobrać paczkę startową z naszego serwisu https://powiedz.co/ota Jeżeli się to nie uda (brak połączenia z siecią) to pobiera paczkę z fabrycznej kopii partycji na urządzeniu z lokalizacji /system/media/oem
Następnie rozpakowuje kody z paczki startowej do lokalizacji /data/data/pl.sviete.dom/files/
2. Aktualizacja systemu
W starej paczce startowej nie ma aktualnych kodów które wydaliśmy przed utworzeniem paczki. Dlatego po uruchomieniu bramki na starej (poprzedniej paczce startowej) musimy ją zaktualizować - tą samą procedurą z aplikacji lub pilota jak każdy.
3. Tworzenie nowej paczki startowej
Po aktualizacji (punkt 2.) mamy najnowsze kody (pliki w folderze /data/data/pl.sviete.dom/files/
) i możemy robić nową paczkę.
W tym celu uruchamiamy skrypt ./backup_ais.sh
i cierpliwie czekamy aż system się spakuje:
jak widać cały system to obecnie: 12508 folders, 84108 files, 1186320674 bytes (1132 MiB)
po spakowaniu daje to 259 MiB
4. Udostępnienie paczki na serwer powiedz.co
Taką spakowaną paczkę kopiujemy na serwer powiedz.co bezpośrednio z lokalizacji na bramce /sdcard/files.tar.7z
za pomocą komendy scp:
5. Test nowej paczki
Żeby mieć pewność, że nowa paczka startowa jest OK, wykonujemy na naszej bramce test. Ponownie usuwamy folder /data/data/pl.sviete.dom/files/
i restartujemy bramkę:
su -c "rm -rf /data/data/pl.sviete.dom/files/"
następnie restartujemy bramkę
su -c "reboot now"
Bramka podczas uruchamiania, gdy nie ma katalogu … pobierze najnowszą paczkę i uruchomi system.
Logujemy się do bramki:
Sprawdzamy wersję i logi:
Paczka działa, mamy zabezpieczenie na wypadek gdyby komuś nie udało się zaktualizować - możemy wydawać nową wersję