OESF Portables Forum
Model Specific Forums => Gemini PDA => Gemini PDA - Linux => Topic started by: candlerb on February 23, 2018, 09:38:09 am
-
Hello,
I am expecting my Gemini to arrive shortly - out of the blue I got a tracking number from MyHermes :-) So before it does, I'd like to raise a few questions.
My planned use of Gemini is with a Linux userland - e.g. I want to be able to do "apt-get install XXX" and use Linux CLI tools - but I'd like that userland to be running on top of Android, so the Gemini continues to work as a phone and run Android apps like WhatsApp and Google Maps. (Doing this means I don't need to carry a separate phone around). I saw Gemini working this way a few months ago.
I note that Planetcom have announced https://www.indiegogo.com/projects/gemini-p...one#/updates/49 (https://www.indiegogo.com/projects/gemini-pda-android-linux-keyboard-mobile-device-phone#/updates/49) that there will be a reflashing/repartitioning tool; however their announced Linux support page http://support.planetcom.co.uk/index.php/Linux_Support (http://support.planetcom.co.uk/index.php/Linux_Support) is currently empty. There's some more info at GKA https://github.com/gemian/gemini-keyboard-apps/wiki (https://github.com/gemian/gemini-keyboard-apps/wiki) but this seems to be about dual-booting.
So my questions are about how I go about running a Linux userland and/or X desktop while the phone is running Android.
1. Does it require reflashing? If so, should I reflash my device as soon as it arrives in preparation?
(I am concerned that if I spend a lot of time setting it all up under Android, I am going to lose all that work when I add Linux)
2. Does running Linux under Android use the same Linux partition as if I dual-booted into Linux?
(Maybe it work *better* to boot directly into Linux? But I am guessing I would lose at least voice calling, if not SMS and data as well)
3. Does it require rooting, and if so how do I go about that?
4. I believe I would also need an Android X server app to get a GUI desktop - what app would I require?
Any clues gratefully received! Thanks... Brian.
-
Hello,
I am expecting my Gemini to arrive shortly - out of the blue I got a tracking number from MyHermes :-) So before it does, I'd like to raise a few questions.
My planned use of Gemini is with a Linux userland - e.g. I want to be able to do "apt-get install XXX" and use Linux CLI tools - but I'd like that userland to be running on top of Android, so the Gemini continues to work as a phone and run Android apps like WhatsApp and Google Maps. (Doing this means I don't need to carry a separate phone around). I saw Gemini working this way a few months ago.
I note that Planetcom have announced https://www.indiegogo.com/projects/gemini-p...one#/updates/49 (https://www.indiegogo.com/projects/gemini-pda-android-linux-keyboard-mobile-device-phone#/updates/49) that there will be a reflashing/repartitioning tool; however their announced Linux support page http://support.planetcom.co.uk/index.php/Linux_Support (http://support.planetcom.co.uk/index.php/Linux_Support) is currently empty. There's some more info at GKA https://github.com/gemian/gemini-keyboard-apps/wiki (https://github.com/gemian/gemini-keyboard-apps/wiki) but this seems to be about dual-booting.
So my questions are about how I go about running a Linux userland and/or X desktop while the phone is running Android.
1. Does it require reflashing? If so, should I reflash my device as soon as it arrives in preparation?
(I am concerned that if I spend a lot of time setting it all up under Android, I am going to lose all that work when I add Linux)
2. Does running Linux under Android use the same Linux partition as if I dual-booted into Linux?
(Maybe it work *better* to boot directly into Linux? But I am guessing I would lose at least voice calling, if not SMS and data as well)
3. Does it require rooting, and if so how do I go about that?
4. I believe I would also need an Android X server app to get a GUI desktop - what app would I require?
Any clues gratefully received! Thanks... Brian.
I use Linux Deploy (in play store) on android for running linux. It can install and run linux from a file container, or from a dedicated partition. It does need root however, which would require you to reflash your device, but...
there are now ways of running linux without root - (I haven't tried it)
https://fossbytes.com/how-to-install-a-linu...ithout-rooting/ (https://fossbytes.com/how-to-install-a-linux-on-android-phone-without-rooting/)
For the X server I use XServer XSDL https://play.google.com/store/apps/details?...erver&hl=en (https://play.google.com/store/apps/details?id=x.org.server&hl=en)
In theory you could chroot into the same linux install that you dual boot into. There may be some caveats to this, and would probably require a little more configuring. I'd be happy to post some howtos once I get my device (not soon unfortunately!)
-
To be honest it may be that Sailfish will meet your needs nicely. I guess it depends on the android app support - you mention whatsapp etc. I'm sure we'll get a better picture when they showcase at MWC this month
-
there are now ways of running linux without root - (I haven't tried it)
https://fossbytes.com/how-to-install-a-linu...ithout-rooting/ (https://fossbytes.com/how-to-install-a-linux-on-android-phone-without-rooting/)
That looks neat - thanks! I wonder what the limitations of this approach are? Presumably anything running setuid root isn't really running as root - meaning presumably no direct access to /dev devices, unable to mount filesystems etc.
-
there are now ways of running linux without root - (I haven't tried it)
https://fossbytes.com/how-to-install-a-linu...ithout-rooting/ (https://fossbytes.com/how-to-install-a-linux-on-android-phone-without-rooting/)
That looks neat - thanks! I wonder what the limitations of this approach are? Presumably anything running setuid root isn't really running as root - meaning presumably no direct access to /dev devices, unable to mount filesystems etc.
Yeah that sounds about right. You'lll be able to use root with the context of the Linux userland, but you won't be able to do anything that needs root permissions in android.
Found this useful link covering the topic at large: https://wiki.debian.org/ChrootOnAndroid (https://wiki.debian.org/ChrootOnAndroid)
-
Found this useful link covering the topic at large: https://wiki.debian.org/ChrootOnAndroid (https://wiki.debian.org/ChrootOnAndroid)
Thanks.
It looks like GNUroot hasn't been updated since Feb/March 2014: https://github.com/corbinlc/gnuroot (https://github.com/corbinlc/gnuroot) https://www.dropbox.com/sh/blwlhsb986xv5hg/7VPnQZZ_fj?lst= (https://www.dropbox.com/sh/blwlhsb986xv5hg/7VPnQZZ_fj?lst=) - but there is a more recent version called GNUroot Debian https://github.com/corbinlc/GNURootDebian (https://github.com/corbinlc/GNURootDebian)
Termux https://github.com/termux/termux-packages (https://github.com/termux/termux-packages) looks better maintained, but as far as I can see it has its own packages, it's not an Debian/Ubuntu.
-
Replying to myself... GNUroot is a very cut down Debian Jessie. It starts to look a bit normal when you do:
apt-get update
apt-get install apt-utils iputils-ping openssh-client
(Aside: having the minus sign as a Fn-combination really is painful - nut maybe I'll be able to train myself into this)
The fakeness of the root is immediately apparent, as for example
# ping 8.8.8.8
ping: icmp open socket: Operation not permitted
GNUroot lets you start an Xterm in a VNC X session - but once I'd started it, I could find no way to stop it other than reboot the phone.
So I'm not sure that GNUroot is actually useful other than as a cool toy.
-
I'd suggest to simply root it with Magisk (extract boot.img, modify it through Magisk Manager and flash it back via FlashTool) and use Linux Deploy. As a bonus, if you flash Linux dualboot, you can configure Linux Deploy to mount Linux partition and chroot there.
-
I'd suggest to simply root it with Magisk (extract boot.img, modify it through Magisk Manager and flash it back via FlashTool) and use Linux Deploy. As a bonus, if you flash Linux dualboot, you can configure Linux Deploy to mount Linux partition and chroot there.
Looks as though the Planet guys have just done this for us. Rooted bootloader now available on Android support page.
-
I'm using UserLAnd and it's pretty good. No need for a separate partition so keeps maximum flexibility on storage and all tteh Android stuff running too. Suits my needs nicely
-
As a bonus, if you flash Linux dualboot, you can configure Linux Deploy to mount Linux partition and chroot there.
I've installed Linux Deploy, but I have no idea how to mount my dualboot image as you suggest. Any hints?
-
As a bonus, if you flash Linux dualboot, you can configure Linux Deploy to mount Linux partition and chroot there.
I've installed Linux Deploy, but I have no idea how to mount my dualboot image as you suggest. Any hints?
Create a new profile and then in the settings for that profile select 'installation type: partition' and 'installation path: /dev/block/mmcblk0p29'. Select debian for your distro. Don't 'install' as linux is already on the partition. If you look around the forum you'll find some instructions for setting up the networking. otherwise you are pretty much golden.
-
Create a new profile and then in the settings for that profile select 'installation type: partition' and 'installation path: /dev/block/mmcblk0p29'. Select debian for your distro. Don't 'install' as linux is already on the partition. If you look around the forum you'll find some instructions for setting up the networking. otherwise you are pretty much golden.
Thank you!
-
The advantages I see from using an in Android partition (only the one Android partion as when received) over having a separate partion are:
1. You should still be able to use OTA updates.
2. Maximum flexibility with storage. When setting up a separate partition you have to take a punt at how much you want for each. With the Android solution you can just use all your 64Gb as it suits you at the time between Linux and Android.
-
The advantages I see from using an in Android partition (only the one Android partion as when received) over having a separate partion are:
1. You should still be able to use OTA updates.
2. Maximum flexibility with storage. When setting up a separate partition you have to take a punt at how much you want for each. With the Android solution you can just use all your 64Gb as it suits you at the time between Linux and Android.
Yeah, unless you want to dualboot (or multiboot) there is little advantage to using a separate partition for linux. Although OTA's should still work so long as you have left enough space for Android!
-
The advantages I see from using an in Android partition (only the one Android partion as when received) over having a separate partion are:
1. You should still be able to use OTA updates.
2. Maximum flexibility with storage. When setting up a separate partition you have to take a punt at how much you want for each. With the Android solution you can just use all your 64Gb as it suits you at the time between Linux and Android.
Yeah, unless you want to dualboot (or multiboot) there is little advantage to using a separate partition for linux. Although OTA's should still work so long as you have left enough space for Android!
Yes for sure and definitely re OTAs but unfortunately that is not the case at the moment
-
As a bonus, if you flash Linux dualboot, you can configure Linux Deploy to mount Linux partition and chroot there.
I've installed Linux Deploy, but I have no idea how to mount my dualboot image as you suggest. Any hints?
Create a new profile and then in the settings for that profile select 'installation type: partition' and 'installation path: /dev/block/mmcblk0p29'. Select debian for your distro. Don't 'install' as linux is already on the partition. If you look around the forum you'll find some instructions for setting up the networking. otherwise you are pretty much golden.
I have the Planet Computers triple boot installation , rooted Android, Debian , Sailfish , have installed LinuxDeploy but doesn't seem to start the Debian partition ?
Or am I missing something , should I still setup VNC or xSDL so I can get to LXDE ?
-
As a bonus, if you flash Linux dualboot, you can configure Linux Deploy to mount Linux partition and chroot there.
I've installed Linux Deploy, but I have no idea how to mount my dualboot image as you suggest. Any hints?
Create a new profile and then in the settings for that profile select 'installation type: partition' and 'installation path: /dev/block/mmcblk0p29'. Select debian for your distro. Don't 'install' as linux is already on the partition. If you look around the forum you'll find some instructions for setting up the networking. otherwise you are pretty much golden.
I have the Planet Computers triple boot installation , rooted Android, Debian , Sailfish , have installed LinuxDeploy but doesn't seem to start the Debian partition ?
Or am I missing something , should I still setup VNC or xSDL so I can get to LXDE ?
Can anybody please explain me the setup and steps, I have tried a few times already and it looks like Debian simply isn't started.
-
As a bonus, if you flash Linux dualboot, you can configure Linux Deploy to mount Linux partition and chroot there.
I've installed Linux Deploy, but I have no idea how to mount my dualboot image as you suggest. Any hints?
Create a new profile and then in the settings for that profile select 'installation type: partition' and 'installation path: /dev/block/mmcblk0p29'. Select debian for your distro. Don't 'install' as linux is already on the partition. If you look around the forum you'll find some instructions for setting up the networking. otherwise you are pretty much golden.
I have the Planet Computers triple boot installation , rooted Android, Debian , Sailfish , have installed LinuxDeploy but doesn't seem to start the Debian partition ?
Or am I missing something , should I still setup VNC or xSDL so I can get to LXDE ?
Can anybody please explain me the setup and steps, I have tried a few times already and it looks like Debian simply isn't started.
After a long period of thinking the Debian partition wasn't started , changing the LinuxDeploy filesystem type from ext4 to ext2 to no avail, trying to get xSDL to work,
I just left it at ext4 and started focussing on getting a VNC display.
So I think i got a step further, i've setup tightvncserver under the geminu user on Debian and now when I start LinuxDeploy in Android from the Debian partition
I can get a VNC session with my supplied VNC password using either 127.0.0.1:1 or <mycurrentAndroidIP>:1 but I only get a grey screen with an X and nothing further
I changed my ~/.vnc/xstartup to start
/usr/bin/startlxqt &
qterminal &
but still nothing.
Is there please anybody from this topic who got it working who can tell me what I'm doing wrong ?