Boston Linux & UNIX was originally founded in 1994 as part of The Boston Computer Society. We meet on the third Wednesday of each month, online, via Jitsi Meet.

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss] how much can i use a smartphone as a computer?



> beyond copy-paste and quick annotations, I think you'll get frustrated.

emacs runs fine, so even if you're a poweruser i dont think you'll get frustrated.

first, you want to make sure any software can run on your device (before purchasing)

so nothing "locked", requiring "jailbreaks", or running iOS (Apple products)

Nexus-branded devices from Google and partners, as well as ASUS fall into this category
example product: http://www.amazon.com/ASUS-ZenFone-Cellphone-Silver-Unlocked/dp/B00VWKKF52

once youve got your device, you'll want some nice software on its recovery partition

something like TWRP: https://twrp.me

1) hold vol-up and poweron your device and wait for a bootloader screen

2) from a laptop: 1) fastboot flash recovery twrp.img
                  2) fastboot reboot recovery
		  
and next some nice software on the system partiton

something like AOSP, the base OS that vendors customize.

if you dont want to compile AOSP yourself, you can find enthusiasts building it for
your device on places like http://forum.xda-developers.com/

there are also a variety of 3rd parties customizing AOSP and rebranding it. i personally
dont find the additions terribly useful, typically minor UI tweaks

3) so find a .zip on the forum, say aosp.zip

in addition to AOSP, the base OS, you want a small utility to make sure you can
grant superuser-permission to apps (a UI dialog is popped up)

4) grab supersu.zip at https://download.chainfire.eu/supersu

now install your OS..

5) from a laptop: 1) adb push aosp.zip /sdcard/aosp.zip
                  2) adb push supersu.zip /sdcard/supersu.zip

5) from phone, select 'Install' select the two zips and swipe on 'flash', then reboot to system

now, you probably want an 'app store', you can download APK files off the web, but it's more convenient

6) open browser, go to https://f-droid.org/ and download/install

now, you probably want some apps. Terminal, OSMand~, Firefox, and unifiednlp (enhances your GPS-fix-time) and SDL's Xserver

you'll likely want a full libc/posix/GNU userspace. busybox isnt enough! this will require some terminal commands

since it's easier to use a real kbd, you should either pair a bluetooth keyboard, or enable USB shell:

go to 'settings -> about', and tap on the build # about a half a dozen times .

it should say "congratulations, you are now a developer".

go to 'settings-> developer' and enable USB debugging, and from the laptop type 'adb shell'

now choose a distro you want. something like http://www.voidlinux.eu/ or https://www.gentoo.org/

what you are looking to do is untar it right to /data, an ext4 partition of the main flash storage

for void, it required loop mounting an iso9660 volume, unsquashFSing an image, loopmounting it, and tarring its contents

so either wget the rootfs.tgz right onto /data, or send it from a laptop with adb push void.tgz /data

now your "real OS" is ready to use, you probably want a pair of small scripts to use it:

once, an time you reboot your phone. you can append this onto init.rc on your system image or just run it:

#!/bin/sh
for f in dev dev/pts proc sys ; do mount -o bind /$f /data/$f ; done
chroot /data /usr/sbin/sshd
chroot /data /bin/ln -s /proc/self/fd /dev
chroot /data /bin/hostname

you could name this script /data/setupuserspace and run it with 'sh /data/setupuserspace'

and another command to login to the real shell:

#!/system/xbin/sh
HOME=/root SHELL=/bin/sh PATH=/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/bin /system/xbin/chroot /data /bin/bash

of course you'll want to create a non-root user, via however means you'd like, adduser, useradd..

and now you proably want an OS inside your OS inside your OS:

xbps-install emacs


GNOME is also a decent option, vs Android. they both work pretty well on touchscreens.

as much as systemd is loathed, i have better luck with it than the systemd-less void/gentoo distributions on tablets
because of all the powersave sequencing of sleep-wake bringup, networkmaner, everything "just works" on debian

Gnome+debian just works these days on Intel+Atom tablets, it's pretty impressive

if touchscreen features like swipe/zoom arent working in your browser, you may need to add a file

/etc/chromium.d/pinch:
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --enable-pinch"

so why is a 5.5" Zenfone with an Atom 200USD, while a 6" Atom tablet on Aliexpress about $100 ?

probably a few factors, 1) less middlemen on aliexpress, but the middlemen ensure thing like domestic-warranty,
and the convenience of buyinng off amazon and not waiting 9 days for it to arrive
2) the LTE/GSM modems and the slew of mobile patent-licenses this likely bundles in
 if you plan on using it on wifi only, i'd reccommend going the 6" tablet route...
3) it has a licensed powerVR GPU, which is maybe a bit better on battery than Intel's integrated

if you plan on Gnome, i would also recommend the 6" tablet over the 5.5" phone as Intel-Video is much easier to deal with

eg, Xorg should just work, and you'll see the touchscreen and video come up
[     4.452] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics: 5200, 6200, P6300
[     4.733] (II) config/udev: Adding input device SYNAPTICS Synaptics Touch Digitizer V04 (/dev/input/event1)

you may be tempted to buy a cheap off-brand tablet. feel free, but be warned,
they tend to use them as dogfood for strange domestic hardware that doesnt necessarily have open drivers
something a bit more reputable like ASUS/ACer typically uses standard Intel/Realtek/Synaptics everything,
plus are usually built more durable. IMO it's worth the 35% premium over stuff like CHUWI/TECLAST



BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org