I tried to install following https://github.com/postmarketOS/pmbootstrap/wiki/Porting-to-a-new-device when I reached "./pmbootstrap.py flasher flash_system" it failed because of:
ERROR: Partition "SYSTEM" does not exist in the specified PIT.
I believe I have "stock" PIT - if I can remembere I never messed with it. I was using CyanogenMod but never applied PIT if I can recall. I am attaching my PIT (zipped to be able to upload it).
pit.zip
Welcome to postmarketOS @tssk and thanks for making this bug report.
I did the samsung-i9100 port and I'm happy to see another user with that phone!
You shouldn't need to change your partition layout, I'd even advise against that since you could damage your phone.
I have only tested flashing the postmarketOS image to the sdcard (pmbootstrap install --sdcard=/dev/mmcblk...) and booting from there, I've never put it on the system partition.
So I recommend doing that. But please tell me if you really want it on the internal disk space of the phone, and I'll look more into that.
EDIT: updated the wiki page to reflect that only the sdcard install is working.
I thought that pmbootstrap.py should be able to install to the device.
In my case I would not be able to get pmOS working without help of the people on IRC as I did not have SD card. The manual process was quite complicated (flashing TWRP as recovery, pushing to /tmp with adb and dd to the right partition) and it would be great to have possibility to install directly using pmbootstrap.py in case I want to flash newer image.
I will be happy to test or provide any info about my device.
I am sorry, that you had such an unpleasant experience so far. The direct installation to the device is working for most devices already, but each phone is a bit different, which leads to different behavior. And since no one tested installing to the system partition on the i9100 yet, you were the first one and it failed, sorry.
postmarketOS development has just begun, so please expect that everything will not work out of the box and bring some patience and willingness to learn with you - it's far from being usable for non-developers. The good news is, that we have an amazing community with people who try their best to help you whenever you get stuck.
We are constantly improving pmbootstrap, and the idea is to automate everything we can, so development becomes as easy as possible. I see it the same way as you, ideally installing to the system partition should just work with the i9100.
The recovery install method from @ata2001 you have used is just getting integrated into pmbootstrap (see #404). When that is done (maybe in a week or so, hard to say, this is a free-time project after all!), you could work together with @ata2001 to get the recovery method working out of the box for the i9100, in case you are both interested. The i9100 is a bit special, because it requires the heimdall-isorec flash method.
I will try to help out myself where I can, but I am also blocked by fixing bugs in pmbootstrap (not to be confused with device specific bugs like this one) and other things I have prioritized for myself, see my milestones.
For me this was not unpleasant. I think I learned few thing on the way. I created this issue because I think it might help to get this project make better (to note down that at some point in time this probably should be fixed). And because guys on IRC asked me to :)
I like this project very much. Few months ago I had idea of making some universal firmware for old phones but I do not have enough time and skills to do so. And few weeks after I noticed your post on HN. So I am huge fan and will try to help as much as my time and skills allow me. (So far I decided to buy new battery to my old gt-i9100 with cracked display (I miss it very much - today huge and heavy phones sux a lot from my point of view.) and test what is ready - and here we are.)
My device (as said before - I believe have stock PIT layout) does not have SYSTEM partition but has FACTORYFS. I think that we should flash to this one.
https://android.stackexchange.com/a/142423
So the command should probably be:
heimdall flash --FACTORYFS /home/user/rootfs/samsung-i9100.img
But this is only part of the issue because when I try to do that manually the process fails after 9%.
I am not sure but it might be heimdall issue. Description seems similar to this one -> https://github.com/Benjamin-Dobell/Heimdall/issues/37
In case any one could understand the heimdall usb log I am attaching it.
heimdall-usb-log.txt
Could it be that the image is rejected by the device for some reason?
source https://github.com/Benjamin-Dobell/Heimdall/issues/191#issuecomment-317183924
Thanks for testing this! I recommend contacting the Heimdall developer for support, you could open an issue in their tracker for example.
I've created the PR #537 which adds the possibility to specify the variable flash_heimdall_partition_system in the deviceinfo, so you can set it to FACTORYFS
Closing this as there exists working description how to install on i9100 in wiki - https://wiki.postmarketos.org/wiki/Samsung_Galaxy_SII_(samsung-i9100)#Step_by_step_guide_for_Flashing_to_device_memory
Most helpful comment
I am sorry, that you had such an unpleasant experience so far. The direct installation to the device is working for most devices already, but each phone is a bit different, which leads to different behavior. And since no one tested installing to the system partition on the
i9100yet, you were the first one and it failed, sorry.postmarketOS development has just begun, so please expect that everything will not work out of the box and bring some patience and willingness to learn with you - it's far from being usable for non-developers. The good news is, that we have an amazing community with people who try their best to help you whenever you get stuck.
We are constantly improving
pmbootstrap, and the idea is to automate everything we can, so development becomes as easy as possible. I see it the same way as you, ideally installing to the system partition should just work with thei9100.The recovery install method from @ata2001 you have used is just getting integrated into
pmbootstrap(see #404). When that is done (maybe in a week or so, hard to say, this is a free-time project after all!), you could work together with @ata2001 to get the recovery method working out of the box for thei9100, in case you are both interested. Thei9100is a bit special, because it requires theheimdall-isorecflash method.I will try to help out myself where I can, but I am also blocked by fixing bugs in
pmbootstrap(not to be confused with device specific bugs like this one) and other things I have prioritized for myself, see my milestones.