Could Virtualization Be The Solution To Android Rom Porting? - Android Software/Hacking General [Developers Only]

I think that a Virtualization Layer (Just a translater type thing) could be used so instead of modding the entire rom you could just mod the layer's code to point to whatever command the kernel would use. It would only work on newer devices but could it work???

Related

[Q] Haipad M701 and fingerprint reader

Hi ,
I have a Haipad M701 with me,
It is having this config:
4G Memory
Telechips 89xx board
Android 2.1-update1
MID-1.1
Kernel 2.6.29
I am trying to make a external USB fingerprint reader work with it.
The fingerprint device driver source was obtained from the vendor.
To enable the device i need to cross compile the fingerprint drivers.
But before i cud do that, i upgraded the firmware to Android 2.3(gingerbread) which is available in haipad.net(*w/o taking a backup*)(that is kernel 2.6.35).
Now, i am not able to cross-compile driver cos i took the kernel source (for 2.6.29) which telechips publicly opened to public.
So, Right now, i need the old Eclair(2.1,2.6.29) firmware, can anyone provide me that?
If not, is there any other way to achieve the cross-compilation?
In the meantime, i downloaded kernel source from android.com and branched to 2.6.35 which is the kernel version on device.
I compile the kernel and then cross compiled the fingerprint driver.
It compiled w/o any issues.
But when do a 'insmod', i get error:
Code:
mod_usbdpfp: version magic '2.6.35.7+ mod_unload modversions ARMv5 ' should be '2.6.35.7-tcc mod_unload ARMv6 '
What could be the issue here?
You have two problems:
First on the tablet, copy the file /proc/config.gz out on your build pc.
Extract and copy file to .config in the 2.3.35.7 source.
Now you are ready to configure the kernel sources that you compile the vendor driver against.
do make menuconfig;
Fix problems:
1: wrong name of kernel.
Insert "-tcc" in general setup --> Local version.
You seem to have a "+" now. I do not know how you got that. If it is not in the kernel config, look in the Makefile in the root folder. The version is in the top. Make sure the 4th version line just says ".7" - no more.
2. Wrong system type.
You are compiling the modules for an Armv5 instead of Armv6. Go to Arm system type and choose Samsun S3C64XX. That is an Armv6.
The selector might look really strange. If that is the case, scroll to the bottom and scroll back up (now names appear one at a time), until you see the ()amsung S3C64XX.
Configure Makefile for crosscompile.
Now do a make dep; make modules.
Now you can compile the vendor driver against this source and get the correct module. Use modinfo modulename.ko; to see that the name and type corresponds to "'2.6.35.7-tcc mod_unload ARMv6".
I have just done this (for an usb net driver), and the resulting driver crashes the tablet So even if you can get a module build and loaded, it might not work because the system architecture (S3C64XX) is not really correct. In that case we really need the telechips 2.6.35.7 sources to build correct module.
But try it out, and good luck!
Thanks for the suggestion, xdamala.
I will try it out today itself and let you know
@xdamala,
I had to do 'make s3c6400_defconfig'
But, Now i get this error.
Code:
mod_usbdpfp: version magic '2.6.35.7-tcc-g67bb0cf-dirty mod_unload
ARMv6 ' should be '2.6.35.7-tcc mod_unload ARMv6 '
I dont know how the 'g67bb0cf-dirty' gets added.
Each time i edit 'include/config/kernel.release' which contained that text, it automatically is updated on running 'make'.
Any idea??
I am not 100% on how the version string is constructed. But I think it is created from the top 4 lines in Makefile and the string you set in configuration.
I should not be necessary to do that s3c6400_defconfig. It is probaly what changes the string. I might have told you the wrong order of things in my other answer. It is important to set up Makefile first.
Do the steps (in order):
Start with clean 2.6.35.7 kernel code
edit Makefile in kernel root folder
Check version number in top
edit cross compile section to:
ARCH ?= arm
CROSS_COMPILE ?= ../../arm-eabi-4.4.3/bin/arm-eabi-
#or whatever fits your compiler. Note that this android tree gcc 4.4.3 is the one running M701 kernel is compiled with, so I prefer to use the same.
extract tablets /proc/config.gz to .config in root of kernel source (to remove unnecessary modules)
make menuconfig;
set -tcc in local version
choose S3C64XX system type
Exit (Save)
make dep ; make clean ; make modules; #Note you do not actually build the kernel, only modules.
In the Makefile from your driver there probably is a section something like this:
KDIR = /lib/modules/$(CURRENT)/build
edit to point to the folder of your kernel source.
make;
transfer fingerprintdriver.ko to tablet
Cross fingers, throw salt over your shoulder, pray, etc. etc.
insmod fingerprintdriver.ko;
@Xdamala
Code:
mod_usbdpfp: version magic '2.6.35.7-tcc+ mod_unload ARMv6 ' should be '2.6.35.7-tcc mod_unload ARMv6 '
Still the plus seems to be issue.
I checked in the main Makefile there is no '+'.
But in include/generated/utsrelease.h, there is
Code:
#define UTS_RELEASE "2.6.35.7-tcc+"
Well I use a kernel from kernel.org, not from the android tree.
Might be the reason for the "+".
I do not think that it makes any difference in this case.
Try with the kernel.org one. If it works it works, if not we might try to look at that "+"
By the way if all fails you can reinstall 2.1 on the tablet and build against the 2.6.29 kernel released by telechips. It should work.
The downside: 2.1 sucks, and usb in general sucks a lot on M701 2.1.
See my posts here:
http://www.androidtablets.net/forum/groups/11-haipad-m701-m701-r-d129-just-ordered-g10-haipad-m701.html.
In that case go to telechips kernel source:
make tcc8900_defconfig
make menuconfig. Exit + save.
make modules.
Then compile your driver against these sources.
Your driver should then work (this time we use the correct system type), but usb is quite bad on 2.1. So if I was you I would try a lot to make 2.3 work first.
Links:
Telechips kernel. Use Internet explorer to download (FF not working):
https://www.telechips.com/technical_support/kor/opensource/opensource_list.asp
Latest 2.1 firmware from Haipad:
http://u.115.com/file/c4rgup4f
xdamala said:
Latest 2.1 firmware from Haipad:
http://u.115.com/file/c4rgup4f
Click to expand...
Click to collapse
Thanks xdamala, thats what i needed, will check it out and let you know of the result tomm.
I will warn you that 2.1 comes with its own problems when it comes to usb.
Attach the device directly. Do not use a hub.
xdamala,
Method 1: Compile kernel source of 2.6.35.7 from kernel.org - Success
insmod driver.ko installed w/o any errors.
But, it seems i would need a power source for the fingerprint reader.
i dont think currently the Haipad support that mode.
Method 2: Flash(downgrade) m701 to 2.1 and try with the public kernel source which telechips have released - Failure
The FWDN program gives CRC check error while loading tcc8900_mtd.img.
Maybe bcos of corrupt download or the Haipad i have is a 4G memory one.
Which u think wud be?
Even if i accomplish providing power to the fingerprint device, i would need the C++ sample provided by the fingerprint vendor to be cross-compiled.
Otherwise, how can i test if the device works?
How to do that??
Hi
I did not see your post because it now came as page 2.
The tablet should provide some level of power to the reader. If you use the white converter cable that came with the tablet, it should tell the tablet to provide power (USB On The Go, see Wikipedia). It works with memory sticks and even hard drives. But I do not know if it is enough for that reader.
With 2.3 firmware you could use a power hub to give power to reader (still use white converter cable between tablet and hub). Do not use hubs on 2.1.
To check if tablet recognizes reader do this:
adb shell:
#dmesg -c
#insmod driver.ko
#dmesg
--Insert reader in usb
#dmesg
The output of dmesg should tell you how the kernel reacts when driver is loaded and reader inserted.
You can cross compile c++ code using same compiler as for the kernel. But you will have to compile program/libs statically, since android does not have the C++ libraries.
You can probably achieve this by putting a static keyword in a Makefile.
Also you need to direct the gcc to point at the cross compiler.
An other approach is to install Debian on the tablet inside an file image. I have done this. It is very nice. It gives you a complete (non graphical) Linux system. Compiler, libs and all. Also lsusb and other useful tools.
It is much easier to make Linux programs work like that.
But this Debian will run inside chroot, and cannot see the android system.
I used this tutorial:
http://www.saurik.com/id/10
However I used a bit different approach for starting up Debian system (using Debian own rc scripts).
If you can make the Debian Image, I will be happy to provide you with my scripts to manage it.
I do not know why you cannot install 2.1. It was the one you got fro my URL?
I just see now that Haipad has released a brand new 2.3 this night.
Do not attempt to load it. Last one did not work unless you had the very new tablet. I will try this new one tonight.
What is this project with the fingerprint reader? Tell me more.
Thanks xdamala,
Ya if it is possible, i would surely like to have a Debian on the pad.
I am just exploring things on it, so that we can have a external device work on the pads.
Let me check this url and will let you know
http://www.saurik.com/id/10
Click to expand...
Click to collapse
Ya, if you can help through the process, i will gladly accept it
Also, i didnt get any cable with my pad.
That was the first of issues. Had to buy it separately.
I had done the dmesg check as you told, but it didnt give any noticeable output.
The 2.1 firmware link that you gave, throwed a CRC error. what to do?
if you get a crc error on firmware it is probably because its the wrong firmware.
There are several different versions of this tablet so it can be a bit tricky.
This firmware is for a M701-R 4GB HY
There is 2 GB and 4GB versions. You have a 4 GB right.
There is HY and non HY versions (type of nand memory).
There a re with and without remote control. That is not so important.
I think any mix of the above is possible.
How to figure out if you have a HY version:
Insert usb to pc and enable usb storage.
If nan memory is shown as 3,08 GB (I think) it is an HY.
If it shows less (2,7 GB Ithink) it is a non-HY.
Determine your version and we can see if we can find a FirmWare for it.
Anyway I think you should keep your 2.3 for now. It just is better for USB.
What is the filename of the rar file with 2.3 rom you installed, and where did you get it from? (this might help me identify your tablet).
About usb cable. I now understand why you have no power on reader. If you read the wikipedia article about USB OTG (wikipedia) you will understand that the tablet is in slave mode and will not provide power and probably not talk to devices.
Also see here: http://www.maxim-ic.com/app-notes/index.mvp/id/1822
Can you get a memory stick to work?
You need something like this:
http://www.amazon.co.uk/Host-Cable-ARCHOS-Internet-Tablet/dp/B004TJC1IM/ref=sr_1_3?ie=UTF8.
It will short the correct pins in the mini usb plug, telling the tablet to be master and provide power.
It is possible to fix a cable yourself but I will not recommend it:
http://www.youtube.com/watch?v=COkLEJGo6vo&feature=youtu.be
I am a bit surprised that loading the driver produces no output in dmesg.
But if the tablet is not in host mode, it is not surprising that no output comes from inserting the reader. The tablet is not responding to it since it is in slave mode (like connection two usb sticks. Nothing happens).
I can not help you through the Debian. I used the tutorial I already linked.
If you do the same and add my scripts you should be able to make it work.
Alternatively you can get my Debian Image, but it is 1 GB file, and I need to clean out personal stuff and passwords.
Hi xdamala,
Ya, it seems to be a non-HY, cause i have around 1.4G space in nand
The file i downloaded was M701_2.3.rar, which i downloaded from haipad.net
I did buy the cable like u showed in amazon.com link, using that only am connecting the reader to pad.
And No, a memory stick also is not getting detected on that cable.
Attached that cable image.
Hi xdamala,
I have started creating the debian image, can you tell how you use the rc scripts?
Also, were you able to find the 2.1 image for M701 non-HY?
PS: I got the clockword mod recovery image from here http://androtab.info/telechips/firmwares
I used the one marked "Haipad M701 GB ROM 4K"
It worked for me.
Hi
Several things:
1: I think you have an 2GB version (non HY), not a 4G version.
2. It seems like the cable you bought is not correct. It has to be a HOST adapter/cable. Since nothing works with it I think what you have is just a male min-usb to female usb. It is not enough.
3. About Debian image. Which version of Debian are you using?
By the way I found out how to get rid of the "+" when using the Android kernel source. Move the folder .git to git. This will break git usage (unless you move it back). But it removes the "+" in version string.
Using Android kernel source might be better than stock kernel source.
Hi again,
1. Its a 2GB?? Oh but when i followed this link (translated it english)
Code:
http://www.inzipad.com/thread-334-1-1.html
My result was 4096, so i thought its a 4G one.
2. Oh. Then i will try to buy then one u have recommended.
3. I have dropped the step of building a Debian, cause i have a android application running and the input from the usb reader has to be sent to that application. So, I have to make it work natively on Android.
xdamala said:
You have two problems:
First on the tablet, copy the file /proc/config.gz out on your build pc.
Extract and copy file to .config in the 2.3.35.7 source.
Now you are ready to configure the kernel sources that you compile the vendor driver against.
do make menuconfig;
Fix problems:
1: wrong name of kernel.
Insert "-tcc" in general setup --> Local version.
You seem to have a "+" now. I do not know how you got that. If it is not in the kernel config, look in the Makefile in the root folder. The version is in the top. Make sure the 4th version line just says ".7" - no more.
2. Wrong system type.
You are compiling the modules for an Armv5 instead of Armv6. Go to Arm system type and choose Samsun S3C64XX. That is an Armv6.
The selector might look really strange. If that is the case, scroll to the bottom and scroll back up (now names appear one at a time), until you see the ()amsung S3C64XX.
Configure Makefile for crosscompile.
Now do a make dep; make modules.
Now you can compile the vendor driver against this source and get the correct module. Use modinfo modulename.ko; to see that the name and type corresponds to "'2.6.35.7-tcc mod_unload ARMv6".
I have just done this (for an usb net driver), and the resulting driver crashes the tablet So even if you can get a module build and loaded, it might not work because the system architecture (S3C64XX) is not really correct. In that case we really need the telechips 2.6.35.7 sources to build correct module.
But try it out, and good luck!
Click to expand...
Click to collapse
Thsi really works thanks for that

Point me in the right direction

Hello,
Recently I purchased the Tronsmart MK908II and am hoping to make it work with a touch screen located here http://www.cvtouch.com/. Now the company has stated that it will work with Android version 4.2.2 and Kernel version 3.0.36+. They have provided an android driver(a patch file), but they say "your SW engineer need to add it into the kernel".
So my question is, how difficult will it be to patch the kernel, and if not too hard, what are the tools/software I would need to make this happen?
They did originally recommend the Podoor 518 android box, but I only saw one on Amazon and wasn't sure about buying something that seems a bit older. Any guidance or help would be appreciated, thanks!!
Also the most I've done is follow directions to root/unlock some cell phones and install custom roms. I somewhat understand what is going on there, but have little to no idea about the magic behind that.
I've also attached the patch file? and the driver folder
The instructions with the patch file are as follows:
Support CVTouch Multitouch Simple User Manual
Modify your kernel source code refer to drivers\hid files.
1 kernel3.0+\drivers\hid\hid-ids.h
Define CVTouch VID/PID macro in about line 209.
2 Kernel3.0+\drivers\hid\hid-core.c
Add CVTouch VID/PID to struct hid_have_special_driver in about line 1378 to 1538.
3 Kernel3.0+\drivers\hid\hid-multitouch.c
Modify the CVTouch VID/PID at array mt_devices[] in about line 624 to 2054.
4 Confirm if the drive have added the hid-multitouch module in kernel config file.
Run make menuconfig in command terminal to select HID Multitouch panels.
Device Drivers --->
HID Devices --->
Special HID Drivers --->
HID Multitouch panels
Bump! Any help at all? or point me to where I could start learning to do this?

Looking for a complete/real Linux on my Nexus 5

Hello everybody,
I've been trying to get a complete Linux (for example Debian or Ubuntu) on my old Nexus 5 (NOT Ubuntu-Touch). All the Linux commands ("sudo" etc.) should work and I need to install Python.
Since I would like to use the Nexus 5 only for network stuff and bots at home, I don't really need Android anymore on the device.
I have no additional equipment (for exemple Bluetooth keyboard / mouse or USB to HDMI adapter) and I would prefere not buy any equipment.
Windows 10 would be enough as well on the Nexus 5 (I read it should work with some Android devices).
I got TWRP recovery on the phone.
What I've tried so far:
1.
The Maru ROM (Android + Linux parallel running). However, for the first configuration on the Linux-Desktop it seems like I need an adapter + Bluetooth keyboard & mouse, since the first configuration has to be done on the desktop
But have no corresponding periphery.
After the initial configuration of the Linux Desktop/Interface, via USB to HDMI adapter, you can access the Linux system on the Nexus 5 via SSH or VNC.
Apparently it's also possible to do the first configuration of the Linux interface via VNC. But I have not succeeded. I've followed various instructions and tried from Android by using terminal emulator to acces the parallel running Linux. VNC Viewer Apps were also used. Everything did not work out. Either there were error messages that the system is not "listening" on the port or that the access was denied. Is there an idiot-safe step by step guide for this?
2.
Next I flashed "[NEXUS 5][N7.1.2] - Pure Nexus"
I tried to to configur the terminal emulator and Termux with BusyBox and the "sudo installer app" to behave as if the terminal would be a real Linux. I also failed (couldn't get sudo command and other commands to work).
3.
Finally, I've used the "Complete Linux Installer" app. However, it turned out that my kernel does not support "loop device" (which is a prerequisite). So I tested the Franco Kernel and another custom kernel (name forgotten), which also did not work. I haven't found a custom kernel which is explicit "loop device" supported.
What ROM / Kerel Combo is required to use "Complete Linux Installer"?
Since I need no Android it would be the simplest thing to flash Linux (or Win10) with TWRP on to the Nexus 5. Is there some pure Linux ROM for the N5?
Otherwise an idiot-safe step by step guide for the N5 for the method 1 (Maru ROM via VNC without HDMI adapter), or for the method 3 ("Complete Linux Installer") would be great!
If someone has a full functional Linux or Win10 on the Nexus 5 (without additional peripherals) please report! Thanks in advance!
really no one an idea?
A ROM/Kernel Combination for the Nexus 5 with "Loop Device" support would be enough! (see 3. "Complete Linux Installer")
playerkirk1 said:
The only way I could imagine installing Ubuntu or any form of Linux based OS other than android would involve using EFIDroid, which isn't hard to install at all.
Here's the link to that.
I'd imagine you'd have to find a way to efi boot a version of Ubuntu arm or Debian arm, because the Nexus 5 is an arm device. As for Windows 10, IIRC Microsoft still hasn't released Windows 10 arm out yet, so we can't find out if we can port it back to arm32 or lower end Snapdragon devices like the Nexus 5.
Click to expand...
Click to collapse
Ok nice thx! I'll try it with EFIDroid.
Unfortunately I have not much time most recently... So it will have to wait.
I'll report if I manage to run any Linux version on the N5.
One more Question:
Is it easy to find an arm version of Debian or Ubuntu? Haven't searched yet.
Why use EFIDroid?
I built Gentoo linux on my htc hd2 a yaer ago (and lost the image a few weeks ago). It's not really hard to install a full native linux system on your phone and boot to it DIRECTLY (without android).
All you need is
a custom kernel with support for loop devices (may need some changes later for the display, or some dirty hacks)
a base system for gentoo and some linux knowledge
creating a loopback device and using it for the system storage
working from within android in the beginning on the loopback device, until the base system is installed, configured, bootable and has SSH ENABLED via ethernet, with custom ip address (this is tricky, as it's the only way to use the phone before a gui is installed)
working from the pc using ssh, installing all needed packages
failing too many times until everything works
Edit: while installing the system, you must maintain an ssh connection via usb, as i said earlier, and to reach the internet, you must use iptables from the host pc to share the connection and configure your phone to get to the internet using the host.
As i said, i had done it in the past for the HTC HD2, but never posted it (due to ****ty internet connection). I had done all the system compiling directly on the HD2. On such a slow device (1ghz single core, 512mb ram, class 4 sd card) it took about 2 weeks for the GUI to be working.
What i did later was take the same base system and run it on the HTC M8. while it works, display never worked correctly. I had to use a program i compiled to refresh the screen all the time, which consumed cpu quickly.
Anyway, it can be done on any phone. There's no such thing as impossible.
A shot of the end result gui on hd2 (i know, horrible gui and wtf is that resolution )
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
tl;dr: Install Gentoo linux
@ playerkirk1
Ok thanks. Maybe this way leads to a solution for me.
@ gilbert32
Impressive! That seems to me like pretty advanced work! I'm afraid my Linux knowledge is fare under yours...
But like I thought, it's possible! Thanks for sharing!
gilbert32 said:
a custom kernel with support for loop devices (may need some changes later for the display, or some dirty hacks)
Click to expand...
Click to collapse
So again it depends on the custom Kernel with loop device suport. I couldn't find one explicitly supporting "loop device" for the N5.
If I had, I would have used the "complete Linux installer" app.
(Check out 3. on my first post)
shomu said:
So again it depends on the custom Kernel with loop device suport. I couldn't find one explicitly supporting "loop device" for the N5.
If I had, I would have used the "complete Linux installer" app.
(Check out 3. on my first post)
Click to expand...
Click to collapse
It's not that hard to get it working
Should be about downloading the source code of any kernel you want to use, make menuconfig, adding loop device support and compiling the kernel. it's about 5-6 commands.
I honestly didn't know this was even possible, but this is amazing. I just thought you'd need EFIDroid and an ISO to boot off of, but that seems way too complicated to do reliably. I'll definitely try this myself because it sounds awesome. Thank you, you rock!
Click to expand...
Click to collapse
Yes, it is very possible. In the old days before android (where developers used to port linux to windows mobile devices, using HaRet), it was about compiling a working kernel, adding a ramdisk that prepares the loop device and mounts it, then changing the root to the loop device. In another way, to achieve it on a new phone:
Build the os for your phone, or install it. You must have a working loop device in the end, containing the root filesystem
Create the init file to use with the ramdisk later
compile a kernel that supports all features required by the OS
package the ramdisk and kernel into a bootable image, that you can fastboot boot or flash
On The M8, This is what happens:
Bootloader boots boot.img. I use fastboot boot boot.img since i don't want to override my boot image
kernel boots and runs my init. Which is a series of shell commands.
The commands mount the required partitions, then mount the loopback device to somelocation
init calls for switch_root, which turns somelocation into the new root filesystem, and launches the appropriate init script (IIRC /sbin/init in gentoo)
the new init starts its work, calls for OpenRC, etc etc etc
As i said before, i got it booting on the HTC M8 by grabbing a working boot image for the device, and modifying the ramdisk to use scripts for the HD2. I had modified those scripts to match the M8 requirements, then repackaged the image and voila. If i still had my working image, i would've uploaded it for you and tried modifying the needed files.
If you get the needed kernel working, i will help you with the next steps
and just another pic i found.
gilbert32 said:
It's not that hard to get it working
Should be about downloading the source code of any kernel you want to use, make menuconfig, adding loop device support and compiling the kernel. it's about 5-6 commands.
Yes, it is very possible. In the old days before android (where developers used to port linux to windows mobile devices, using HaRet), it was about compiling a working kernel, adding a ramdisk that prepares the loop device and mounts it, then changing the root to the loop device. In another way, to achieve it on a new phone:
Build the os for your phone, or install it. You must have a working loop device in the end, containing the root filesystem
Create the init file to use with the ramdisk later
compile a kernel that supports all features required by the OS
package the ramdisk and kernel into a bootable image, that you can fastboot boot or flash
Click to expand...
Click to collapse
hm..ok, but I must say, I never compiled a kernel...
I got kind of "advanced" knowledge about android compared to normal "Smartphone users", but I'm definitely no developer!
So unfortunately compiling things is beyond my skills. I think I could do it with a step-by-step-tutorial, but I guess my request is too specific to find a fitting tutorial.
When it comes to Linux, I know some basics about the system and some basic commands. But usually when I'm doing stuff with Linux I use tutorials as well.
I have much more experience with Windows, html, css and some java...
So again, for everything that has to be done with Linux, I need an easy tutorial...
I appreciate your trying to help me, but unfortunately i must say it's way too advanced for me. without a detailed how-to, I will not be able to do this...
gilbert32 said:
and just another pic i found.
Click to expand...
Click to collapse
I'm feeling a bit ambitious and wanted to try something, just want to know if it's been done before.
So I want to use my other phone - Samsung Galaxy Nexus - as a home server (FTP, p2p for start and maybe some light home automation later if everything works well).
So there is a patch for the GNex kernel that allows for phone charging and OTG at the same time. Also, I would need to patch in the loop back into the kernel so I wanted to know if Gento would be able to access my HDD hooked on OTG and how the drivers work in general on Gento and if it is worth the hassle getting it from Android to Gento. Also, I plan to VNC into the phone so display drivers aren't needed to work 100%.
Opinions?
Just install Sailfish OS. It's Linux with just a modified GUI for phones.
Here you can get the latest images, instructions, help (if you need) and info about all the various things https://talk.maemo.org/showthread.php?t=99377
Then take a look at this thread https://talk.maemo.org/showthread.php?t=98882
this is a link to working arch linux chroot https://github.com/Preflex/easy-chroot/releases/tag/0.0.2
here is a pic from my setup
Now someone made a patch for wayland to open in landscape mode. here it is https://openrepos.net/content/elros34/qxcompositor
And here is also ubuntu chroot, which works with that patch https://github.com/elros34/sailfish_ubu_chroot
I moved away from android long ago. Because i want my privacy back from google. Now i do not use anything from google except youtube (without google account)
ILA said:
I'm feeling a bit ambitious and wanted to try something, just want to know if it's been done before.
So I want to use my other phone - Samsung Galaxy Nexus - as a home server (FTP, p2p for start and maybe some light home automation later if everything works well).
So there is a patch for the GNex kernel that allows for phone charging and OTG at the same time. Also, I would need to patch in the loop back into the kernel so I wanted to know if Gento would be able to access my HDD hooked on OTG and how the drivers work in general on Gento and if it is worth the hassle getting it from Android to Gento. Also, I plan to VNC into the phone so display drivers aren't needed to work 100%.
Opinions?
Click to expand...
Click to collapse
If you can get the HDD to work inside android, it will work inside Gentoo. As long as you can mount the HDD inside android it should be possible. And you really don't need android to mount it, just look for the dmesg and see if it's detected, or look for it in /dev/sdxx. If it works, then don't forget to install the specific HDD filesystem support in Gentoo.
The easiest way is Linux deploy in the Google play store, u have the option to install Ubuntu, Debian, Kali, etc. Also with the option of selecting your GUI such as KDE, lxde, etc. U can also chose to build it as an image or use an sdcard partition if you're advanced which is the best option. Most Android devices can easily support running Linux IMO, there hasn't been a device I haven't got it not running on, with the exception of the ones u can't root lol. Give it a try, you'll see what in talking about, as for the vnc use juice SSH on the play store, that's my favorite, also helps to install the hackers keyboard from the play store too. Depending on the internet it should take u less than 30 minutes to get Linux up and running
Sailfish OS (pretty darn good), Plasma-Mobile (not very efficient), and PostmarketOS (least efficient) are good alternatives
there is shortly to be some work done by wicket in my home community of Maemo ...
to get Maemo Leste OS running on the nexus 5 ...
I suggest patience.
it will happen...there are just the n9 and n900 to come first...(which are coming along nicely thus far ..)
I myself am looking forward to having Leste on both my n900's and Nexus 5's...
Leste for the nexus 5 should progress quite rapidly once work begins, considering the nexus 5 is the perfect candidate in compare with other devices.
So you may wish to keep an eyeball on the Maemo Leste OS project
shomu said:
really no one an idea?
A ROM/Kernel Combination for the Nexus 5 with "Loop Device" support would be enough! (see 3. "Complete Linux Installer")
Click to expand...
Click to collapse
KDE Plasma
Sailfish OS if you can figure out how to install manjaro
Ubuntu Touch with dock
Come on just use Google.

Booting in EL2, for KVM use.

Hey guys,
Been working on a personal project, and came to this question, which also happens to be the first Im having to post about online..
Is it even possible to boot the kernel in EL2 mode with the sdm845 SoC ?
My end goal here being running qemu - which I'm already are - under KVM ( The tough part )
I Already tried enabling the necessary options in the kernel build, flashing them, with no success.
What I've been reading around is that since the system uses the TrustZone environment, this may not be possible.
[Kernel] Stock Android Pie kernel with KVM
I have been trying for some time now to enable KVM on the Pixel XL, by compiling the stock Google kernel and adding the KVM switches to "marlin_defconfig". Unfortunately, while the kernel with KVM compiles properly and could be flashed, /dev/kvm...
forum.xda-developers.com
On the other hand, under the chipset specifications I've been seen that only EL3 is really protected by the security implementations.
Documentation – Arm Developer
developer.arm.com
I know some exynos chipsets support booting in EL2 out of the box, but I see not much development for Qualcomm based ones.
ARM KVM (Kernel Virtual Machine) enabled Kernel for Samsung Galaxy S8
Hi. Can someone that compiles kernels for this phone compile one with KVM enabled and make it available to download? It should not be too hard. This would really make these machines appealing if you could spin up VMs on them especially...
forum.xda-developers.com
KVM
Limbo is a QEMU-based emulator for Android. It currently supports x86, ARM, PowerPC, and Sparc emulation for Intel x86 and ARM android devices. See wiki https://virtualmachinery.weebly.com for APK...
github.com
So, summing up, is it possible, and if so through what actions, to boot a kernel under LE2 mode on a snapdragon processor?
Also, side note, I'm willing to brick my device, if its worth the try, and adds to any progress of future development.
Edit1: Added links- sources
Cheers!
Sadly, with SDM845 it is impossible to enable KVM in android Linux kernels. As the kernel is booted under EL1 by the firmware. But with this firmware https://github.com/msm8916-mainline/qhypstub, msm8916/msm8935 can.
Is there a way to enable KVM for SM8450 (Snapdragon 8 gen 1) ? I would like to use Qemu on Galaxy Tab S8
linlin3309 said:
Sadly, with SDM845 it is impossible to enable KVM in android Linux kernels. As the kernel is booted under EL1 by the firmware. But with this firmware https://github.com/msm8916-mainline/qhypstub, msm8916/msm8935 can.
Click to expand...
Click to collapse
How i check my device booting with EL1 or EL2 ?
Via `dmesg` ?

Boot into Debian or Arch possible on Smartphone? Universal Image for most Devices?

Hello Community!
I am asking myself it is possibe to direkt boot a debian ARM Port or ARCH Linux ARM Port (maybe from SD Card) on my Smartphone? I saw lots of videos booting a Linux on Top of Android but i would like to "natively" run a OS. Where a Custom ROM typically has drivers for a special type of device i am thinking if a very generel distribution could detect most of the devices hardware...
Any Ideas if this would be possible?
AFAIK it's not possible.
Can you give me a (detailled) hint why you think this would not work?
When reading the informations: https://archlinuxarm.org/about/downloads
The released downloads are designed for the specific systems above; however, our package repositories work with any ARM device compatible with ARMv5, ARMv6, ARMv7-a, or ARMv8-a AArch64 instructions.
In TWRP i can select Storage - maybe starting from TWRP command line a image start from SD Card would be possible?
You initially said your goal is to completely replace Android by Linux ( ARCH Linux - what is for tablets only ) on a smartphone, IIRC.
Now you say you want to run Linux ( ARCH Linux ) on top of Android. Confused ...
hello! i meant that my smartphone can start the TWRP bootloader and from there the boot process could be (maybe) handed over to an image at the SD card....
thats the idea... ;-)
TWRP is a Custom Recovery means a restricted Android OS ( like Windows RE for Windows machines), not a bootloader ( what is comparable to UEFI / BIOS on Windows machines ).
The Android bootloader starts the recovery mode and the kernel, which then starts the operating system of your smartphone.

Categories

Resources