-
Notifications
You must be signed in to change notification settings - Fork 136
Description
UBports Installer 0.11.2 (AppImage)
- Environment
Ubuntu 24.04.3 LTS noble linux 6.14.0-37-generic x64 NodeJS v20.18.3
- Device
- Target OS
Ubuntu Touch
Settings
{"bootstrap":true,"partition":true,"wipe":false,"channel":"24.04-1.x/arm64/android9plus/daily"}
Log
info: Welcome to the UBports Installer version 0.11.2!
verbose: Running on: Ubuntu 24.04.3 LTS noble linux 6.14.0-37-generic x64 NodeJS v20.18.3
verbose: Versions: {"node":"20.18.3","acorn":"8.14.0","ada":"2.9.2","ares":"1.34.4","base64":"0.5.2","brotli":"1.0.9","cjs_module_lexer":"1.4.1","cldr":"44.1","icu":"74.2","llhttp":"8.1.2","modules":"130","napi":"9","nghttp2":"1.61.0","openssl":"0.0.0","simdutf":"5.6.4","tz":"2024a","undici":"6.21.1","unicode":"15.1","uv":"1.46.0","uvwasi":"0.0.21","v8":"13.0.245.25-electron.0","zlib":"1.3.0.1-motley","electron":"33.4.11","chrome":"130.0.6723.191"}
debug: Setting up application menu
verbose: Reading config file: undefined
command: exec: {"cmd":["heimdall","detect"],"error":{"message":"Command failed: heimdall detect\nERROR: Failed to detect compatible download-mode device.","code":1},"stderr":"ERROR: Failed to detect compatible download-mode device."}
command: exec: {"cmd":["adb","-P",5037,"kill-server"],"stderr":"cannot connect to daemon at tcp:5037: Connection refused"}
command: exec: {"cmd":["adb","-P",5037,"start-server"],"stderr":"* daemon not running; starting now at tcp:5037\n* daemon started successfully"}
command: exec: {"cmd":["adb","-P",5037,"wait-for-any-any"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["adb","-P",5037,"get-state"],"stdout":"device"}
command: exec: {"cmd":["heimdall","detect"],"error":{"message":"Command failed: heimdall detect\nERROR: Failed to detect compatible download-mode device.","code":1},"stderr":"ERROR: Failed to detect compatible download-mode device."}
command: exec: {"cmd":["adb","-P",5037,"shell","getprop ro.product.device"],"stdout":"halium_arm64"}
info: device detected: halium_arm64
warn: The device halium_arm64 is not supported!
info: device selected: FP4
info: Installing Ubuntu Touch on your Fairphone 4 (FP4)
info: configuring...
info: settings: {"bootstrap":true,"partition":true,"wipe":false,"channel":"24.04-1.x/arm64/android9plus/daily"}
verbose: running step {"actions":[{"adb:reboot":{"to_state":"bootloader"}}],"fallback":[{"core:user_action":{"action":"bootloader"}}]}
verbose: running adb action reboot
command: exec: {"cmd":["adb","-P",5037,"reboot","bootloader"]}
verbose: running step {"actions":[{"fastboot:wait":null}]}
verbose: running fastboot action wait
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"]}
command: exec: {"cmd":["fastboot","devices"],"stdout":"3ba99a78\tfastboot"}
verbose: running step {"actions":[{"fastboot:assert_var":{"variable":"unlocked","value":"yes"}}],"fallback":[{"core:user_action":{"action":"unlock_phone"}}]}
verbose: running fastboot action assert_var
command: exec: {"cmd":["fastboot","devices"],"stdout":"3ba99a78\tfastboot"}
command: exec: {"cmd":["fastboot","getvar","unlocked"],"stderr":"unlocked: yes\nFinished. Total time: 0.001s"}
verbose: running step {"actions":[{"fastboot:set_active":{"slot":"a"}}]}
verbose: running fastboot action set_active
command: exec: {"cmd":["fastboot","--set-active=a"],"stderr":"Setting current slot to 'a' OKAY [ 0.041s]\nFinished. Total time: 0.043s"}
verbose: running step {"actions":[{"core:download":{"group":"firmware","files":[{"url":"https://cdimage.ubports.com/devices/FP4/boot.img","checksum":{"sum":"c1ab7a12e48edddc089cd93265e475ff58242919427520a589fc19203c8fb628","algorithm":"sha256"}},{"url":"https://cdimage.ubports.com/devices/FP4/dtbo.img","checksum":{"sum":"68ad83e20eb2b47592c2b7fe48161893770b1727c7b7ce7240504eaf8612d733","algorithm":"sha256"}},{"url":"https://cdimage.ubports.com/devices/FP4/recovery.img","checksum":{"sum":"f5b867a95295de34a77294160282c52fe1cd4d3847535f32c0be4a466bc55432","algorithm":"sha256"}}]}}],"condition":{"var":"bootstrap","value":true}}
verbose: running core action download
debug: checking previously downloaded firmware files
info: Downloading 3 files
debug: downloading firmware files
info: Downloaded file 1 of 3
info: Downloaded file 2 of 3
info: Downloaded file 3 of 3
verbose: running step {"actions":[{"fastboot:flash":{"partitions":[{"partition":"boot","file":"boot.img","group":"firmware","raw":true},{"partition":"dtbo","file":"dtbo.img","group":"firmware","raw":true},{"partition":"recovery","file":"recovery.img","group":"firmware","raw":true}]}}],"condition":{"var":"bootstrap","value":true}}
verbose: running fastboot action flash
command: exec: {"cmd":["fastboot","devices"],"stdout":"3ba99a78\tfastboot"}
command: exec: {"cmd":["fastboot","devices"],"stdout":"3ba99a78\tfastboot"}
command: spawn:start: {"cmd":["fastboot","flash:raw","boot","/home/noname/.cache/ubports/FP4/firmware/boot.img"]}
command: spawn:exit: {"cmd":["fastboot","flash:raw","boot","/home/noname/.cache/ubports/FP4/firmware/boot.img"]}
command: spawn:start: {"cmd":["fastboot","flash:raw","dtbo","/home/noname/.cache/ubports/FP4/firmware/dtbo.img"]}
command: spawn:exit: {"cmd":["fastboot","flash:raw","dtbo","/home/noname/.cache/ubports/FP4/firmware/dtbo.img"]}
command: spawn:start: {"cmd":["fastboot","flash:raw","recovery","/home/noname/.cache/ubports/FP4/firmware/recovery.img"]}
command: spawn:exit: {"cmd":["fastboot","flash:raw","recovery","/home/noname/.cache/ubports/FP4/firmware/recovery.img"]}
verbose: running step {"actions":[{"fastboot:reboot_fastboot":null}],"fallback":[{"core:user_action":{"action":"fastbootd"}}],"condition":{"var":"partition","value":true}}
verbose: running fastboot action reboot_fastboot
command: exec: {"cmd":["fastboot","reboot-fastboot"],"stderr":"Rebooting into fastboot OKAY [ 0.002s]\n< waiting for any device >\nFinished. Total time: 28.730s"}
verbose: running step {"actions":[{"fastboot:delete_logical_partition":{"partition":"system_ext_a"}},{"fastboot:delete_logical_partition":{"partition":"system_ext_b"}},{"fastboot:delete_logical_partition":{"partition":"product_a"}},{"fastboot:delete_logical_partition":{"partition":"product_b"}},{"fastboot:delete_logical_partition":{"partition":"system_b"}},{"fastboot:delete_logical_partition":{"partition":"vendor_b"}},{"fastboot:delete_logical_partition":{"partition":"odm_b"}},{"fastboot:resize_logical_partition":{"partition":"system_a","size":3221225472}}],"condition":{"var":"partition","value":true}}
verbose: running fastboot action delete_logical_partition
command: exec: {"cmd":["fastboot","delete-logical-partition","system_ext_a"],"stderr":"Deleting 'system_ext_a' OKAY [ 0.022s]\nFinished. Total time: 0.022s"}
verbose: running fastboot action delete_logical_partition
command: exec: {"cmd":["fastboot","delete-logical-partition","system_ext_b"],"stderr":"Deleting 'system_ext_b' OKAY [ 0.004s]\nFinished. Total time: 0.004s"}
verbose: running fastboot action delete_logical_partition
command: exec: {"cmd":["fastboot","delete-logical-partition","product_a"],"stderr":"Deleting 'product_a' OKAY [ 0.004s]\nFinished. Total time: 0.004s"}
verbose: running fastboot action delete_logical_partition
command: exec: {"cmd":["fastboot","delete-logical-partition","product_b"],"stderr":"Deleting 'product_b' OKAY [ 0.004s]\nFinished. Total time: 0.004s"}
verbose: running fastboot action delete_logical_partition
command: exec: {"cmd":["fastboot","delete-logical-partition","system_b"],"stderr":"Deleting 'system_b' OKAY [ 0.005s]\nFinished. Total time: 0.005s"}
verbose: running fastboot action delete_logical_partition
command: exec: {"cmd":["fastboot","delete-logical-partition","vendor_b"],"stderr":"Deleting 'vendor_b' OKAY [ 0.005s]\nFinished. Total time: 0.005s"}
verbose: running fastboot action delete_logical_partition
command: exec: {"cmd":["fastboot","delete-logical-partition","odm_b"],"stderr":"Deleting 'odm_b' OKAY [ 0.005s]\nFinished. Total time: 0.005s"}
verbose: running fastboot action resize_logical_partition
command: exec: {"cmd":["fastboot","resize-logical-partition","system_a",3221225472],"stderr":"Resizing 'system_a' OKAY [ 0.005s]\nFinished. Total time: 0.005s"}
verbose: running step {"actions":[{"fastboot:reboot_bootloader":null}],"fallback":[{"core:user_action":{"action":"bootloader_from_fastbootd"}}],"condition":{"var":"partition","value":true}}
verbose: running fastboot action reboot_bootloader
command: exec: {"cmd":["fastboot","reboot-bootloader"],"stderr":"Rebooting into bootloader OKAY [ 0.000s]\nFinished. Total time: 0.151s"}
verbose: skipping step {"actions":[{"fastboot:erase":{"partition":"userdata"}}],"condition":{"var":"wipe","value":true}}
verbose: skipping step {"actions":[{"fastboot:format":{"partition":"userdata","type":"ext4"}}],"condition":{"var":"wipe","value":true}}
verbose: running step {"actions":[{"fastboot:reboot_recovery":null}],"fallback":[{"core:user_action":{"action":"recovery"}}]}
verbose: running fastboot action reboot_recovery
command: exec: {"cmd":["fastboot","reboot-recovery"],"stderr":"< waiting for any device >\nRebooting into recovery OKAY [ 0.003s]\nFinished. Total time: 0.304s"}
verbose: running step {"actions":[{"systemimage:install":{"verify_recovery":true}}]}
verbose: running systemimage action install
verbose: running step {"actions":[{"core:download":{"group":"Ubuntu Touch","files":[{"url":"https://system-image.ubports.com//pool/rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz","checksum":{"sum":"fb803657386d2e1ab1366762e5814354de6976e21c84cfc1a2daf88c1ed785b2","algorithm":"sha256"}},{"url":"https://system-image.ubports.com//pool/rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz.asc"},{"url":"https://system-image.ubports.com//pool/device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz","checksum":{"sum":"f5eca3224493cf8f5087ef396d2112688c90225d39462ee49ad8fd573fb72eda","algorithm":"sha256"}},{"url":"https://system-image.ubports.com//pool/device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz.asc"},{"url":"https://system-image.ubports.com//pool/boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz","checksum":{"sum":"628a151bd5135010e6abf2bacaf21149a99888eba3cfdc779abe11b0bdbe5e35","algorithm":"sha256"}},{"url":"https://system-image.ubports.com//pool/boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz.asc"},{"url":"https://system-image.ubports.com//pool/keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz","checksum":{"sum":"afc915925ff6b23316b99c032435220bd791990b52db9bed25981754b3708e0a","algorithm":"sha256"}},{"url":"https://system-image.ubports.com//pool/keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz.asc"},{"url":"https://system-image.ubports.com//24.04-1.x/arm64/android9plus/daily/FP4/version-806.tar.xz","checksum":{"sum":"5a354a017434052bd4a3134595ac300f4eca820b878083f7593620460e2ae69c","algorithm":"sha256"}},{"url":"https://system-image.ubports.com//24.04-1.x/arm64/android9plus/daily/FP4/version-806.tar.xz.asc"},{"url":"https://system-image.ubports.com/gpg/image-signing.tar.xz"},{"url":"https://system-image.ubports.com/gpg/image-signing.tar.xz.asc"},{"url":"https://system-image.ubports.com/gpg/image-master.tar.xz"},{"url":"https://system-image.ubports.com/gpg/image-master.tar.xz.asc"}]}},{"core:write":{"content":"format system\nload_keyring image-master.tar.xz image-master.tar.xz.asc\nload_keyring image-signing.tar.xz image-signing.tar.xz.asc\nmount system\n\nupdate rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz.asc\nupdate device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz.asc\nupdate boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz.asc\nupdate keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz.asc\nupdate version-806.tar.xz version-806.tar.xz.asc\nunmount system","group":"Ubuntu Touch","file":"ubuntu_command"}},{"adb:wait":null},{"adb:assert_prop":{"prop":"ro.ubuntu.recovery","value":"true"}},{"adb:preparesystemimage":null},{"adb:push":{"group":"Ubuntu Touch","files":["rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz","rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz.asc","device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz","device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz.asc","boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz","boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz.asc","keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz","keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz.asc","version-806.tar.xz","version-806.tar.xz.asc","image-signing.tar.xz","image-signing.tar.xz.asc","image-master.tar.xz","image-master.tar.xz.asc","ubuntu_command"],"dest":"/cache/recovery/"}}]}
verbose: running core action download
debug: checking previously downloaded Ubuntu Touch files
info: Downloading 14 files
debug: downloading Ubuntu Touch files
info: Downloaded file 1 of 14
info: Downloaded file 2 of 14
info: Downloaded file 3 of 14
info: Downloaded file 4 of 14
info: Downloaded file 5 of 14
info: Downloaded file 6 of 14
info: Downloaded file 7 of 14
info: Downloaded file 8 of 14
info: Downloaded file 9 of 14
info: Downloaded file 10 of 14
info: Downloaded file 11 of 14
info: Downloaded file 12 of 14
info: Downloaded file 13 of 14
info: Downloaded file 14 of 14
verbose: running core action write
verbose: running adb action wait
command: exec: {"cmd":["adb","-P",5037,"wait-for-any-any"]}
command: exec: {"cmd":["adb","-P",5037,"get-state"],"stdout":"recovery"}
verbose: running adb action assert_prop
command: exec: {"cmd":["adb","-P",5037,"shell","getprop ro.ubuntu.recovery"],"stdout":"true"}
verbose: running adb action preparesystemimage
command: exec: {"cmd":["adb","-P",5037,"shell","mount -a"],"error":{"message":"Command failed: adb -P 5037 shell mount -a\nmount: '/dev/block/bootdevice/by-name/persist'->'/mnt/vendor/persist': No such file or directory\nmount: '/dev/block/bootdevice/by-name/misc'->'/misc': No such file or directory\nmount: '/dev/block/bootdevice/by-name/modem_a'->'/vendor/firmware_mnt': No such file or directory\nmount: '/dev/block/bootdevice/by-name/dsp_a'->'/vendor/dsp': No such file or directory\nmount: '/dev/block/bootdevice/by-name/bluetooth_a'->'/vendor/bt_firmware': No such file or directory\nmount: '/dev/block/bootdevice/by-name/boot_a'->'/boot': No such file or directory\nmount: '/dev/block/bootdevice/by-name/dtbo_a'->'/dtbo': No such file or directory\nmount: '/dev/block/bootdevice/by-name/recovery_a'->'/recovery': No such file or directory","code":1},"stderr":"mount: '/dev/block/bootdevice/by-name/persist'->'/mnt/vendor/persist': No such file or directory\nmount: '/dev/block/bootdevice/by-name/misc'->'/misc': No such file or directory\nmount: '/dev/block/bootdevice/by-name/modem_a'->'/vendor/firmware_mnt': No such file or directory\nmount: '/dev/block/bootdevice/by-name/dsp_a'->'/vendor/dsp': No such file or directory\nmount: '/dev/block/bootdevice/by-name/bluetooth_a'->'/vendor/bt_firmware': No such file or directory\nmount: '/dev/block/bootdevice/by-name/boot_a'->'/boot': No such file or directory\nmount: '/dev/block/bootdevice/by-name/dtbo_a'->'/dtbo': No such file or directory\nmount: '/dev/block/bootdevice/by-name/recovery_a'->'/recovery': No such file or directory"}
command: exec: {"cmd":["adb","-P",5037,"shell","cat /etc/recovery.fstab"],"stdout":"# Copyright (c) 2018, The Linux Foundation. All rights reserved.\n#\n# Redistribution and use in source and binary forms, with or without\n# modification, are permitted provided that the following conditions are\n# met:\n# * Redistributions of source code must retain the above copyright\n# notice, this list of conditions and the following disclaimer.\n# * Redistributions in binary form must reproduce the above\n# copyright notice, this list of conditions and the following\n# disclaimer in the documentation and/or other materials provided\n# with the distribution.\n# * Neither the name of The Linux Foundation nor the names of its\n# contributors may be used to endorse or promote products derived\n# from this software without specific prior written permission.\n#\n# THIS SOFTWARE IS PROVIDED \"AS IS\" AND ANY EXPRESS OR IMPLIED\n# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT\n# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS\n# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\n# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN\n# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n# Android fstab file.\n# The filesystem that contains the filesystem checker binary (typically /system) cannot\n# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK\n\n#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>\nsystem \t\t\t\t\t/system ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey\nsystem_ext /system_ext ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount\nproduct /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount\nvendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount\nodm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount\n/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount\n# Add fs_mgr flag - sysfs_path=/sys/devices/platform/soc/xxxx.[ufshc|sdhci] to userdata entry, based on UFS|eMMC device.\n/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,quota,reservedsize=128M,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,checkpoint=fs\n/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,quota,reservedsize=128M,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,checkpoint=fs\n/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait\n/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults\n/devices/platform/soc/8804000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer\n/devices/platform/soc/1da4000.ufshc_card/host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer\n/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto\n/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337 wait,slotselect\n/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect\n/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337 wait,slotselect\n\n# Recovery only entries for OTA\n/dev/block/bootdevice/by-name/boot_a /boot emmc defaults recoveryonly\n/dev/block/bootdevice/by-name/dtbo_a /dtbo emmc defaults recoveryonly\n/dev/block/bootdevice/by-name/recovery_a /recovery emmc defaults recoveryonly"}
command: exec: {"cmd":["adb","-P",5037,"shell","rm -rf /cache/*"]}
command: exec: {"cmd":["adb","-P",5037,"shell","mkdir -p /cache/recovery"]}
debug: adb created /cache/recovery directory
verbose: running adb action push
command: spawn:start: {"cmd":["adb","-P",5037,"push","/home/noname/.cache/ubports/FP4/Ubuntu Touch/rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/version-806.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/version-806.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/image-signing.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/image-signing.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/image-master.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/image-master.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/ubuntu_command","/cache/recovery/"]}
command: exec: {"cmd":["adb","-P",5037,"shell","mount"],"stdout":"rootfs on / type rootfs (rw,size=2648160k,nr_inodes=662040)\ntmpfs on /dev type tmpfs (rw,nosuid,relatime,size=3836824k,nr_inodes=959206,mode=755)\ndevpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)\nproc on /proc type proc (rw,relatime,gid=3009,hidepid=2)\nsysfs on /sys type sysfs (rw,relatime)\ntmpfs on /mnt type tmpfs (rw,nosuid,nodev,noexec,relatime,size=3836824k,nr_inodes=959206,mode=755,gid=1000)\ntmpfs on /apex type tmpfs (rw,nosuid,nodev,noexec,relatime,size=3836824k,nr_inodes=959206,mode=755)\ntmpfs on /linkerconfig type tmpfs (rw,nosuid,nodev,noexec,relatime,size=3836824k,nr_inodes=959206,mode=755)\ntmpfs on /mnt/installer type tmpfs (rw,nosuid,nodev,noexec,relatime,size=3836824k,nr_inodes=959206,mode=755,gid=1000)\ntmpfs on /mnt/androidwritable type tmpfs (rw,nosuid,nodev,noexec,relatime,size=3836824k,nr_inodes=959206,mode=755,gid=1000)\nnone on /acct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct)\ntmpfs on /tmp type tmpfs (rw,relatime,size=3836824k,nr_inodes=959206)\ntmpfs on /storage type tmpfs (rw,relatime,size=3836824k,nr_inodes=959206,mode=050,gid=1028)\nnone on /config type configfs (rw,relatime)\nadb on /dev/usb-ffs/adb type functionfs (rw,relatime)\nfastboot on /dev/usb-ffs/fastboot type functionfs (rw,relatime)\n/dev/block/sda11 on /cache type ext4 (rw,relatime,stripe=2)\n/dev/block/sda7 on /metadata type ext4 (rw,relatime,discard)\n/dev/block/sda11 on /data type ext4 (rw,relatime,stripe=2)"}
debug: ext4 data partition ok
command: spawn:exit: {"cmd":["adb","-P",5037,"push","/home/noname/.cache/ubports/FP4/Ubuntu Touch/rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/rootfs-abab2da33592f52c0fbc203bfda938611566fa542280607296d7e47e39828a15.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/device-c38f96c38f1655cd5c7880b17a2c18d9794e67bc6e68f4d1be065c36b6498b4e.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/boot-b739aae7306da345c1437beafabd3961343ddce02a475c4f37b3e37de21308ac.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/keyring-162141caf64cd64c4ca014760930c524e4ee051e0afe1200c47c42cebf11fd44.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/version-806.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/version-806.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/image-signing.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/image-signing.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/image-master.tar.xz","/home/noname/.cache/ubports/FP4/Ubuntu Touch/image-master.tar.xz.asc","/home/noname/.cache/ubports/FP4/Ubuntu Touch/ubuntu_command","/cache/recovery/"]}
verbose: running step {"actions":[{"adb:reboot":{"to_state":"recovery"}}],"fallback":[{"core:user_action":{"action":"recovery"}}]}
verbose: running adb action reboot
command: exec: {"cmd":["adb","-P",5037,"reboot","recovery"]}
verbose: running step {"actions":[{"core:end":null}]}
verbose: running core action end
info: All done! Your device will now reboot and complete the installation. Enjoy exploring Ubuntu Touch!
Description
First, it is unclear if the DEB version of the installer should be used on Ubuntu 24.04 or the AppImage. AppImage feels "safer" in a way, but the Debian package has a higher version 0.11.3 which adds to the insecurity. One does NOT want any issues here (which means additional work). Tried both, with the same "error", which in this case is that the installer cannot identify a Fairphone 4 already having Ubuntu Touch 20.04 OTA 7 which for some reason cannot be updated to a later version of Ubuntu Touch. That means a complete reinstall is the only least time consuming option to go for.
The installer (both DEB and AppImage) fails to identify Fairphone 4 with error warn: The device halium_arm64 is not supported!. That is very confusing. Ubuntu Touch installer not being able to recognize a Fairphone 4 already running Ubuntu Touch 20.04 OTA 7 is strange. Fairphone 4 is selected manually. Wipe personal data is also checked to simulate a clean install.
Both installers (DEB and AppImage) fail to do adb reboot bootloader. Instead Fairphone 4 is shut off. Fairphone 4 seems to have this annoying information at the start telling the human that the bootloader is unlocked which is extremely dangerous. To pass it you have to press the power button. This should not be neccessary. It is fine to show the information, but after three seconds it should skip and go to the bootloader as specified.
This error prompts for extensive research what could be wrong. Drivers missing? No, adb recognizes that there is "something" connected.
The solution is to manually press any combination of power button + volume up (should be the one according to the internet), or power button + volume down, or just power button for a long time, probably 10 seconds. When Ubuntu Touch 20.04 is booted, open a terminal and type: sudo reboot -f bootloader. Enter the passcode previously set in the Developer Mode step. To enable Developer mode in Ubuntu Touch: It is located in Settings/About/Developer mode. Ubuntu Touch will say that you need to set pass lock for this to work.
Wait until the bootloader menu appears on Fairphone 4. Check the Ubuntu Touch installer. It should now start to download files and reinstall Ubuntu Touch on Fairphone 4. It takes about 5 minutes.
If you run Ubuntu Touch installer in a terminal, it will output something like:
$ ./ubports-installer_0.11.2_linux_x86_64.AppImage
info: Welcome to the UBports Installer version 0.11.2!
info: device detected: halium_arm64
warn: The device halium_arm64 is not supported!
info: device selected: FP4
info: Installing Ubuntu Touch on your Fairphone 4 (FP4)
info: configuring...
info: settings: {"bootstrap":true,"partition":true,"wipe":false,"channel":"24.04-1.x/arm64/android9plus/daily"}
info: Downloading 3 files
info: Downloaded file 1 of 3
info: Downloaded file 2 of 3
info: Downloaded file 3 of 3
info: Downloading 14 files
info: Downloaded file 1 of 14
info: Downloaded file 2 of 14
info: Downloaded file 3 of 14
info: Downloaded file 4 of 14
info: Downloaded file 5 of 14
info: Downloaded file 6 of 14
info: Downloaded file 7 of 14
info: Downloaded file 8 of 14
info: Downloaded file 9 of 14
info: Downloaded file 10 of 14
info: Downloaded file 11 of 14
info: Downloaded file 12 of 14
info: Downloaded file 13 of 14
info: Downloaded file 14 of 14
info: All done! Your device will now reboot and complete the installation. Enjoy exploring Ubuntu Touch!
This information should be available on the Fairphone 4 device page. Quite many people seem to experience this kind of issue that the Ubuntu Touch installer does not do what it is supposed to do.