Monthly Archives: June 2019

Smartphones #3: buttons

this is way overdue status update, sorry for that

Sony Xperia L (a.k.a Taoshan):

My power switch broke after few power ons πŸ™

Powimod mailed to me that he also wanted to port postmarketOS to this phone, and after about a month there is first success πŸ™‚

I couldn’t help too much in a practical way (the power button broke a week ago), I tried to at least find resources how to solve various problems.

So how the work was going?

  • We both compiled Linux kernel independently, theoretically both of them should work but as it turned out the phone wouldn’t boot
  • We thought about finding UART port, and I broke my power button while searching for itΒ  (that button is just small metal sheet connected to plastic base with piece of adhesive tape)
  • Then we started analyzing boot.img image, usingLineageOS/pmos kernel + ramdisk combinations to no avail
  • Whilefastboot boot didn’t work, requiring us to flash boot.img instead of booting it from RAM, we finally could generate working boot.img by adding two options to image generator(`–kernel_offset` and `–ramdisk_offset`) and using pmos kernel &Β  LineageOS ramdisk to boot LineageOS
  • After flashing pmos we thought that it won’t boot. It turns out it did, but without screen, LED or ssh/telnet (which we were able to get working shortly after)
  • I was told that patch from Konradybcio for Xperia M (sony-nicki) helped turning screen on, however I was unable to check that since my screen broke πŸ™

So now there is working port, but I won’t work on it anymore since my screen broke

Glossary:

boot.img – file that contains everything needed to boot a phone

ramdisk – after turning on a phone a kernel is loaded; it loads ramdisk.gz content into ram and run files that are contained in it; it’s like basic filesystem when normal memory is not yet available