SFOS refactoring project (news thread)

UPDATE #25

The average current consumption has been reduced to 22 mAh on average and the Sailors menu has been added to deal with major SailFish OS tasks like backup and restore:

Do the root filesystem back-up immediately after installation takes near 122 seconds and to restore it, takes 68 seconds. The back-up can be seriously speed up using 8 processors for pigz instead of the 4 enabled at this time. Just matter of writing two functions:

  • cpus_full_power() for 8 cores with schedutil as scheduler
  • cpus_half_power() for 4 cores with conservative as scheduler

Obviously, also taskset -pc 0-4 $$ for the first and taskset -pc 0-7 $$. The cose is just ready to support the different hardware configurations 4:4 for mark2 and 2:6 for mark3.

With all the CPU working and set with schedutil as scheduler, timings are:

  • backup 122s → 75s
  • restore 68s → 45s

The Factory reset option is not still operative but listed as TODO.

UPDATE #26

Punkt. puts a like on my MP01 clone post on LinkedIn.

link: Roberto A. Foglietta on LinkedIn: WELCOME BACK NOKIA 3310 Inspired by Punkt. MP01, I have decided to adapt…

I presume that my educated guess about cross-branding and cross-marketing as a benefit for both parties has been positively understood.

Are they going to sue me because I used their phone layout as background image? I do not think so. The two products do not completely overlap on the market and therefore, it is a cross-product (or cross-branding) marketing. Both enjoy the co-competition and my virtual terminal is a spot for their product: we copy the best.

link: Where to go after Sailfish? - #272 by robang74

After all, who tries the virtual clone is much more keen to buy the real device and who has bought the real device is happy to know that the smartphone is going to buy is offering a virtual clone because it confirms that s/he bought a valuable product.

How much the virtual clone will imitate the real device, is a matter of a commercial deal among the parties { vendors, distributors, professional modders } vs Punkt. Those prefer to go with the cheaper but iconic 3310 will find a deal with Nokia. All the others can have an unbranded virtual phone or their own customized terminal.

What RedFish OS should provide is just a reasonable easy way to customize that terminal in such a way the { vendors, distributors, professional modders } can adapt it to their own business model as long as they are not going to have a deal for delivering a ready-to-go iconic or branded template.

In the books this is called the DIY dilemma: buy it ready to go or do it by yourself. Nothing new.

UPDATE #27

Look to my coming on the first light of the fifth day, at dawn look to the east.

The smartphone was left sleeping but not completely untouched for 5 near 6 days

redfishos:~ # uptime
 09:07:23 up 5 days, 21:03,  0 users,  load average: 1.40, 1.22, 1.14

It started the challenge with a fully charged battery (3600 mAh by official specification)

=> Status battery: 100%, not charging n/a good

and I got it a bit before it was completely gone:

=> Status battery: 1%, charging fast good,

The average current confirm that the smartphone which never had been connected to an USB port, nevertheless had some interaction in these days:

=> Current 10s average absorption:
  \_ samples: 5964
  \_ min: 22 mAh
  \_ avg: 26 mAh in [26, 72] mAh
  \_ max: 72 mAh

Even if the average presented is over-rated compared the reality, in fact:

  • 26 x ((24 x 5) + 21) = 3.666 mAh

  • (3600 x 0.99) / 141 = 25.28 mAh

  • 25.51 x 141 / 0.99 = 3633 mAh

However, a 1% of tolerance into the battery capacity or a small rounding error could explain pretty well the deviation observed. On the other hand, this also means that the numbers we are looking at, are real at 99%, at least, which is a great news.

UPDATE #28

Today, I have added a feature about a permanent storage for some configuration parameters.

First of all, it is important to clarify that a recovery image for its nature SHOULD NOT rely on any kind of persistent data otherwise its mission to be ALWAYS available and ALWAYS identical in its features among services different boots would be gone and moreover a persistent data can break it.

However, because the RedFish OS can be also used for assisting developers, modders and debuggers. It make sense that they can save some persistent data somewhere which is strictly associated with the bootable recovery image like the WLAN name and password, for example.

This can be acceptable as far as and as long as that data can be used just after the boot and by a manual procedure like a specific menu. The functions are:

redfishos:~ # rflist boot_perm
boot_perm_umount
boot_perm_is_mounted
boot_perm_device
boot_perm_loopdev
boot_perm_setup
boot_perm_mkfs
boot_perm_mount
boot_perm_free

redfishos:~ # boot_perm_mount; df -h $PERMCFS
Filesystem  Size  Used Available Use% Mounted on
/dev/loop0  3.9M   512      3.9M   0% /perm

To activate the permanent area the function boot_perm_setup() and boot_perm_mkfs() will provide the necessary features. I choose the VFAT in order to maximize the free space because it is just 4MB and the EXT4 or even the EXT2 filesystem would have took too much space. The size is purposely small to prevent and to disincentive its misuse.

How does it work?

The main idea is that apart the RedFish OS recovery image everything else is compromised or potentially unreliable. Possibly, also the RedFish OS recovery image could be broken but with a single fastboot upload the recovery image can be easily restored.

The script that generates the recovery image prevent the image to be bigger than 60MB and thus 4MB are always left free at the end of the boot_a partition. The last 4MB are left free and unwritten by the fastboot command and this grants the persistence among uploads.

The same happens for the boot_b partition, obviously.

The system knows on which partition is booted from and it will uses the related last 4MB. A menu voice that allows to copy the persistence area from boot_a and boot_b will be added but not the viceversa because it is dangerous supporting the idea that the user can arbitrary choose to boot from boot_b rather than boot_a. Because the boot_b can also contains something completely different like an emergency phone or an hidden system/data.

Everything else is just a set of functions in shell scripting.

Persistence menu

The persistence menu is a contextual one:

Depending the state of the persistence, it shows some options rather than others.

UPDATE #29

Minimum current absorption reached the 18mAh, the average is unchanged but it depends on the interactions: every power button press brings awake the smartphone for 15 minutes. It is reasonable to reduce the average reducing it to 5 minutes. With this trick, I managed to reach 21.36 mAh on average which is a milestone because 21.4 mAh means 7 full days (a week) of stand-by.

UPDATE #30

BEYOND GOOGLE & APPLE DUOPOLY
FOSS alternatives for digital mobility

StatsCounter tells us that in May '23, the market share for smartphone OSes is split in this way:

  • Android/Google 67.6%
  • iOS/Apple 31.6%

Which means the remaining is less than 1%. Today we are speaking about that 1%: available alternatives, future outlook, and, most importantly, why we have to care about that 1%.

Spoiler: because a study by the University of Edinburgh and Trinity College Dublin published in Q4/2021 proves what all we know – our smartphones leak our personal data and meta-data constantly.

2 Likes

Its a really small world!

1 Like

UPDATE #31

SFSCON 2023, material

1 Like

robang74 has a point here. The recovery images are more than limited and in fact are buggy. i.e. the root password on sshd is wrong.

It would be nice to boot a somewhat powerful recovery with “fastboot boot” without the need to flash over boot_a/b. Or flash it to recovery_a/b and boot into it on demand. The having to find a matching recovery/boot and flash there and back for 10 II and 10 III is a real problem when people have to actually recover!

But the whole communication style is questionable for sure, i happen to know robang74 from another project where his technical excellence was massively overshadowed by the way he presents his work and tries to make his points.

6 Likes

That was very interesting - would’ve loved to have seen the end.
They even had a “we’re back after the break” where they could’ve let you continue into.

the user you are trying to communicate with has been permanently banned

6 Likes

Ah well, at least he posted at one time.
The forum seems very quiet from anyone in a position to provide info about SFOS from Jolla’s end.

1 Like

Jolla have had a kind of buyout by an original founder.
We didn’t get much pre-release info from them before because elements of the community just aren’t mature enough to handle it. Also, their AI device now has to compete with a phone that can find your keys.

robang was mentally unstable and threatened people. He’s the only person to ever be banned from the forums.

8 Likes

You seem top know the reasons for the ban. Not knowing him well i feel sorry for him. But i don’t have the whole picture, maybe that would change my opinion

2 Likes

I assume it’s because he threatened people (for the second time).

He seriously rubbed people up the wrong way eg he implied the unpaid developers here were lazy and was arrogant with them around Linux coding.
And so he was attacked a lot. Being attacked triggered his less-than-sane tendencies.

Ideally, someone would have coached him how to deal with this situation and maybe get him the mental health support he needed. I did try & help him but it was a major project and I’ve got my own time-consuming health issues.

7 Likes

mmm, well, there have been others banned from the old forum tjc in the early days. But its generally very civilized in here, yeah :smiley:

2 Likes

and also wrote:

He “threatened” people posting things like these (see the screenshot at the end of this comment) in the forum and he left the forum (my job is done here, message) when he decided that the idea of having a completely different approach to the boot image as independent way of dealing with any operative system based on Linux/Android (you can find the architecture in the slides on the SFSCON 2023 presentation). While the reasons of the ban remain unknown apart a comment form the new jolly company that was saying “not bringing any value here but just debates”. Which was true under some point of view because he never released the bootable image code nor any binary about that, just videos.

Considering these facts, we can agree that he made a devastating impact in this forum, in particular on those hoping that finally something real would have happened. But apart few user guides, documentation, slides, speech (video) and poem, nothing that people could make in run on their smartphones. After all, who would have dared to install a bootable image created by a “suspicious outsider” instead of a fully-fledged company? In his shoes, I would do the same thing: here the documentations, do by yourself. Let me guess, the SFOS’ rescue image SSH is still broken and the telnet IP address is still shown in such a small characters that cannot be read? Am I right?

1 Like

2 months later: Did someone order a sock puppet?

4 Likes

No, it is not broken and IP address is legible but small.

Sorry, I will try again and be more precise. The SFOS rescue image offers a SSH service configuration and shows a telnet IP banner like it was doing when this photo has been taken? Am I right?

Screenshot from 2024-09-23 23-09-42

Because the font SIZE of that banner is the same size as the “ciao ciao” that you probably missed in the RAF SFOS DEBUG banner screenshot above. On the left top. Please zoom in and confirm to me that the “crazy bastard” threatened the whole forum community by replacing the telnet IP banner with a “ciao ciao” which means “adios” in Spanish or “good bye” in English.

I have been sent here to take a look at his contribution after his account had been frozen and I still remember a shell script to produce an image from a text. Something that reminded me of the ASCII games on '90 consoles or the mu-cow banner on UNIX terminals…

cowsay "ciao ciao"
 ___________
< ciao ciao >
 -----------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Yah, I see why has been considered an outsider. He left behind the cowsay. Very suspicious, a real nerd would never have missed such a command and wrote a shell script, instead. Oops, I just noticed now that SFOS banner-display’s binary cannot show multiple-lines text…

…damn outsider, he always finds a good reason to stay outside the herd!