Related
As the title above suggests, I am after building and using a complete Linux native-built (not over-android and such like) system, which is build from source (no propriety google and other such closed-source nonsense) with the following features:
- 'standard' kernel (again, built from source) with, possibly, the SELinux hooks enabled (see below);
- NO GUI (at least not for now anyway) - just plain old terminal environment;
- iptables and associate tools;
- SELinux + associated tools built and installed - this, although not mandatory, it is highly desired. I can build the security policy myself, though the tools I need to use require recent working version of perl, python & m4 to name a few packages required.
- auditd (highly desirable and obviously dependent on whether SELinux could be build & installed);
- dev-mapper tools;
- vim (minimal configuration);
- bash;
- crond
- openvpn - i have my own 'customised' sources for this, which I use on all of my machines;
- linphonec - this, from what I understand, could be build from source for armv7 (which is what G1 is based on afaik);
That's it. I don't need any other fancy tools/packages. I would also like the root image (/) to be as a 'live cd', though I am not sure with the 192MB RAM available to G1 whether this is at all possible?
As evident from the above, I intend to use the phone as a mini-pc-station, which connects to my network (via vpn) and uses sip-based voip. The intended method of connection is about 70% wifi (various hotspots as well as my own wifi router when I am at home) and 30% gps 2/3g, HSDPA/HSUPA when no hotspots/wifi is available (that probably means the use of sim card, I guess). I also need the audio to be usable in full-duplex mode.
My G1 phone is already rooted and contains custom android 2.1 rom upgrade from here, though I have to admit that even though I have quite a bit of skills as a programmer, my experience with embedded devices - and g1 in particular - is the grand total of nil, I am complete n00b as far as this goes, so if anything I have included in this post is a bit...erm...stupid, I apologise in advance.
I did a bit of research and came across various attempts to build and install Debian[1][2], build and use OpenMoko[3][4] and SHR[5], as well as getting rid of the unnecessary - bulk - stuff[6][7] and according to some[8] what I want to achieve seems 'doable', though as a newbie I am not sure what route to take, thus I ask for a 'second opinion' from the more knowledgable on here before I dive-in and start spending more time on this.
What concerns me are the crucial bits that seem to drive the G1 hardware - wifi and gps connectivity in particular - they all seem to be propriety and closed-source[8]. I don't know whether this problem has been overcome (if so, I'd like to know how exactly?), but I would like my phone to be 100% build from open source and have the functionality I described briefly above, if that's possible.
Also, I'd like to build the phone image on a 'regular' PC - I have quad core CPU (x86_64 arch), which should be sufficient for the task, I think. I tried to build x86-64 -> armv7 (arm11) cross toolchain, but do not know enough about what 'flavour' of the core c library is in use or shoud be in use on G1?
Again, any help with this would be much appreciated, thanks. As a newbie with less than 10 posts I am only allowed to post on here instead of the dev forum, which was my intention initially!
[1] Debian & Android Together on G1 - Jay Freeman (saurik)
[2] Native Debian on HTC Dream G1 | Novaspirit - Notepad
[3] Main Page - Openmoko
[4] Openmoko on HTC-Dream
[5] Devices/HTCDream/InstallGuide - SHR
[6] xda-developers - View Single Post - [Q] G1 rom without phone bulk?
[7] Official "Native Linux/Debian" Thread - xda-developers
[8] Dream - Htc-linux
The architecture you need to build for is armv6 / armv6j. Terry has a complete AOSP setup on github, probably you can extract some additional information from there.
Thanks for the the answer and the link provided - it seems that all of these repositories contain Android-based stuff.
As I indicated in my initial post, this is not what I am after - I already have rooted system with an old-ish android installed (2.1). I just want a 'standard' customised kernel (Fedora, Debian, Ubuntu) so that I could then easily build and install the software components I indicated above and possibly lock them in in a security domains using SElinux as well as get rid of all the propriety stuff which currently exists in android.
'open source' android is not where I want to go.
Yes, it's mostly android, but there you can find also his kernel sources and how to build them. In addition there is busybox, ... i.e. everything you need to build a command line linux. Additional packages, like python, ... you want to integrate you have to get and to integrate from different sources. The "final" setup is to be done by you. What else you are looking for?
Sent from my Gingerbread on Dream using XDA App
Maybe I am not looking in the right place, but from the link you provided I could only see GB-* (gingerbread?) repos with the exception of 'kernel-biff-testing' which contains the android kernel, which, to my understanding, is not the 'standard' kernel and is therefore not what I am after (again, see my initial post).
Its a kernel for the htc dream.. yes there are are android related components (all under gpl v2) you can if you wish configure them out. And patch it to use some device memory like the camera ram and video ram as general ram since you wont be using the android libraries used by these, you will also want to enable the console.
Use that and a debian or other gnu userspace if you wish, on system, userdata,cache, partitions and ans ext partition on the sdcard..
Not sure how well your ideas for audio will work. Seems somewhere are alsa drivers.
That or look up the openmoko port to the dream.
What you are missing is unlike x86 the linux kernels for arm devices frequently need patches to work.. there is a movement to reduce this but most devices at current require some patches not in mainline.
FYI
Wifi: drivers are open source,
Bluetooth: the serial port is open but the device its self requires a binary firmware blob to be uploaded to it
Mobile (3g/gsm) camera and gps: kernel has some api calls to the arm9 and provides access to userspace.. binary blobs in android userspace talk to these devices so I don't know the details, openmoko is the best place to look at details here.
Thanks for taking the time ezterry! Comments below:
ezterry said:
Its a kernel for the htc dream.. yes there are are android related components (all under gpl v2) you can if you wish configure them out.
Click to expand...
Click to collapse
Are we talking about the 'standard' kernel or the android one? If it is the latter that won't be of much use to me 'cos the arhitecture of the android kernel is very different from the standard one (the likes of Ubuntu, Debian, Fedora etc). In addition, there are no SELinux hooks afaik, which makes building and deploying SELinux policies impossible[1].
Moving on...
ezterry said:
Use that and a debian or other gnu userspace if you wish
Click to expand...
Click to collapse
Do you mean deploying Debian on top of android? If so, this is not what I need - I want native system, one which my phone boots into as soon as I turn it on - without touching anything android-related!
ezterry said:
That or look up the openmoko port to the dream.
Click to expand...
Click to collapse
I did, but from what I could gather it isn't complete and has a lot of rough edges.
ezterry said:
FYI
Wifi: drivers are open source,
Click to expand...
Click to collapse
Erm, yes and no - WL1251 (which is what g1 uses) has 2 drivers - 1) TIWLAN, which is GPL'd, but not very useful as it relies on non-standard (i.e. android-specific) stack. That stack has nothing to do with the 'standard' Linux stack; and 2) 'native' wl12xx driver which does use the standard Linux stack, but seems not very complete and requires a lot of quite ugly hacks to enable some sort functionality approaching acceptable levels[2][3].
ezterry said:
Bluetooth: the serial port is open but the device its self requires a binary firmware blob to be uploaded to it
Click to expand...
Click to collapse
Thankfully, I am not interested in bluetooth - at least not at this stage anyway.
ezterry said:
Mobile (3g/gsm) camera and gps: kernel has some api calls to the arm9 and provides access to userspace.. binary blobs in android userspace talk to these devices so I don't know the details, openmoko is the best place to look at details here.
Click to expand...
Click to collapse
Please ellaborate! I did look and Openmoko seems to suggest 3g/gsm status ' fairly complete w/ FSO2' (freesmartphone.org?)[4].
[1] The case for SEAndroid
[2] WL1251 - HTC Linux
[3] wifi firmware - xda-developers
[4] Dream - HTC Linux (core status)
YES You need to download some dream source and look at menuconfig... and yes disable the android specific addons and moduels. and build it
YES you need to ditch the android init, and bionic ect, and replace them with the arm builds from debian or other GNU project source, and change the android ramdisk (root directory) into a debian (or distro of choice) ramdisk to pivot_root to what android calls /system and mount sd-ext if/as needed
YES you need to find the open source AMSS drivers from openmoko rather than use the android binary blobs,
YES you many need a special WPA Supplement (but still 100% open source) to deal with wifi. (its still normal linux networking .. just setup is strange)
NO Android will not boot or exist if you remove lowmemory killer Ashmem, and if it still exists binder from the kernel
NO dalvik will not exist when you install a debian ramdisk to your boot.img, and debian base system to /system and /sd-ext as you see fit
MAYBE SELinux will work with.. maybe it needs some patching.. but once the android parts are disabled in menuconfig you can try to enable SELinux (just the code is modified for the dream and you may find rough edges that need ironing first)
Your direction need be as follows: 1. realize its still the linux kernel (with some new modules that linus is not sure belong in the actual kernel) 2. learn how the linux kernel enters userspace (starts init) yes all of android userspace is re-written from the ground up, so you want to dump androids init and use a gnu-linux one.. and dump bionic for proper gnulinux libc/utilities
_----
It ought to be noted in your links are openmoko and others that effectively tried what you are asking,
It may be rough at the edges but they may have the starting point for you.. but the effectively tried and cleaned up some larger edges on what I am describing. Thus fixing the rough edges in these other projects may be better that starting from scratch.. at least keep them for refference..
I however have openwrt routers and Linux desktops and netbooks for Linux, OS's MacBook for OS's and android phones/tabs for android, and vmware for windows XP.... so have not exactly hadthe need to transform a htcdream to gnu Linux or have reason to.
I'd personally would be more interested in *.ipkg as used by openwrt to install Linux packages in the bionic userspace of android (for use on the command line but keeping android, and without need of a full debian chroot)
***THIS FIX APPLIES ONLY TO THE NEXUS 7 (2012) 1ST GEN TABLET***
EDIT 12/30/13*** This vold fix is no longer needed on any CM based or SlimKat roms. A patch has been merged in CM upstream. ***
http://forum.xda-developers.com/showpost.php?p=48974402&postcount=2892
There seems to be some confusion regarding native OTG usb with KitKat roms. In the transition from 4.3 to 4.4, roms like CM or Slim that used to have native OTG lost that capability. I had discussed this briefly with fattire in his "How to build" thread and it appears that something was changed in the vold binary, that ended up breaking native OTG usb. I believe that a vold commit or commits in CM are the culprit and hopefully, someone much more knowledgeable than I will be able to solve this with a revert of the commit, or a patch. EDIT: It now appears that this can be fixed with edits to the CM ramdisk. See here for XDA Recognized Contributor Temasek's patches submitted for approval to CM Gerrit. EDIT: Merged as of 12/30/13 . http://forum.xda-developers.com/showpost.php?p=48746670&postcount=113
Native OTG usb means not having to use an app like stickmount or OTG helper. With native OTG, you can mount and unmount usb storage from within settings/ storage. If your flash drive is plugged in at boot, it will automatically be recognized by the OS in settings/storage and various apps. Additonally, in settings/storage and file managers, you will be able to see the correct total and available space for your flash drive. In applications such as file managers and TB, your flash drive will be automatically recognized and show up as usbdisk.
FYI, stock and stock based roms do not have native OTG capability. These type of roms must use an app like stickmount. This is also true of Omnirom, as it uses the same storage setup of a stock rom.
Anyway, I'll stop rambling and get to the point. Through trial and error, I found that by substituting the vold binary in 4.4 with the one in 4.3 roms it worked just as it did in 4.3. So, I made a zip that will provide a fix for native OTG until it gets fixed in CM upstream.
Here is a link to my original post in fattire's thread with download links to the appropriate vold fix zipfile, either CM11 or SlimKat. Simply flash this over your rom and you've got native OTG, that's it! Of course, you'll have to flash this everytime you flash a new rom or update the rom.
http://forum.xda-developers.com/showpost.php?p=47564220&postcount=1665
Again, this does not work with stock or stock based roms, as they have a different storage setup. This will work with all current CM based roms, as well as SlimKat. Here's a list of roms that I tested on and all worked. I have a grouper but it should also work on any CM based rom as well as SlmKat for tilapia, as it uses the same storage.
Official CM11
Unofficial CM11 by koko98
Unofficial CM11 by swordrune10
Unofficial CM11 by Temasek- no longer requires vold fix-native OTG now works right out of the box!
Unoffiical CM11 by Zeljko1234 - no longer requires vold fix-native OTG now works right out of the box!
Unofficial CM11 by (Skanky) makelegs
BS Harmony CM 4.4 by mar5hal
Vanir KitKat betas
SlimKat 4.4/4.4.1/4.4.2
EDIT 12.25: Franco kernel r76 fixed by Osmosis for CM11 now works right out of the box and no longer requires vold fix. http://d-h.st/aZY
Note: For CM11 4.4.1/4.4.2 roms, (builds from Dec 07 and later) this will not work unless you also flash a custom kernel with a CM compatible ramdisk. M-Kernel and Lean Kernel have been tested and they both currently work. See post # 6 in this thread.
This works! If it doesn't work for you, something else may be wrong with your setup ie; OTG cable, flash drive, or N7 usb port. For NTFS support, you will need a third party app like stickmount etc.
Mike T
I'm sure it's obvious to more experienced people, but I had to turn off zipfile verification in TWRP in order to flash this fix. Cute thing: maybe I have OTG fever, but this OTG fix installs fine using OTG in TWRP In fact I found flashing the kitkat rom & gapps zip from a USB stick beats fiddling with hugely temperamental ADB drivers on my windows 7 setup.. Thanks for making this available, stickmount uninstalled for good now.
Merdeke said:
I'm sure it's obvious to more experienced people, but I had to turn off zipfile verification in TWRP in order to flash this fix. Cute thing: maybe I have OTG fever, but this OTG fix installs fine using OTG in TWRP In fact I found flashing the kitkat rom & gapps zip from a USB stick beats fiddling with hugely temperamental ADB drivers on my windows 7 setup.. Thanks for making this available, stickmount uninstalled for good now.
Click to expand...
Click to collapse
Glad it has been beneficial for you. I can't do without OTG and I also flash pretty much everything in TWRP from my USB flash drive. Although it's not a big deal to flash this zip, I'm hoping that the smart guys from CM eventually get this fixed.
Mike T
Is this only for Grouper?
Flashed it on Flo, desperately hoping it will work but did not.
Ok, changed the vold file to the one in Flo's CM10.2 and also changed the updater-script to use busybox.
And it worked!
bland.life said:
Is this only for Grouper?
Flashed it on Flo, desperately hoping it will work but did not.
Ok, changed the vold file to the one in Flo's CM10.2 and also changed the updater-script to use busybox.
And it worked!
Click to expand...
Click to collapse
Glad you got it working but yeah, this was meant for Nexus 7 1st gen, grouper/tilapia. That's why it's posted in the N7 1st gen forum. Good that you took a chance and applied the same principle of the CM vold binary to Flo, as you had nothing to lose but something to gain.
Mike T
Looks like this workaround does not work with CM11 Official/Unofficial android 4.4.1. I think something has changed in the CM11 stock ramdisk in builds starting from Dec 07. If you still want to use this workaround, you need to use a custom kernel with a ramdisk that is compatible with CM11.
I have tested with M-Kernel a64 (should also work with a65) and Lean Kernel 3.0 and it works. These kernels could also stop working in future releases if they make changes to their ramdisk similar to CM but for now they do work.
M-Kernel: http://forum.xda-developers.com/showthread.php?t=2168787
Lean Kernel: http://forum.xda-developers.com/showthread.php?t=1950858
So to be clear, on CM builds of 12/07 or later, you need to flash both the 4.3 vold binary zipfix and a custom kernel, either M-Kernel or Lean Kernel. This works and will work until CM either fixes it so we don't need it, or breaks it again with commit or two. :laugh:
Mike T
USB OTG for 4.3 Stock based rom
Hi,
I'm using drketan's V6 hybrid rom on my note 2 and I do not see USB OTG support here. It was there till some previous version (v3) for the same rom. Is there any way, any app so that I can enable usb otg support again?
dcpathak said:
Hi,
I'm using drketan's V6 hybrid rom on my note 2 and I do not see USB OTG support here. It was there till some previous version (v3) for the same rom. Is there any way, any app so that I can enable usb otg support again?
Click to expand...
Click to collapse
Sorry, you're in the wrong forum. This fix is only relevant for the Nexus 7 running CM based KitKat 4.4 roms. You should be asking your question in this Note 2 forum thread http://forum.xda-developers.com/showthread.php?t=2472270 and I see you already have asked in that forum.
Either wait for an answer, or ask in that forum/thread again.
Mike T
hi, can i ask you if this work with:
leankernel 3.1
and
Kang-aroo 1.1
?
cause i don't have my nexus 7 at the moment. i think that leankernel 3.1 may not work because i read from changelog: ramdisk: merged latest cm-11.0...
Hey webdroidmt, basically I'm on BS Harmony rom and whenever I flash this successfully however whenever I try to mount my usb drive all that happens is that it gives a notification and just stops. The usb works with my computer just fine however whenever I try stick mount it gives me mount server is busy error so I'm thinking it's the tablet.
@Suxsem
I thought the same thing but it worked for me with Lean 3.1. Sorry, don't know about Kangaroo...cool name Kangaroo. LOL
@dilzo
For it to work with Harmony, you also need to flash a custom kernel, M-Kernel or Lean Kernel due to the changes made in stock CM kernel ramdisk.
However, soon none of this may be needed. XDA Recognized Contributor Temasek, who has an awesome CM11 build for both grouper and tilapia, has submitted a patch to CM Gerrit that is currently under review.
http://forum.xda-developers.com/showpost.php?p=48746670&postcount=113
Hopefully, it will be approved and merged soon and all CM11 based roms will have proper working native USB OTG right out of the box. It has been working on Temasek's CM11 for tilapia for a couple of weeks already. I also tested the fix with his CM11 build for grouper and it worked great.
Mike T
This vold fix is no longer needed on any CM based or SlimKat roms. A patch has been merged in CM upstream.
http://forum.xda-developers.com/showpost.php?p=48974402&postcount=2892
Mike T
Write_external_storage
After the patch was merged I was still having problems with applications having access to my external storage. Specifically titanium backup. The following helped. The end goal being to modify /system/etc/permissions/platform.xml under "android.permission.WRITE_EXTERNAL_STORAGE" with the following, in that specific order.
<group gid="media_rw" />
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
sed -e '/WRITE_EXTERNAL_STORAGE" >$/N;s/\n\(\([ \t]*\)<group gid="sdcard_rw".*$\)/\n\2<group gid="media_rw" \/>\n\1/' -i /system/etc/permissions/platform.xml
http://forum.xda-developers.com/showthread.php?t=1458021
any hope to work on the moto g? I am thinking of rolling back to 4.3 stock rom now.:cyclops:
MaD_Stinger said:
After the patch was merged I was still having problems with applications having access to my external storage. Specifically titanium backup. The following helped. The end goal being to modify /system/etc/permissions/platform.xml under "android.permission.WRITE_EXTERNAL_STORAGE" with the following, in that specific order.
<group gid="media_rw" />
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
sed -e '/WRITE_EXTERNAL_STORAGE" >$/N;s/\n\(\([ \t]*\)<group gid="sdcard_rw".*$\)/\n\2<group gid="media_rw" \/>\n\1/' -i /system/etc/permissions/platform.xml
http://forum.xda-developers.com/showthread.php?t=1458021
Click to expand...
Click to collapse
Thanks!
This worked for me just editing the file and adding the line(s) that was missing (making sure the end result matched what you had there). I did have to reboot afterwards to get it to work (but perhaps that's a given?)
ALL CORES WORKING FULLY WORKING 3 g935 KERNELS TO CHOOSE FROM LOOK BELOW
THAT THIS IS FULLY WORKING AND UPDATED TO NETHUNTER 3.1.0
ZIP MODDED FOR S7 EDGE FOR 1440X2560 WITH NEWEST BUSYBOX AND SUPERSU
WARNING: This is completely untested, highly theoretical, and possibly dangerous. Flash at your own risk.
Back up your original boot image in TWRP before attempting to flash this! If it doesn't boot, you can simply restore your previous boot image.
This is Kali NetHunter 3.1.0 for the Galaxy S7 Edge.
If you don't know what Kali NetHunter is, well, it's the entire Kali Linux operating system in a chroot on your phone, plus a bunch of awesome apps for executing exploits, fixing things, doing cool things. It goes on, I suppose.
I'm gonna be honest guys, I'm not a security person. When it comes to security, I'm more of a Paul Blart.
What I do know though, is that there is apt-get, and apt-get is life.
Find much more information here: https://github.com/offensive-securit...nethunter/wiki
The answer to all your questions, generally the answer is YES, IT CAN DO THAT.
Most ROMs should be supported, as our installer uses a dynamic patching method on your current boot image!
The updater zip will add a few files to your /system partition, and install all of the NetHunter apps to your /data partition.
The chroot is located in /data/local, so you don't have to worry about your system partition being full. It's full read/write capable.
Understand that the zip will replace your current kernel with a completely different one.
This is necessary because most stock or custom kernels don't provide the drivers needed to operate most of Kali NetHunter's features.
DOWNLOAD
https://mega.nz/#!3QIHzQ5b!x77Wad9OUAyQqAtJJucak3C_3twfFFwZqJ77Wt1j6-c
Current version: 3.1.0 (beta, 07/03/2016)
Please be careful to download the right version based on this table:
SM-G935F, SM-G935FD, SM-G935X, SM-G935W8: hero2lte
SM-G930F, SM-G930FD, SM-G930X, SM-G930W8: See proper forum.
All others be sad.
Download is available at: kernel below
Grab the 700 MB+ zip.
Kernel-only zip is for upgrading your kernel, or just using the NetHunter kernel by itself. (yes, you can do that!)
BEFORE INSTALLING
Currently, Samsung encryption is not supported by TWRP, so we have to disable it.
Sorry security freaks! There's a lot of irony here, isn't there?
The Kali chroot and apps are installed on your data partition (in /data/local for chroot). To initialize the chroot and install Kali Linux, you need to start the Kali NetHunter app.
The NetHunter installer will automatically install SuperSU (2.76) in system mode, which I consider to be more stable. Since NetHunter already modifies your system partition, there is no need to use systemless SuperSU anyways.
Also included is an extra Busybox that gives you full large file support and some extra applets.
FULL FRESH INSTALL STEPS
Install Team Win Recovery Project to your recovery partition.
If your data partition doesn't mount in TWRP:
Go to [Wipe] -> [Format Data] (not advanced wipe) -> type "yes".
WARNING: This will wipe your internal storage, disable encryption, and factory reset your phone!
Once your data partition is formatted, go to [Reboot] -> [Recovery].
Download dm-verity and force encryption disabler.
Without exiting TWRP, transfer no-verity-opt-encrypt.zip to your device over MTP* and flash it using [Install] in TWRP.
If you wiped your data partition in step 2:
Go to [Reboot] -> [System].
Set up your phone by following the Android setup wizard.
Once it's set up, reboot back into recovery.
Download Kali NetHunter.
Without exiting TWRP, transfer the NetHunter installer zip to your device over MTP* and flash it using [Install] in TWRP.
Go to [Reboot] -> [System].
Wait 5-15 minutes for your device to finish setting itself up.
Open the NetHunter app to initialize the environment
You're done!
* MTP, known as Media Transfer Protocol, is the same way you transfer files from your PC to your device when booted into system.
UPDATING TO A NEWER BUILD
Going from 3.0.0 and up, all you have to do is flash the new build in recovery and wipe dalvik cache.
UPDATING YOUR ROM
To get all your NetHunter and SuperSU functions back after flashing a new ROM, just flash the ~700+ MB update-nethunter-* zip again.
THE KERNEL
The NetHunter kernel for the Galaxy S7 Edge is based on Samsung's OSRC G935FXXU1APF2 kernel sources.
It has the following changes:
F2FS updated to Jaeguek Kim's latest kernel.org f2fs-stable sources
F2FS formatted system, data, and cache partition support
UKSM Ultra Kernel Same-page Merging KSM support
Updated and enabled USB (OTG) Atheros, Ralink, and Realtek WiFi drivers
Simple IO (SIO) scheduler as default IO scheduler
USB HID Gadget keyboard support
mac80211 packet injection support
DriveDroid compatibility
Additional drivers built in for the full Kali NetHunter experience
Data partition encryption changed from forced to optional (disabled during installation)
Disables dm-verity and allows you to boot modified system partitions
RAN INTO AN ISSUE OR BUG?
In order for me to help you, you have to at minimum reply with:
The link to the exact zip you downloaded
Your device model (it better not be something other than G935F, dangit!)
The name of the ROM you're flashing it on
The version and build date of the ROM you're flashing it on
A complete description of your problem
Optional: An audio recording of you reading this entire post
If your issue is with a specific app, it might be better to contact the developer of that app.
If your issue is during the installation (ex. flashing the NetHunter zip), then please collect a TWRP recovery.log for me.
If you found a problem and were able to fix it, and no one's mentioned it in the thread already, it would be kind to state the issue and your fix for others to make use of as well.
You can join me and the other NetHunter developers on IRC at the #nethunter room on freenode to more handily diagnose problems together.
I apologize, but I can't do house calls at this time.
KNOWN ISSUES
USB Keyboard - The keyboard is unusable when using Google Keyboard as your input method. Switch to Hacker's Keyboard.
NetHunter Terminal - It doesn't automatically set the columns/rows, so you need to type "resize" sometimes to fix the display.
DEVELOPMENT
You can see branch of the installer development here:
Alternatively, the main branch is also available on the Offensive Security GitHub: https://github.com/offensive-security/kali-nethunter
Kernel source: https://github.com/BoostFlash/nethunter_kernel_herolte
DISCLAIMER
I am not affiliated with Offensive Security. They seem like cool guys though.
I'm not even a novice when it comes to security and penetration. I'm just a simple system administrator with a passion for breaking Android.
Please restrain yourselves from asking me security related questions.
XDAevDB Information
Kali NetHunter for the Galaxy S7 Edge, Kernel for the Samsung Galaxy S7 Edge
Contributors
jcadduono, The Kali NetHunter team ,ohap
Source Code: https://github.com/BoostFlash/SuperKernel
https://github.com/BoostFlash/nethunter_kernel_herolte
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 3.1.0
Beta Release Date: 2016-07-03
new links :
jcadduono nethunter patcher with new superkernel plus nethunter patches , make sure your on a kernel thats fully working before flashing this as it only patches ramdisk
https://mega.nz/#!LR4BgbyJ!vezMFaob3mIETH__mVMd9WjCXwLCFvzouObX7f72wmY
my kernel compiles from superkernels source with makeshift ramdisk + nethunter patches
https://mega.nz/#!rEQDBD4B!v_4JRruBe6exR-O40ax5DECJA7nLikSpbIbEDI7YVyM
superskernel with his modded ramdisk plus nethunterpatches added by me synapse support <--best one
https://mega.nz/#!qcYnBAoT!KSHvaX7EtJLDeQq0kPmZHK4N200cnyirHP4X7-jUavg
Kali nethunter
https://telegram.me/kalinethunter
must thanks and credit to:
lucu/Tkkg1994 superkernel dev
jesse for fp patch
jcadduono for his help with github and patcher scripts
webhost420/hayden for brainstorming with me
So I'm good to just flash this with TWRP over the current one I'm using?
CPU core 6 and 7 still stopped as with previously used kernel.
Kali still working, everything seems the same so far. Will see with time.
umKthxbye said:
So I'm good to just flash this with TWRP over the current one I'm using?
CPU core 6 and 7 still stopped as with previously used kernel.
Kali still working, everything seems the same so far. Will see with time.
Click to expand...
Click to collapse
ya i cant seem to get them to work as i dont know , this is compiled from a old source , me and a other are trying to fix it no , BUT this is way faster then ael kernel , and im no way a professional kernel dev so this is my first shot at kernel i compiled my self which was a pain
ohap said:
ya i cant seem to get them to work as i dont know , this is compiled from a old source , me and a other are trying to fix it no , BUT this is way faster then ael kernel , and im no way a professional kernel dev so this is my first shot at kernel i compiled my self which was a pain
Click to expand...
Click to collapse
Are you using that AEL kernel as a base or the stock kernel?
Since the stock kernel or even Jesse kernel have all cpus active maybe use those and add support for the USB wifi adapters.
I'm also working on this with stock kernel but fixing compiling errors.
umKthxbye said:
Are you using that AEL kernel as a base or the stock kernel?
Since the stock kernel or even Jesse kernel have all cpus active maybe use those and add support for the USB wifi adapters.
I'm also working on this with stock kernel but fixing compiling errors.
Click to expand...
Click to collapse
No not using ael anything as there $%&$ , message me on telegram we have a group working on it . My name on there is Boostflash
ohap said:
No not using ael anything as there $%&$ , message me on telegram we have a group working on it . My name on there is Boostflash
Click to expand...
Click to collapse
Just post when there is a new one to test, the current one seems stable other then the 6 core problem.
Fixed the cores being off line they all come online at boot , but now facing maybe CPUFreq driver initialization failed ?? Which causes now all cores to go offline and stay off after a few seconds . And makes kernel unusable
ohap said:
Fixed the cores being off line they all come online at boot , but now facing maybe CPUFreq driver initialization failed ?? Which causes now all cores to go offline and stay off after a few seconds . And makes kernel unusable
Click to expand...
Click to collapse
Did you upload it for testing? Or not reliable enough to bother?
umKthxbye said:
Did you upload it for testing? Or not reliable enough to bother?
Click to expand...
Click to collapse
I thought the unusable kernel term would explain that , its not good for upload if you want to join group on telegram you can test if you want
good news jcadduono back working on this again , he first trying to fix his patcher zip , i told him how i got mine working but its different then what he doing , so once he gets that fix we see if its a issuse with original Samsung source or nethunter patches the core issues
The best way to use terminal in this since Hacker keyboard has so much **** on it you can't type properly.
1. Open Nethunter, Menu, Kali services, add check mark to SSH start at boot, and check it to turn on.
2. Go into Kali terminal(last time you'll need to use this crap) type; passwd "whateveryouwant", this will be used for your user in the next step.
3. Download Juice SSH and add user root with password what ever you made.
4. Create a connection using IP 127.0.0.1 (this is the local loopback address) leave port blank, it will use 22 by default.
5. Connect with one click and enjoy using any keyboard with bonus juice addon keys for terminal use.
JuiceSSH also give you a nifty little extra keyboard ontop of the one you use with the tab function, making bash autofill work.
I use swiftkey keyboard and have been using JuiceSSH for years to access my CentOS 7 servers and its been a dream to work with.
The one packaged with Nethunter is just terrible, and most of the other one found on app store are terrible as well.
Also, Ohap, you don't have to reboot after formatting the /data, just go back and clear the dalvik, cashe, etc, and other stuff like the guide I posted in your other thread.
Feel free to use the one I posted in the last thread.
Great work so far. The last kernel is still going strong, with no random reboot or other problem other the the 2 cores we all know about.
umKthxbye said:
The best way to use terminal in this since Hacker keyboard has so much **** on it you can't type properly.
1. Open Nethunter, Menu, Kali services, add check mark to SSH start at boot, and check it to turn on.
2. Go into Kali terminal(last time you'll need to use this crap) type; passwd "whateveryouwant", this will be used for your user in the next step.
3. Download Juice SSH and add user root with password what ever you made.
4. Create a connection using IP 127.0.0.1 (this is the local loopback address) leave port blank, it will use 22 by default.
5. Connect with one click and enjoy using any keyboard with bonus juice addon keys for terminal use.
JuiceSSH also give you a nifty little extra keyboard ontop of the one you use with the tab function, making bash autofill work.
I use swiftkey keyboard and have been using JuiceSSH for years to access my CentOS 7 servers and its been a dream to work with.
The one packaged with Nethunter is just terrible, and most of the other one found on app store are terrible as well.
Also, Ohap, you don't have to reboot after formatting the /data, just go back and clear the dalvik, cashe, etc, and other stuff like the guide I posted in your other thread.
Feel free to use the one I posted in the last thread.
Great work so far. The last kernel is still going strong, with no random reboot or other problem other the the 2 cores we all know about.
Click to expand...
Click to collapse
This was a poorly edited post for newbies , i know hacker keyboard sucks , and you dont have to wipe ect .. thanks for support & feedback
awsome update coming i have fixed the core issue !!! with the power of superkernel "luca" source ,plus nethunter patches, and a make shift ramdisk !!!! i got it to boot and all cores online plus all the goodys of superkernel !!
Now Need to just include patch for hid keyboards now I do that latter
umKthxbye said:
The best way to use terminal in this since Hacker keyboard has so much **** on it you can't type properly.
1. Open Nethunter, Menu, Kali services, add check mark to SSH start at boot, and check it to turn on.
2. Go into Kali terminal(last time you'll need to use this crap) type; passwd "whateveryouwant", this will be used for your user in the next step.
3. Download Juice SSH and add user root with password what ever you made.
4. Create a connection using IP 127.0.0.1 (this is the local loopback address) leave port blank, it will use 22 by default.
5. Connect with one click and enjoy using any keyboard with bonus juice addon keys for terminal use.
JuiceSSH also give you a nifty little extra keyboard ontop of the one you use with the tab function, making bash autofill work.
I use swiftkey keyboard and have been using JuiceSSH for years to access my CentOS 7 servers and its been a dream to work with.
The one packaged with Nethunter is just terrible, and most of the other one found on app store are terrible as well.
Click to expand...
Click to collapse
Hacker's Keyboard is there for use with USB keyboard app and editing configs and stuff in the NetHunter app.
As for terminal in NetHunter...
As you said, I recommend JuiceSSH as well. You can create a Local Terminal profile to get into Android console, then type:
Code:
su -c bootkali_login
You can also purchase JuiceSSH premium features and create a snippet that does all of that for you!
This way, you don't need to use SSH and waste battery!
ohap said:
awsome update coming i have fixed the core issue !!! with the power of superkernel "luca" source ,plus nethunter patches, and a make shift ramdisk !!!! i got it to boot and all cores online plus all the goodys of superkernel !!
Now Need to just include patch for hid keyboards now I do that latter
Click to expand...
Click to collapse
fixed hid
umKthxbye said:
The best way to use terminal in this since Hacker keyboard has so much **** on it you can't type properly.
1. Open Nethunter, Menu, Kali services, add check mark to SSH start at boot, and check it to turn on.
2. Go into Kali terminal(last time you'll need to use this crap) type; passwd "whateveryouwant", this will be used for your user in the next step.
3. Download Juice SSH and add user root with password what ever you made.
4. Create a connection using IP 127.0.0.1 (this is the local loopback address) leave port blank, it will use 22 by default.
5. Connect with one click and enjoy using any keyboard with bonus juice addon keys for terminal use.
JuiceSSH also give you a nifty little extra keyboard ontop of the one you use with the tab function, making bash autofill work.
I use swiftkey keyboard and have been using JuiceSSH for years to access my CentOS 7 servers and its been a dream to work with.
The one packaged with Nethunter is just terrible, and most of the other one found on app store are terrible as well.
Also, Ohap, you don't have to reboot after formatting the /data, just go back and clear the dalvik, cashe, etc, and other stuff like the guide I posted in your other thread.
Feel free to use the one I posted in the last thread.
Great work so far. The last kernel is still going strong, with no random reboot or other problem other the the 2 cores we all know about.
Click to expand...
Click to collapse
New kernel out built from superkernel check it out . Recommend the super ramdisk ver I posted
Yes I saw. I'm using it already. I like seeing the 8 cores back. Time will tell how stable it is. Good work guys.
is it work with superman rom?
please tell me how to flash
mdrobiulhasan said:
is it work with superman rom?
please tell me how to flash
Click to expand...
Click to collapse
How to flash is in first post . It should work with any rom with system root not systemless
Anyone having issues with call forwarding? Since I flashed King rom my call forwarding has been messed up, even going back to stock. Not sure if it's cuz of root, rom, or kernels.
Still running stable btw.
the title pretty well describes it. I've also disabled knox and have set SELinux to permissive.
symptom: plug in otg cable, put on thumb drive....nothing. search in file manager - nothing.
I've messed with, er, personalized the tablet and honestly can't recall all I've done, but USB OTG once worked and now doesn't. I've played with many of the 'troubleshooter' apps from the store [all useless, IMO, because all they say is yes or no].
Kernel support is there but no devices are recognized. The .xml file is present in system/etc/permissions or whatever the correct path is.
I've tried 2 different OTG cables and two different thumbdrives.
I've tried with selinux permissive and enforcing
I've rebooted both with and without the otg usb drive attached.
where can i look? are there any troubleshooting tools that give actual information?
i'm reasonably intelligent (PhD in physics) but not all that savvy with android (which, btw, i hate ) but i was once a unix sysadmin, so i fear no cli.
device is rooted, twrp installed if i recall correctly. completely unwilling to change kernels (unless there's a stock 7.1 or 8 )
thoughts? suggestions?
<rant>
[why do i hate android? why take a Ferrari and fix it so it will only go 50 mph? this is powerful hardware and software, but we're all treated like little children with no root control, hoops to jump through to change selinux, Samsung's god-awful knox, etc. etc. And android networking needs to get out of the 80s. DOS/Novell was better. i want to share drives from my tablet, and i want to mount drives from my PC so the contents are as available as the internal memory.]
</rant>
Using N4N 1.3 kernel with stock I6, TWRP, rooted using Magisk and OTG working flawless in my T810.
Read the changes: https://forum.xda-developers.com/tab-s2/development/kernels-n4n-i6-i5-710-715-810-815-t3700601
Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin
Amazon Fire 7 (2017) postmarketOS Armv7l Mediatek MT8127 Mali-450MP4 600x1024 display 1GB RAM Linux 3.10.54
What seems to work:
Boot Touch screen Battery percentage Usb internet OTG usb Wayland, Mate, Xfce4, Lxde, Sxmo, i3wm
Does NOT work:
Wifi & Bluetooth (no drivers) GPU acceleration (drivers do not work) Audio Sleep and fully turning off the display Screen rotation Wifi adapter does not work even with drivers and kernel support, mobo support issue(?) FDE Cameras You tell me
Special options: *Must be flashed to USERDATA partition as system partition is too small
msm-fb-refresher packaged is added to the depends to make the screen refresh. After flashing the device must be booted into recovery once. From the recovery it is to be powered off and booted and then as normal. This is because the device depends on the AMONET exploit which is applied by twrp after every flash.
Flashing Instructions
This assumes that you already have linux installed and the bootloader on the tablet is unlocked. Don't worry if it looks complicated. If you are unsure of something ask on the postmarketos matrix or leave a comment for help.
Install pmbootstrap as stated in the postmarketos wiki, does not matter which options or device you pick.
Once that is done download and drag the two folders in the git repo into "/home/YOURUSER/.local/var/pmbootstrap/cache_git/pmaports/device/testing/" also displayed as "~/.local/var/pmbootstrap/cache_git/pmaports/device/testing".
Run pmbootstrap init and select amazon as manufacture and austin as the device, mate, lxde, xfde, are confirmed working.
Run pmbootstrap install
Boot into twrp and wipe all partitions including data
Boot into the hacked bootloader from the twrp options
Run pmbootstrap pmbootstrap flasher flash_rootfs --partition userdata (system partion is too small to flash!) and once it is done flashing run pmbootstrap flasher flash_kernel
Unplug the device, wait 10 seconds and then hold the power button. Once it is powered on YOU MUST boot it into twrp at least once as it needs to restore the AMONET exploit, until you do that the device will not boot.
Issues
If something does not work such as the display rotated wrong or device not booting just comment or open an issue, I changed the rotation of the display in the kernel options to horizontal but i did not test the effects as I already have android with books on it.
Reinstall android/lineage
Simple as cake, just boot into twrp wipe all partions(some will fail), you may need to resize and fix until it starts working. You just need the system and data partitions to be reformated to ext4 even if they already are. Then just flash the lineageos zip file and reboot the device normally(amonet is fine)
GitHub - GjergjiFloychi/amazon-austin-pmaports: Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin
Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin - GitHub - GjergjiFloychi/amazon-austin-pmaports: Working ebuild for installing postmarketos on the Amazon ...
github.com
This looks promising, nice job. I will try installing it on my Austin during the next days.
Rortiz2 said:
This looks promising, nice job. I will try installing it on my Austin during the next days.
Click to expand...
Click to collapse
Good luck. Tell me if the display works if you do install it. Thanks
hexdump0815 cleaned up the config file, use his fork if you are going to install.
Is it wifi working? It'll awesome
Baonks81 said:
Is it wifi working? It'll awesome
Click to expand...
Click to collapse
Unfortunately the drivers for this SOC are nonexistent so nothing works. WIfi and hdmi adapters don't work, but OTG does. Hexdump made a Debian and Ubuntu image for this tablet, it is great but the tablet is mostly useless without WiFi and GPU support. You can also flash the main image to the userdata partition instead of using an SD Card, but if I remember correctly the rootfs won't auto extend. It would have been great to use this as a linux tablet, however this SOC is uncommon and is not supported by any Linux maintainer. https://github.com/hexdump0815/imagebuilder/releases/tag/211101-02
Fandroid Tech said:
Unfortunately the drivers for this SOC are nonexistent so nothing works. WIfi and hdmi adapters don't work, but OTG does. Hexdump made a Debian and Ubuntu image for this tablet, it is great but the tablet is mostly useless without WiFi and GPU support. You can also flash the main image to the userdata partition instead of using an SD Card, but if I remember correctly the rootfs won't auto extend. It would have been great to use this as a linux tablet, however this SOC is uncommon and is not supported by any Linux maintainer. https://github.com/hexdump0815/imagebuilder/releases/tag/211101-02
Click to expand...
Click to collapse
Thanks for new information. I'll searching around
I think we can find firmware it out on /dev/mmcblk---
Baonks81 said:
Thanks for new information. I'll searching around
I think we can find firmware it out on /dev/mmcblk---
Click to expand...
Click to collapse
I looked at the firmware dump on github, it is all proprietary and seems to be compatible only on android. The closest I got to getting working wifi was moving the original libs and networkmanager bin to linux however it only showed wifi working for a few seconds without detecting anything.
I'm working on this device right now. I just downloaded the repository below, and I will make a pull/merge request upstream soon.
Fandroid Tech said:
GitHub - GjergjiFloychi/amazon-austin-pmaports: Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin
Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin - GitHub - GjergjiFloychi/amazon-austin-pmaports: Working ebuild for installing postmarketos on the Amazon ...
github.com
Click to expand...
Click to collapse
I have my own fork of the pmaports repository at https://gitlab.com/Worldblender/pmaports, where I will push your files (eventually with my changes) to. Maybe we can work together on getting this tablet supported upstream, if you still want to (anything else that isn't working, like the Wi-Fi/Bluetooth, will have to come later).
UPDATE: Well, I'm going to use https://github.com/hexdump0815/pmaports-amazon for the config now, didn't notice it the first time around. I also noticethat it's possible to get Wi-Fi working with https://github.com/hexdump0815/imagebuilder-firmware/blob/main/tablet_amazon_austin-firmware.tar.gz, that I will try out with my builds soon.
From https://github.com/hexdump0815/imagebuilder/tree/main/systems/tablet_amazon_austin:
wifi seems to work by using the android firmware and tools in a minimal android bionic chroot env
wifi can be stated via /scripts/start-wifi.sh
uncomment the start of this script in /etc/rc.local in case wifi should be enabled by default
wifi support was added in february 2022, so all images from before do not have it yet but it can be added easily afterwards
Click to expand...
Click to collapse
Worldblender said:
I'm working on this device right now. I just downloaded the repository below, and I will make a pull/merge request upstream soon.
I have my own fork of the pmaports repository at https://gitlab.com/Worldblender/pmaports, where I will push your files (eventually with my changes) to. Maybe we can work together on getting this tablet supported upstream, if you still want to (anything else that isn't working, like the Wi-Fi/Bluetooth, will have to come later).
UPDATE: Well, I'm going to use https://github.com/hexdump0815/pmaports-amazon for the config now, didn't notice it the first time around. I also noticethat it's possible to get Wi-Fi working with https://github.com/hexdump0815/imagebuilder-firmware/blob/main/tablet_amazon_austin-firmware.tar.gz, that I will try out with my builds soon.
From https://github.com/hexdump0815/imagebuilder/tree/main/systems/tablet_amazon_austin:
Click to expand...
Click to collapse
You could package the wifi hack into an Alpine Linux for firmware package if you want. Debian 11 runs really well, to bad we can't get everything working.
Fandroid Tech said:
You could package the wifi hack into an Alpine Linux for firmware package if you want. Debian 11 runs really well, to bad we can't get everything working.
Click to expand...
Click to collapse
Will work on that soon. I just got a build to boot today, and basic functionality seems to be working. I'm going to try a different distro for accessing more functionality (likely Ubuntu 20.04 or 22.04) I just opened up a merge request at https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3251 for the progress on upstreaming.
I'm thinking about using the exact same kernel that the LineageOS image uses:
https://github.com/cm14-mt8127/device_amazon_mt8127-common
https://github.com/cm14-mt8127/kernel_amazon_mt8127-common
This kernel has been updated to 3.10.108, and it's the last one for the 3.10 branch. I'm going to try creating a new build using this kernel, and see how it goes.
Worldblender said:
I'm thinking about using the exact same kernel that the LineageOS image uses:
https://github.com/cm14-mt8127/device_amazon_mt8127-common
https://github.com/cm14-mt8127/kernel_amazon_mt8127-common
This kernel has been updated to 3.10.108, and it's the last one for the 3.10 branch. I'm going to try creating a new build using this kernel, and see how it goes.
UPDATE: Three patches would not apply successfully for this kernel:
fix-host-card-inserted.patch
silence-power-logspam.patch
silence-thermal-logspam.patch
After building without these patches, the kernel boots, but it stays stuck without being able to process further, with some kernel messages displayed. I wonder what I should do to get this kernel working, or if this one shouldn't be used.
Click to expand...
Click to collapse
Use any kernel you want. It literally does not matter as it cannot be mainliner in the future anyways. It makes no difference what you use.
Fandroid Tech said:
Use any kernel you want. It literally does not matter as it cannot be mainliner in the future anyways. It makes no difference what you use.
Click to expand...
Click to collapse
Here's my results after building and boot it:
There are some kernel messages that pop up, and the splash screen never appears. It doesn't matter whether there is a microSD card inserted or not; there seems to be too many changes made to it from 3.10.54 to 3.10.108, along with additional changes that are designed more for Android/LineageOS usage. Finding every one of them is too much work for me.
Three patches would not apply successfully for this kernel:
fix-host-card-inserted.patch (will apply successfully once the entry for line 271 is removed)
silence-power-logspam.patch
silence-thermal-logspam.patch
Again, after building without these patches, the kernel boots, but it stays stuck without being able to proceed further, with some kernel messages displayed. I tried building without any of the patches shipped, but the end result is still the same. I need some help as to what what I should do to get this kernel working, or else I will go back to the 3.10.54 kernel that I know is actually booting to the splash screen. Here, I don't care whether I use a mainline kernel here, since I know the SOC is not supported by mainline. I simply care that I can get a newer kernel version working (from 3.10.54 to 3.10.108), unless there's too many changes for me to go through.
Worldblender said:
Here's my results after building and boot it:
There are some kernel messages that pop up, and the splash screen never appears. It doesn't matter whether there is a microSD card inserted or not; there seems to be too many changes made to it from 3.10.54 to 3.10.108, along with additional changes that are designed more for Android/LineageOS usage. Finding every one of them is too much work for me.
Three patches would not apply successfully for this kernel:
fix-host-card-inserted.patch (will apply successfully once the entry for line 271 is removed)
silence-power-logspam.patch
silence-thermal-logspam.patch
Again, after building without these patches, the kernel boots, but it stays stuck without being able to proceed further, with some kernel messages displayed. I tried building without any of the patches shipped, but the end result is still the same. I need some help as to what what I should do to get this kernel working, or else I will go back to the 3.10.54 kernel that I know is actually booting to the splash screen. Here, I don't care whether I use a mainline kernel here, since I know the SOC is not supported by mainline. I simply care that I can get a newer kernel version working (from 3.10.54 to 3.10.108), unless there's too many changes for me to go through.
Click to expand...
Click to collapse
Just use the stock 3.10.54 kernel. Both versions have long since been EOL. It does not matter what is used as functionality will still the same, both now and any future development. I would not bother upgrading the kernel to 3.10.108. Hexdump told me a while back that somebody else maintaining a similar soc on the mainline branch told him that mainlining the device is almost impossible due to some proprietary components by Amazon. I am not entirely sure as to the validity of this claim but I think that it is not worth the effort of upgrading the kernel of this device. Check this page for more info, I found it to be very helpful to my port. https://wiki.postmarketos.org/wiki/Amazon_Fire_7_2015_(amazon-ford)
[waits eagerly nonetheless]
This is a solid old device in a lot of ways. I'd love to see it supported by PMOS.