Quantcast
Channel: MobileRead Forums
Viewing all articles
Browse latest Browse all 50094

PW5 the browser in 5.16.4 is chromium

$
0
0
today i notice the news about update 5.16.4 and the browser html5 support update.
then i found some info about chromium files and exec commandline param things after download update_kindle_all_new_paperwhite_11th_5.16.4.bin and extract it .

SOME INFO:
  1. important file path in rootfs.img.gz is : /usr/bin/browser, /usr/bin/chromium, /usr/bin/chromium.sqsh
  2. /usr/bin/browser is a bash script.
    • where is the official ui call it? the ui java code?
    • when chromuim.sqsh mount to /usr/bin/chromium ?
    • and what is this name with ipc command "lipc-set-prop" do about launch chromium process?
    • its different with browser process ps output in 5.16.2.1.1 like "/usr/bin/mesquite -l com.lab126.browser -c file:///var/local/mesquite/browser/ -j" . can i just put these files in 5.16.2.1.1 and run the script to use modern browser? if yes, Is there anything I need to be careful about?

    Code:

    #!/bin/bash

    lipc-set-prop -s "com.lab126.chromebar" "activityIndicator" "{  \"activityIndicator\": {\"clientId\": \"com.lab126.browser\",\"action\": \"start\",\"text\": \"\",\"timeout\": 30000}}"

    export XDG_CONFIG_HOME="/mnt/us/system/browser/"
    if [ -d $XDG_CONFIG_HOME ]
    then
        CACHE_SIZE=`du -s /mnt/us/system/browser/ | awk -F '[/ ]' '{print $1}'`
        CACHE_LIMIT=65536
        if [ $CACHE_SIZE -gt $CACHE_LIMIT ]
        then
            rm -rf /mnt/us/system/browser/*
        fi
    fi

    export LD_LIBRARY_PATH="/usr/bin/chromium/lib:/usr/bin/chromium/usr/lib:/usr/lib/"

    exec chroot /chroot /usr/bin/chromium/bin/kindle_browser --no-zygote --no-sandbox --single-process --skia-resource-cache-limit-mb=64 \
        --disable-gpu --in-process-gpu --disable-gpu-sandbox --disable-gpu-compositing \
        --enable-dom-distiller --enable-distillability-service --force-device-scale-factor=2 --js-flags="jitless" \
        --content-shell-hide-toolbar --content-shell-host-window-cord=0,215 \
        --force-gpu-mem-available-mb=40 --enable-low-end-device-mode --enable-low-res-tiling --disable-site-isolation-trials \
        --user-agent="Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+"

  3. /usr/bin/chromium is a empty directory and browser executable files in chromium.sqsh:
    Code:

    usr/bin/chromium.sqsh: Squashfs filesystem, little endian, version 4.0, zlib compressed, 47645206 bytes, 53 inodes, blocksize: 131072 bytes, created: Fri Oct  6 11:42:21 2023
  4. after "unsquashfs chromium.sqsh" , here is file tree in it:
    Code:

    √ squashfs-root % tree
    .
    ├── bin
    │** ├── icudtl.dat
    │** ├── kindle_browser
    │** ├── kindle_browser.pak
    │** ├── natives_blob.bin
    │** └── v8_context_snapshot.bin
    ├── etc
    │** └── fonts
    │**    ├── conf.avail -> /etc/fonts/conf.avail
    │**    ├── conf.d
    │**    │** ├── 20-fix-globaladvance.conf -> ../conf.avail/20-fix-globaladvance.conf
    │**    │** ├── 20-unhint-small-vera.conf -> ../conf.avail/20-unhint-small-vera.conf
    │**    │** ├── 30-metric-aliases.conf -> ../conf.avail/30-metric-aliases.conf
    │**    │** ├── 30-urw-aliases.conf -> ../conf.avail/30-urw-aliases.conf
    │**    │** ├── 40-nonlatin.conf -> ../conf.avail/40-nonlatin.conf
    │**    │** ├── 45-latin.conf -> ../conf.avail/45-latin.conf
    │**    │** ├── 48-chromium-local.conf
    │**    │** ├── 49-sansserif.conf -> ../conf.avail/49-sansserif.conf
    │**    │** ├── 50-user.conf -> ../conf.avail/50-user.conf
    │**    │** ├── 51-local.conf -> ../conf.avail/51-local.conf
    │**    │** ├── 60-latin.conf -> ../conf.avail/60-latin.conf
    │**    │** ├── 65-fonts-persian.conf -> ../conf.avail/65-fonts-persian.conf
    │**    │** ├── 65-nonlatin.conf -> ../conf.avail/65-nonlatin.conf
    │**    │** ├── 69-unifont.conf -> ../conf.avail/69-unifont.conf
    │**    │** ├── 80-delicious.conf -> ../conf.avail/80-delicious.conf
    │**    │** └── 90-synthetic.conf -> ../conf.avail/90-synthetic.conf
    │**    ├── fonts.conf -> /etc/fonts/fonts.conf
    │**    └── fonts.dtd -> /etc/fonts/fonts.dtd
    ├── files
    │** └── fonts
    │**    ├── NotoSansJP-Medium.ttf
    │**    └── system_fonts -> /usr/java/lib/fonts/
    ├── lib
    │** ├── ld-linux-armhf.so.3
    │** ├── libc.so.6
    │** ├── libdl.so.2
    │** ├── libnss_compat.so.2
    │** ├── libnss_db.so.2
    │** ├── libnss_dns.so.2
    │** ├── libpthread.so.0
    │** ├── libresolv.so.2
    │** ├── librt.so.1
    │** └── libSegFault.so
    └── usr
        └── lib
            ├── libatk-bridge-2.0.so.0
            ├── libatspi.so.0
            ├── libgio-2.0.so.0
            ├── libglib-2.0.so.0
            ├── libgmodule-2.0.so.0
            ├── libgobject-2.0.so.0
            └── libgthread-2.0.so.0

    11 directories, 42 files

  5. exec binary file :
    Code:

    √ squashfs-root % file bin/kindle_browser
    bin/kindle_browser: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /usr/bin/chromium/lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=60011b78f6e48771982578609636ea71e9b714c4, stripped
    √ squashfs-root % ldd bin/kindle_browser
            not a dynamic executable



then i got a silly question than can we just pack this for other system version , like 5.16.2.1.1 ?
cause i just jailbreak my kpw5 in this version
and the binary executable file "kindle_browser" ldd result said not dynamic
and some lib file like LD_LIBRARY_PATH env variable in /usr/bin/browser bash script.

i don't want to copy and try to run it directly in my device before i got some advice in here , because some chroot word in browser script file and i'm not familiar with kindle system (just got jailbreak and thanks you guys work)

Viewing all articles
Browse latest Browse all 50094

Latest Images

Trending Articles



Latest Images