Lenovo ThinkSmart View ROM/OS Development

I sadly really have to go to sleep now but how did you install chromium? From the software center or via command line? Did you have enough free space to install it or did you get rid off other programs/apps first?

Will definitely try this tomorrow!

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: