[SailfishX] [Gemini] The rootfs is too small
The root file system is lower than 2.5GB. After a new flash round about 1GB is free if no applications are installed. That may cause problems with later updates. Please fix it soon. This bug is known since SailfishX for the Xperia X. Time to make it better!
It can be bigger, because it has not to fit into the android system partition. The lvm comes into the linux partition and on a GeminiPDA we can get round about 60GB for it. There is enougth space left if the rootfs will get up to 6GB.
btw: you can make it bigger on X XAx as well, because it does not has to fit in the android system partition, too. It resides in userdata partition.
edit 190307 - What to fix in the boot image?
Change the value of variable 'LVM_ROOT_SIZE' inside the file '/etc/sysconfig/init' of the ramdisk. Thats all.
content of original file
# Common settings for normal and recovery init.
# Amount of space to keep unallocated for refilling root or home later on.
LVM_RESERVED_MB=0
# Default size for root LV
LVM_ROOT_SIZE=2500
suggestion for new content
# Common settings for normal and recovery init.
# Amount of space to keep unallocated for refilling root or home later on.
LVM_RESERVED_MB=0
# Default size for root LV
LVM_ROOT_SIZE=4000
edit190801: Q: Jolla, can you fix it some day? Please. It is not fixed in 3.1.0.11
edit191124: Still no A from Jolla, still no fix in 3.2.0.12 and not mentioned in release notes.
Don't know if applicable, but I did this on my X Compact, and worked to resize system partition to 5GB - https://together.jolla.com/question/156279/installing-system-updates-fails-when-there-is-not-enough-space-in-system-data-partition/?answer=156670#post-id-156670
Levone1 ( 2019-03-03 18:26:51 +0200 )editit is, but it should be fixed in the boot image by Jolla, because it is not for every user applicable.
jolladiho ( 2019-03-07 10:07:01 +0200 )edit@jolladiho: Do you know what the variable LVM_RESERVED_MB exactly mean? Is it possible to reserve space for an other logical volume with this variable?
This is required to install Debian in parallel to SailfishX (on the Jolla delivered Sailfish for the Gemini PDA) with out resizing (reduce) the /home partition size. Debian could only be located at an additional logical volume partition because it is not possible to reseve space otherwise (extra partition) beside the SailfishX LVM.
If this is possible, how can i recreate the image after changing the variable to e.g. 10480 (10GB)? I'm not shure that it is possible to modify the value in the image :-(. It enhance the script length ..
Using the community port there is no LVM on SailfishOS, so this is not necessary.
Many thanks
Gabriel
gabs5807 ( 2019-08-02 20:16:45 +0200 )editUsing this variable should reserve space at the lvm at the first boot after a fresh flash. It should be possible to use this space later for a new device or to increase existing devices. I did not tested it, I shrinked the /dev/sailfish/home to create the gemian device.
To make changes you have to unpack the initramfs (not as root and always using the parameter not to use absolute filepaths!). You find the initramfs inside the hybris-boot.img (unmake it) or you can install the package doid-hal-geminipda-kernel and find it and the kernel (named zImage inside boot.img) in the /boot folder. After done your edits, repack the initramfs and make a boot.img (mkimage with parameters for geminipda) containing initramfs and kernel. Best way to find the right parameters for geminipda for me was looking to the lineageos 14 github from deadman. Search at xda-developers.com for it, you can find there some howtos unpacking and repacking boot images too. Have fun. ;-)
jolladiho ( 2019-08-05 17:52:25 +0200 )editHello @jolladiho, did not work :-(. i tried to rebuild the sailfishos_boot.img with the (modified) bootimg_tools_7.8.13.zip from https://forum.xda-developers.com/showthread.php?t=2319018.
First modification was to strip '/' from cpio archiv. Second was to change owner and group to root:root when creating the new cpio archiv.
Flashing the recreated image results in an boot loop (with black screen) :-(.
There are two items which could be the Problem:
First the files on the new created cpio archiv did not have a leading '/' (it seams that cpio has no option to prepend then during creation of an archiv. Second the shown base address during extraction = 0x43ffff00.
Trying to repack with this value and extracting again shows 0x44000000. It seems not possible to get the same base address again :-(.
The boot_info script from the same bootimg_tools archiv shows:
But the base address did also not work.
Did you get a working boot image with this tools?
Many thanks
Gabs5807
gabs5807 ( 2019-08-22 00:22:51 +0200 )edit