Lenovo ThinkSmart View ROM/OS Development

I installed from the cli with sudo apk add chromium but looks like itā€™s also listed in the software center. Going that route, be sure to use the straight ā€œChromiumā€ and not ā€œChromium Web Browserā€ which is the flatpak version and not recommended.

Iā€™ve reworked my partitions so I have 6.3G on root. I sent the info to Felix in hopes that heā€™d have some ideas on how to package that in for easier installs. This thread is already crazy long so didnā€™t want to muddy the waters, but happy to share with his blessing :smile:

1 Like

Another neat trick I just simply tried and it worked:
You can write lk2nd to flash from within Linux, no need to EDL it:
dd if=<path to lk2nd.img> of=/dev/disk/by-partlabel/boot

1 Like

Itā€™s all a big happy mess :slight_smile: My intention is to eventually condense all our findings down on the postmarketOS Wiki, if they are universally relevant to the device.

And feel free to share your partitioning. I unfortunately havenā€™t gotten around to trying it yet. But I may look into it tonight, because Iā€™m starting to hit the limits of my rootfs :sweat_smile:

Interested to hear what you have done with the partitions.
Iā€™m hoping to get one of felixā€™s images tested on the Smart Display 8, but unfortunately the partitions on that device are smaller than the Thinksmart View so I canā€™t get it flashed.

Alright here we go: pmos-lenovo-cd-18781y-partitions.tar.gz. Start by extracting those files into a dir that has Felixā€™s 2 images with the ā€œlatestā€ filenames. Weā€™ll be removing unused partitions like system & vendor so we need to relocate a few others. In EDL mode, this will read from the device and save locally:

edl r cache cache.img
edl r persist persist.img
edl r misc misc.img

Now you should be ready to flash. This uses qfil mode to write multiple partitions & the new partition table:

edl qfil rawprogram0.xml patch0.xml .

Donā€™t worry about missing file warnings for splash.img or recovery.img, I left those in if anyone wants to replace them as well.

Iā€™ve been using linux for this, but in Windows it should be similar to Felixā€™s instructions using python3 edl commands. Let me know how it goes!

3 Likes

Maybe add a note that people should always keep safe and handy a full dump (edl rl --genxml myDump) of their device before attempting any of this :slight_smile:

3 Likes

Good call, worst case thereā€™s the Rescue and Smart Assistant that Iā€™ve definitely used more than once :laughing:

2 Likes

Good advice, quoted in the other thread :+1:

Thought you had a solution for that :wink:

1 Like

Oh yeah, that one.

Iā€™ll have to wait until I have some actual free time to tackle that one. Never soldered BGA before :wink:

1 Like

Situating the stencil onto a pcb full of components might be a little tricky.

Other than that, should be :cake:.

I had some minutes to spare before work so I gave it a go. Seems that Iā€™ve been missing something for me - it did not work. :frowning:

I had already done a dump before I did the first flash so I have already been on the safe side before trying this.

So with the latest images installed on the device I did the following.

Downloaded your archive. Unzipped it in the downloads folder, moved the files into the the edl root folder where the other images lay.

Had a look into ā€œrawprogram0.xmlā€ to see how the images need to be named in detail (which is ā€œlk2nd-lenovo-cd-18781y-latest.imgā€ and ā€œpmos-lenovo-cd-18781y-testing-latest-rootfs.imgā€ if anyone is wondering) - so I renamed the images to that.

Followed your instructions closely (itā€™s well described so that was not hard if you have done a flash of the other images before :slight_smile:).

As announced splash.img and recovery.img were throwing errors, the following went fine:

  • pmos-lenovo-cd-18781y-testing-latest-rootfs.img
  • cache.img
  • persist.img
  • misc.img
  • pmos-lenovo-cd-18781y-testing-latest-rootfs.img
  • gpt_main0.bin
  • gpt_backup0.bin

The last three lines were:
firehose_client - [qfil] patching ok
firehose - Setbootablestoragedrive succeeded.
firehose_client - [qfil] partition(0) is now bootable

Removed power, removed the USB-C-Cable, plugged power back in, no luck. Tried flashing (only the last command) a second time. Waited for 10min after the first boot, no change.

Now, when I replug the power I can only see the the lenovo logo for a split second and nothing else is displayed.

No worries, Iā€™m sure thereā€™s a solution but I have to go to work and check again in the evening.

Thanks for sharing the instructions, though! :slight_smile:

Thanks for that - Iā€™m away for a few days but will try this at the weekend :slight_smile:

Hmmā€¦ I assume the first file you listed was a typo? (should be the lk2nd file). If youā€™re using linux or can see how the USB device registers, check if the PID on boot is the dreaded 900E ā€œdiagnosticsā€ mode. Otherwise if it manages to boot with no display you may be able to ssh in for a closer look.

Itā€™s seems like it mostly flashed ok, another thing to try is reflashing just the boot partition with the original edl w boot <filename> command. Maybe something else is different with the himax version?

I just tried that but get an error ā€œError: no DISPLAY environment variable specifiedā€.

Any ideas?

that works - the browser is still slow though and not very usable unfortunately.

Can anyone confirm on their device that you see a tiny keyboard in portrait mode? as per my previous image I posted. Would be good to try and get a proper size keyboard. It seems to change slightly depending on the screen scaling but is always small.

I wonder if itā€™s linked to the way the screen is setup (and the incorrect portrait/landscape modes) - is there anything you did to define the screen or is this discovered automatically?

I wonder if itā€™s linked to the way the screen is setup (and the incorrect portrait/landscape modes) - is there anything you did to define the screen or is this discovered automatically?

On my Himax variants, the keyboard never does quite get to full-size. However, I donā€™t believe this is related because the landscape view is upside-down on my non-Himax, as well, and the keyboard fills the entire width of the screen.

1 Like

I installed Chromium from apk and it works but I get no virtual keyboard again, so canā€™t use it.

It does make it very tricky to use - unless you have TINY fingers :wink:

Haha Iā€™ve been using a bluetooth keyboard so didnā€™t notice :upside_down_face: