maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   SailfishOS (https://talk.maemo.org/forumdisplay.php?f=52)
-   -   Sailfish OS on Sony Xperia X (community build) (https://talk.maemo.org/showthread.php?t=99875)

juiceme 2018-10-24 18:23

Re: Sailfish OS on Sony Xperia X (community build)
 
Quote:

Originally Posted by nieldk (Post 1549637)
Sounds good, but probably would be a bit more helpful with link to the modified HADK ?

Good point, by "modified HADK" I mean the procedure described here; https://sailfishos.org/wiki/Sailfish_X_Build_and_Flash

juiceme 2018-10-24 18:29

Re: Sailfish OS on Sony Xperia X (community build)
 
@coco_f2001 it seems to me you are building in virtualbox, right?
It should not make a difference but maybe it does, in this case.
I myself am using the chroot environment so cannot say offhand what is failing in your setup.

coco_f2001 2018-10-25 04:10

Re: Sailfish OS on Sony Xperia X (community build)
 
Yes I was using the link you mentioned: https://sailfishos.org/wiki/Sailfish_X_Build_and_Flash

It must be something changed in the procedure from the previous versions probably.

coco_f2001 2018-11-09 09:03

Re: Sailfish OS on Sony Xperia X (community build)
 
I managed to install the trial official image from the Jolla store.
Looks good!

https://shop.jolla.com/

Kabouik 2018-12-04 23:53

Re: Sailfish OS on Sony Xperia X (community build)
 
Quote:

Originally Posted by meemorph (Post 1535928)
Thank you, very nice hint. I can confirm that it works. I added 4GB to rootfs (btw: I have /home/nemo on the sd card).

what I did on my XperiaX (recovery shell):
Code:

lvm
lvm> lvscan
  ACTIVE            '/dev/sailfish/root' [2.44 GiB] inherit
  ACTIVE            '/dev/sailfish/home' [18.25 GiB] inherit
lvm> exit

resize2fs /dev/sailfish/home 11G

lvm
lvm> lvresize -L -4096M /dev/sailfish/home
lvm> lvresize -l +100%FREE /dev/sailfish/root
lvm> lvscan
  ACTIVE            '/dev/sailfish/root' [6.44 GiB] inherit
  ACTIVE            '/dev/sailfish/home' [14.25 GiB] inherit
lvm> exit

resize2fs /dev/sailfish/home
resize2fs /dev/sailfish/root
exit


I am trying that on an X Compact (Sailfish X patched from here). The phone has been running Sailfish X for weeks with no issues. I went into Recovery mode (using this and this).

Except some Input/Output warnings at the beginning (but other people have had this too with no consequences), everything seemed to go well until "resize2fs /dev/sailfish/home". At this step, I get the following:

Code:

/ # resize2fs /dev/sailfish/home
resize2fs 1.43.1 (08-Jun-2016)
Resizing the filesystem on /dev/sailfish/home to 4144128 (4k) blocks.
resize2fs: Can't read a block bitmap while trying to resize /dev/sailfish/home
Please run 'e2fsck -fy /dev/sailfish/home' to fix the filesystem
after the aborted resize operation.
/ #

And unfortunately "e2fsck -fy /dev/sailfish/home" fails too:

Code:

/ # e2fsck -fy /dev/sailfish/home
e2fsck 1.43.1 (08-Jun-2016)
The filesystem size (according to the superblock) is 5192704 blocks
The physical size of the device is 4144128 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort? yes

Any ideas? I haven't rebooted yet because I'm afraid it will fail, but on the other hand I don't expect to receive an answer tonight. :<

Kabouik 2018-12-05 01:14

Re: Sailfish OS on Sony Xperia X (community build)
 
I tried to revert it to what it was with this:

Code:

lvm> lvreduce -L -4g /dev/sailfish/root
  WARNING: Reducing active and open logical volume to 2.44 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce sailfish/root? [y/n]: y
  Size of logical volume sailfish/root changed from 6.44 GiB (1649 extents) to 2.44 GiB (625 extents).
  Logical volume sailfish/root successfully resized.
lvm> pvdisplay
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 0: Input/output error
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 4128768: Input/output error
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 4186112: Input/output error
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 4096: Input/output error
  --- Physical volume ---
  PV Name              /dev/mmcblk0p51
  VG Name              sailfish
  PV Size              22.25 GiB / not usable 3.00 MiB
  Allocatable          yes
  PE Size              4.00 MiB
  Total PE              5696
  Free PE              1024
  Allocated PE          4672
  PV UUID              kCP1du-tUEV-1u0I-733O-g3bG-z0d1-VZXIAw
 
lvm> lvextend -L +4g /dev/sailfish/home
  Size of logical volume sailfish/home changed from <15.81 GiB (4047 extents) to <19.81 GiB (5071 extents).
  Logical volume sailfish/home successfully resized.
lvm> exit
  Exiting.
/ # resize2fs /dev/sailfish/home
resize2fs 1.43.1 (08-Jun-2016)
The filesystem is already 5192704 (4k) blocks long.  Nothing to do!

/ # resize2fs /dev/sailfish/root
resize2fs 1.43.1 (08-Jun-2016)
resize2fs: New size smaller than minimum (829066)

/ # lvm
lvm> lvscan
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 0: Input/output error
  ACTIVE            '/dev/sailfish/root' [2.44 GiB] inherit
  ACTIVE            '/dev/sailfish/home' [<19.81 GiB] inherit
lvm> exit

But now I am in a boot loop, of course.

Back to recovery mode, it now says my root partition cannot be mounted:

Code:

-----------------------------
    Jolla Recovery v2.0
-----------------------------
Welcome to the recovery tool!
The available options are:
1) Reset device to factory state
2) Reboot device
3) Shell
4) Perform file system check
5) Run sshd
6) Exit
Type the number of the desired action and press [Enter]:
3

If you continue, this may void your warranty. Are you really SURE? [y/N] y

  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 0: Input/output error
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 4128768: Input/output error
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 4186112: Input/output error
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 4096: Input/output error
  2 logical volume(s) in volume group "sailfish" now active
mount: mounting /dev/sailfish/root on /rootfs failed: Invalid argument
[WARNING] Root file system unaccessible, bypassing device lock check.
/ #

I am kind of hopeless, I would really want to avoid a factory reset. I know I should have made a backup, but I was probably too confident after doing the same procedure with no issues on my Jolla C several times. Even if a factory reset or even a Sailfish X reflash are the only way, I would want to backup my $HOME from the recovery shell first, but I have no idea how to do that since my rootfs does not mount anymore.

Kabouik 2018-12-05 02:06

Re: Sailfish OS on Sony Xperia X (community build)
 
Oh my. Is seems I have solved it by myself (this is the miraculous part) after multiple attempts. It's late so I won't detail/analyze what I did now, but for the record, below is the history of the recovery shell showing a session where rootfs still didn't mount:

Code:

    Jolla Recovery v2.0
-----------------------------
Welcome to the recovery tool!
The available options are:
1) Reset device to factory state
2) Reboot device
3) Shell
4) Perform file system check
5) Run sshd
6) Exit
Type the number of the desired action and press [Enter]:
3

If you continue, this may void your warranty. Are you really SURE? [y/N] y
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 0: Input/output error
  2 logical volume(s) in volume group "sailfish" now active
mount: mounting /dev/sailfish/root on /rootfs failed: Invalid argument
[WARNING] Root file system unaccessible, bypassing device lock check.
/ # df -h
Filesystem                Size      Used Available Use% Mounted on
none                      1.3G      4.0K      1.3G  0% /dev
none                    10.0M        0    10.0M  0% /tmp
none                    256.0K    12.0K    244.0K  5% /var/run
/ # ls
bin    etc    lib    proc    root    run    sys    usr
dev    init    mnt    res    rootfs  sbin    tmp    var
/ # resize2fs /dev/sailfish/root
resize2fs 1.43.1 (08-Jun-2016)
Resizing the filesystem on /dev/sailfish/root to 1164288 (4k) blocks.
resize2fs: Can't read a block bitmap while trying to resize /dev/sailfish/root
Please run 'e2fsck -fy /dev/sailfish/root' to fix the filesystem
after the aborted resize operation.
/ # mke2fs -n /dev/sailfish/root
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
291456 inodes, 1164288 blocks
58214 blocks (5%) reserved for the super user
First data block=0
Maximum filesystem blocks=4194304
36 block groups
32768 blocks per group, 32768 fragments per group
8096 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736
/ # lvm
lvm> vgs
  /dev/mmcblk0rpmb: read failed after 0 of 4096 at 0: Input/output error
  VG      #PV #LV #SN Attr  VSize  VFree
  sailfish  1  2  0 wz--n- 22.25g    0
lvm> lvscan
  ACTIVE            '/dev/sailfish/root' [4.44 GiB] inherit
  ACTIVE            '/dev/sailfish/home' [<17.81 GiB] inherit
lvm> lvs
  LV  VG      Attr      LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home sailfish -wi-a----- <17.81g                                                   
  root sailfish -wi-a-----  4.44g                                                   
lvm> exit
  Exiting.
/ # resize2fs /dev/sailfish/home 17G
resize2fs 1.43.1 (08-Jun-2016)
Resizing the filesystem on /dev/sailfish/home to 4456448 (4k) blocks.
The filesystem on /dev/sailfish/home is now 4456448 (4k) blocks long.

/ # lvm
-----------------------------
    Jolla Recovery v2.0
-----------------------------
Welcome to the recovery tool!
The available options are:
1) Reset device to factory state
2) Reboot device
3) Shell
4) Perform file system check
5) Run sshd
6) Exit
Type the number of the desired action and press [Enter]:
2
Rebooting...

And unfortunately I can't see the history of what I did that fixed it, because I typed "exit" to return to the Recovery mode main menu and rebooted; it didn't keep the history.

From what I remember, I did something like the following (please don't paste those commands blindly, I'm not sure this is correct):

Code:

resize2fs /dev/sailfish/home 17G
lvm
vgs
lvresize -L -2048M /dev/sailfish/home
lvresize -l +100%FREE /dev/sailfish/root
lvscan
exit
resize2fs /dev/sailfish/home
resize2fs /dev/sailfish/root
exit

Still didn't work, went back to Recovery shell, rootfs still failed to mount:

Code:

resize2fs /dev/sailfish/home 15G
lvm
vgs
lvresize -L -2048M /dev/sailfish/home
lvresize -l +100%FREE /dev/sailfish/root
lvscan
exit
resize2fs /dev/sailfish/home
resize2fs /dev/sailfish/root
exit

And this time it worked. Again, please, don't reproduce these steps unless you want to bork your Xperia X. I am absolutely not sure what I listed is accurate since I may not remember exactly all commands I ran. However, it seems that the issue came from the 11G I used initially when following the Xperia X how-to I quoted, while maybe 15G was more appropriate for my device (either because the X Compact has different partition sizes, or because I had too much data on $HOME).

Pentona 2019-01-20 23:57

Re: Sailfish OS on Sony Xperia X (community build)
 
Quote:

Originally Posted by aspergerguy (Post 1538244)
Yes, managed to flash eventually using Mac but currently you do need to change name of SW_binaries_for_Xperia_AOSP_M_MR1_3.10_v13_loire. img to vendor_loire_.img to get it to flash as otherwise keep getting message:
Code:

The Sony Vendor partition image was not found in the current directory. Pleasedownload it from
https://developer.sonymobile.com/open-devices/list-of-devices-and-resources/
and unzip it into this directory.


I'm trying to install Sailfish X to Sony Xperia XA2 on a Mac and I'm stuck at that point, renaming the .img did not help.

aspergerguy 2019-01-21 14:31

Re: Sailfish OS on Sony Xperia X (community build)
 
For an XA2 you should be using SW_binaries_for_Xperia_Android_8.1.6.4_r1_v16_nile .img and no need to change image name.https://developer.sony.com/file/down...rnel-4-4-nile/

Only problem I found that on Mac needed to use
HTML Code:

./flash.sh
instead of
HTML Code:

flash.sh

DrYak 2019-02-21 07:43

Re: Sailfish OS on Sony Xperia X (community build)
 
hello,

out if curiosity, has somebody manage to built a community edition of Sailfish OS using the latest "Baseport 8" abstraction layer (like the one they use on Xperia XA2) atop of the current kernel 4.4 that Sony provides for AOSP 8.1 Oreo for the Xperia X ?
(or even the upcoming kernel 4.9 that is currently in beta at Sony and could go all.the way uo to AOSP 9 Pie)

that's even more interesting recently:
- that's not only a newer kernel that would fix some bugs.
- this is also the abstraction layer required to be running the new Android 8.1 compatibility layer ( and which the current 3.10 kernel for Android 6.0.1 used in the current abatraction layer obviously can't run)


All times are GMT. The time now is 02:45.

vBulletin® Version 3.8.8