I don’t have any download for C2
(I have to stop for today, thank you @ohnonot for helping!)
I don’t have any download for C2
(I have to stop for today, thank you @ohnonot for helping!)
There’s no hybris-recovery for 5.0.0.62 for C2 either.
Maybe it’s possible to ssh into the half-booted device (Sailfish OS logo) via USB.
Otherwise you definitely should contact customer support. They are friendly & willing.
I have now reverted the offending changes and updated the package again. Installed it on my phone, rebooted, and all is good.
The timer now triggers the service once a day, but the script only rebuilds the hosts file from cached files + black/whitelist, until the cached files are older than interval (default 7 days); only then are the lists fetched again.
Please see /usr/share/doc/hosts-block/cfg.sh
I will re-implement the auto-update feature as soon as I have time to thoroughly test it (weekend probably).
I wasn’t able to enter recovery mode with my XA2 as well. After some trial and error with different usb cables I was able to flash my phone with fastboot. That’s definitely another solution to bring the phone back to normal.
I managed to get into recovery mode and mounted the directory as instructed. But when trying to remove the hosts-block files, I get an error “rm: can’t remove ‘hosts-block*’: No such file or directory”
Same for the second line. I must be doing something wrong but can’t figure out what… I am pretty sure I am looking for the files in the correct directory, where else could the offending files be located?
EDIT: Here are the terminal output:
~ # mount /dev/mapper/sailfish-root mnt
~ # cd mnt/etc/systemd/system/
/mnt/etc/systemd/system # rm hosts-block*
rm: can't remove 'hosts-block*': No such file or directory
/mnt/etc/systemd/system # ls
actdead.target.wants home.mount.d runlevel4.target timers.target.wants
basic.target.wants local-fs.target.wants situations-daemon.service user@.service.wants
getty.target.wants multi-user.target.d sockets.target.wants
home-mount-settle.service.d multi-user.target.wants systemd-user-sessions.service.d
/mnt/etc/systemd/system # rm *wants/hosts-block
rm: can't remove '*wants/hosts-block': No such file or directory
The second command is wrong: it should be rm *wants/hosts-block*
and that’s probably all that needs to be removed.
Sorry to hear that but it should have been possible. I have used XA2 myself for years.
Things that could have had an impact:
It’s different for C2 users, see this thread.
Thanks a million, now the phone is booting normally.
Thank you very much for the quick responses, your work is greatly appreciated!
Ohh noo… Man, i got same stuck on Sony logo on XA2 only today, after reboot. Omg.
Upd. Downloaded 5.0.0.62…zip file from jolla.com for 4 hours. Alleluja. I’m back on Sailfish.
Is there currently a risk of bricking devices by using the package? Should it be uninstalled, or how can the bricking be prevented?
Not anymore, not the latest version.
As I stated before, I forgot the dogfooding. This won’t happen anymore.
Should it be uninstalled
If the old offending version is still on your phone, just issue
devel-su rm /etc/systemd/system/*wants/hosts-block*
Then update to 0.0.6+master.20250305221205.34d9777 or uninstall, as you wish.
If your boot is stuck at the Sailfis OS logo follow these instructions. Then update to the latest version 0.0.6+master.20250305221205.34d9777.
Did you succeed booting into recovery and fixing the problem there?
Yep, got hybris-recovery.img from zip archive of 5.0.0.62 firmware, and it was different by size from 4.6.0.15 firmware (wanted risk and fastboot with it, but… No). Waited 4 hours for firmware download from shop.jolla.com patiently. Login via telnet, come to Shell, do commands that you wrote, just reboot (for xa2 nothing additional needed to revert from recovery). Phone successfully loading. Adblock working. Updated from Chum:Testing on last 0.0.6-…1.7.1.bso version of Hosts-block. Hope next reboot will be successful :]
Same issue with me as well, bootloop . After following the recovery procedure it worked fine
Maybe somebody noticed that I pushed out two versions in the past couple days; ultimately functionality is still the same:
The script works. Auto-update on file changes in ~/.config/hosts-block
does not.
If you happened to already install yesterday’s update (hosts-block-0.0.7+master.20250310132218.34fbc13) and have now updated to the latest (hosts-block-0.0.7+master.20250312083221.f8ce95f) you might want to check if rpm
disabled hosts-block-watch-config.service
. It does no harm but will, in some cases, produce extra CPU cycles.
I first tried to implement file change monitoring with systemd .path units, and they are what broke the package. Starting them manually worked fine, but starting them during system init broke the bootup process.
Many reboots & tests later I’m still not 100% sure why; I enabled persistent journaling but it seems this breakage did not produce any log output whatsoever.
Now I’m trying to implement file change monitoring with inotify-tools
(new dependency, thanks nephros) but that, too, carries lots of pitfalls (not of the bricking kind though).
Systemd approach is probably fine if you just have a normally behaving service that every few hours executes a reload, it’s neither crucial during boot-up sequence, nor should block anything else? No need to force anything, no need for requires/depends, just execute a curl/.sh on a timer and if it fails, let other services go on in peace? Standard cron behaviour. Still waiting on the post-mortem how you managed to brick people’s phones and how you changed your flow to prevent this in the future, I’m actually worried about chum future if there is no proper analysis and any suggestions how to prevent it as it was few days of people chiming in with: yay works great, there is literally zero QA between chum testing and prod it seems (at least the openrepos guy posted some comments about that fail, no idea where to find those in chum), if downloading random app from chum = reflash, yeah forget about it (on openrepos at least people can be sure X guy’s repo will not accidentally make it in by disabling his repo, in chum you let everything in, is there a way to block untrustworthy publishers???)
edit: wait nevermind
No chance for a postmortem if you’re still unsure what you did wrong, still would like to hear from chum guys how this is allowed @nephros @rinigus @piggz anyone? Is chum to be treated as possible brick of your phone?
Chum does not have any QA, we’re just not set up for that. Developers are responsible for their apps, Chum admins are responsible for ensuring packages build, are correctly licensed and meet any other chum criteria. Fully testing every package submitted is not part of that im afraid.