[Work In Progress] Install Ubuntu 16.04.3 Nexus 9 - Nexus 9 General

DON'T FORGET TO HIT THE THANKS BUTTON
!!!DISCLAIMER!!!!
You are solely responsible for whatever shtuff happens to your device by installing either of the two files to your device.
!!!DISCLAIMER END!!!
So this still needs a lot of work but I am providing a working boot.img and root filesystem archive for all Nexus 9 variants? (not sure needs others to test and confirm).
Will be edited as things start working
What's working:
WiFi. (Must use 'nmcli dev wifi con "SSID" password "passwd" ')
GPU @ anywhere from 900-2000 FPS
Sound works just needs reconfiguring
Screen rotation works best with minimal issues as desktop taskbar widgets command to turn clockwise into landscape:
Code:
sudo xrandr -o right; sudo xinput set-prop 7 "Evdev Axis Inversion" 0, 1; sudo xinput set-prop 7 "Evdev Axes Swap" 1
&
Code:
sudo xrandr -o right; sudo xinput set-prop 7 "Evdev Axis Inversion" 0, 0; sudo xinput set-prop 7 "Evdev Axes Swap" 0
For normal portrait orientation
However DO NOT USE THE DISPLAY SETTINGS TO ROTATE IT MESSES UP THE LOGIN ROTATION AND SCREEN GOES BLACK AND SOMETIMES SHOW BACK UP IN LANDSCAPE AND WILL NOT DEFAULT BACK INTO PORTRAIT ORIENTATION. SO YOU MUST DO IT MANUALLY!!!!! See screenshot below
Swipe gestures (Chromium-browser only).
Bluetooth: WORKING!!! Install package bluetooth-touch and set this command into a shell script or enter manually the ENTIRE string:
Code:
brcm_patchram_plus --enable_hci --use_baudrate_for_download --scopcm=0,2,0,0,0,0,0,0,0,0 --baudrate 3000000 --patchram /lib/firmware/bcm4354.hcd --no2bytes --enable_lpm --tosleep=50000 /dev/ttyTHS2
Also using a Bluetooth audio sink works by itself without keyboard connected. I've found it still needs work but, connecting to a keyboard still flawless in its function file transfer locks it up when sending not receiving. Pairing and connecting are all good but functionality of Bluetooth is down to one device at a time for best results
What's not working:
Cameras (Neither front nor rear camera works at all. Needs work).
NFC? (I have no idea how to check for this. Needs work).
Probably other things I missed.
What you will need:
Any Nexus 9 with an unlocked bootloader & latest TWRP recovery installed
USB keyboard
OTG cable
Instructions:
MAKE A BACKUP! Just in case.
1.) Enter into recovery go to wipe and format Data partition as Ext4
2.) Reboot into recovery and with the boot.img and rootfs on a flash drive or, push them to device via ADB.
3.) Go to terminal command in recovery issue the commands: cd /data; mkdir linux; cd linux
4.) tar xvjf /sdcard/rootfs.tar.bz2 -C /data/linux
5.) Flash N9boot.img with install image in TWRP Install submenu.
6.) Reboot into the new Linux system.
7.) If the Kernel panics and boot loops, go back into recovery and format the data partition again it will ask are you sure type yes & repeat steps 2-4
You will need to use a USB keyboard & OTG cable to install the necessary packages and connect to WiFi/Bluetooth.
It's much easier to install on device than in a chroot environment as I have had problems in the past. And some people have different favorite Desktop Environment's. However Gnome and KDE both do not work correctly and crash.
Fluxbox, Mate, XFCE, LXDE, all work as they should with Lightdm.
If there's anything I missed you can add it below, PM me and ask, whatever and I'll try to answer as soon as I am able.
If you are interested in building the entire thing from start to finish here are the original sources
https://forum.xda-developers.com/nexus-9/general/guide-linux-nexus-9-t2985958
https://forum.xda-developers.com/nexus-9/general/guide-linux-nexus-9-t2985958/page14
And thanks to @sonicadvance1 for his original guide & @Vartom for his work on porting some of the necessary Kernel drivers. And @Vartom again for his contributions to the Bluetooth and everything else to get us this far :good::good::good::good::good::good::good::good:
Xubuntu-Desktop Preinstalled 21.5 Drivers 1GB username=ubuntu password=ubuntu
https://drive.google.com/open?id=0B8NgGANYGMhOZS1OenNzZl94bEE
rootfs base only necessary packages root password=toor
https://drive.google.com/file/d/0B8NgGANYGMhOMjVObElVVnBWamM/view?usp=drivesdk
boot.img
https://drive.google.com/open?id=0B8NgGANYGMhOZXAwZHVrUUotZ0k
In order to get the preinstalled to fix login if having issues use the command as root in virtual terminal Ctrl+Alt+F1/F2, etc
Code:
chown ubuntu:ubuntu /home/ubuntu
.
This should fix the login issues, if you want you can create a different user and remove the premade user using these commands as root in virtual terminal.
Code:
deluser username
adduser username
addgroup username adm
addgroup username sudo
Additionally if you have an error when running glxgears there is a fix
Code:
xauth list
It should output something similar to this
Code:
localhost.localdomain/unix:0 MIT-MAGIC-COOKIE-1 a4f6256398303725763c5595f404afbb
You will need to export the display and add that MIT-MAGIC-COOKIE you got from xauth list
Code:
export DISPLAY=":0"; xauth add $DISPLAY . a4f6256398303725763c5595f404afbb
This should fix the display error.
And finally,
Enjoy Ubuntu on your Nexus 9

Video of it booting
https://youtu.be/PIGm47pwzj0

Booted fine.... However a username and password would help...lol
---------- Post added at 10:30 PM ---------- Previous post was at 09:45 PM ----------
andyroidking said:
Booted fine.... However a username and password would help...lol
Click to expand...
Click to collapse
Found the root password in the other thread. toor
Now on to getting wifi up so i can get a de installed....

Reserved

andyroidking said:
Booted fine.... However a username and password would help...lol
---------- Post added at 10:30 PM ---------- Previous post was at 09:45 PM ----------
Found the root password in the other thread. toor
Now on to getting wifi up so i can get a de installed....
Click to expand...
Click to collapse
sk1tch said:
Ha! Sorry I updated the guide above to include that little tidbit of info. Sweet I'm excited to read it worked so far. Hope the guide is simple enough for everybody who wants to try it out
Click to expand...
Click to collapse
Yeah now that I got wifi working I'm off to study how to get xfce4 installed. Everyone says Arch is hard but I'll tell you their repo's are extensive. Now I have to learn about ppa's...
Also, I'm over 50 and because we have a 2048 x 1536 display everything is very tiny making all of this more of a challenge... I tried a couple things to bump the font size but they don't work....

andyroidking said:
Yeah now that I got wifi working I'm off to study how to get xfce4 installed. Everyone says Arch is hard but I'll tell you their repo's are extensive. Now I have to learn about ppa's...
Also, I'm over 50 and because we have a 2048 x 1536 display everything is very tiny making all of this more of a challenge... I tried a couple things to bump the font size but they don't work....
Click to expand...
Click to collapse
I knew you were old school. I did get Arch Linux running on the original guide but it was choppy at best and only ran in the framebuffer but this was the aarch64 version. I do think it could be done because it's my preferred distro these days as well. I think we'd have to change a few things in the CPIO init scripts.. You know point to what it needs but, that's a little too advanced for me.
Also try setting a custom dpi in the settings menu if you're using XFCE I know there's the option there
and to install it you need to uncomment all the extra repos in /etc/apt/sources.list then do apt update && apt install xubuntu-desktop
it should look like in the picture

Well, I'm stuck. X won't start... I'll have to pull the log and see what up. Unfortunately I'm back to work tonight so it will be a while before I get to play again. Don't fret, I'll be back. :silly:
Edit: Pulled logs:
As root user:
https://pastebin.com/3bJE7HkJ
As reg user:
https://pastebin.com/ZVBrCAuM
They look the same to me...

andyroidking said:
Well, I'm stuck. X won't start... I'll have to pull the log and see what up. Unfortunately I'm back to work tonight so it will be a while before I get to play again. Don't fret, I'll be back. :silly:
Edit: Pulled logs:
As root user:
https://pastebin.com/3bJE7HkJ
As reg user:
https://pastebin.com/ZVBrCAuM
They look the same to me...
Click to expand...
Click to collapse
They look identical to me as well. Um try apt install xorg xubuntu-desktop lightdm-gtk-greeter.
then reboot it should automatically enable it with systemd while installing

Error 404
The links to the downloads are no longer working.

sk1tch said:
They look identical to me as well. Um try apt install xorg xubuntu-desktop lightdm-gtk-greeter.
then reboot it should automatically enable it with systemd while installing
Click to expand...
Click to collapse
I'll give that a shot. Sounds like solid advice. Probably not until Thursday or Saturday. Busy week kids back to school
a such...

humannequin777 said:
The links to the downloads are no longer working.
Click to expand...
Click to collapse
I fixed the links but the rootfs.tar.bz2 is down as I am uploading a preinstalled image archive with the XFCE4 DE w/ onscreen keyboard, still ironing out Bluetooth made good progress so hopefully I will have that finished soon

Cameras are not included in the kernel. I did not check their performance in this kernel.

Linux Inside... Nice. Well I found a few minutes and got this far.... https://imgur.com/a/VuDEN Xauthority issue? I'll check into it later. I assume suspend doesn't work? I tried once but didn't want to crash it right now. also changed scroll bar width... easier to tap. Border width is next.
Scroll bar width:
Open the .gtkrc-2.0 file, add the following to a new line starting at the bottom of the file:
Code:
style "myscrollbar"
{
GtkScrollbar::slider-width=XX
}
class "GtkScrollbar" style "myscrollbar"

How's the performance ?
Can I use it as a desktop?

Yes indeed it does work as a desktop I got screen rotation down to two three command scripts with desktop widgets. Most things work as of now Bluetooth sucks no matter what I do but, touchscreen works fine WiFi works fine no Cameras yet Sound only through headset. Hardware acceleration works at anywhere from 800 FPS - 2000 FPS. Videos like on YouTube stutter a little if you are doing other things while watching. Swipe gestures work in Chromium browser only. (Still working on installing multifunction swipe gestures) Your best bet would be to buy one of those $11 Micro-B USB wired tablet keyboards or just use the Onboard keyboard if its already in a rugged case or whatever. Those two green arrows at the top of the desktop are my rotate widgets

andyroidking said:
Linux Inside... Nice. Well I found a few minutes and got this far.... https://imgur.com/a/VuDEN Xauthority issue? I'll check into it later. I assume suspend doesn't work? I tried once but didn't want to crash it right now. also changed scroll bar width... easier to tap. Border width is next.
Scroll bar width:
Open the .gtkrc-2.0 file, add the following to a new line starting at the bottom of the file:
Click to expand...
Click to collapse
Yes there is an .Xauthority error when I flashed it as well that was why I said it's difficult to make a working install and that it was easier to install on device but either try chown ubuntu:ubuntu /home/ubuntu as root and it may fix your issue or you have to create a new user

Vartom said:
Cameras are not included in the kernel. I did not check their performance in this kernel.
Click to expand...
Click to collapse
I added the configs for the camera to my custom config to no avail... I dont have a headset jack debug cable so I can't see what going on during boot

sk1tch said:
I added the configs for the camera to my custom config to no avail... I dont have a headset jack debug cable so I can't see what going on during boot
Click to expand...
Click to collapse
Porting the cameras was not 100% complete. Therefore, simply adding lines to the config is not enough.
---------- Post added at 02:14 PM ---------- Previous post was at 02:08 PM ----------
Porting the cameras was not 100% complete. Therefore, simply adding lines to the config is not enough.
For bluetooth work, you need to download the corresponding firmware.
with some similar string
exec /usr/sbin/brcm_patchram_plus --enable_hci --use_baudrate_for_download --scopcm=0,2,0,0,0,0,0,0,0,0 --baudrate 3000000 --patchram /lib/firmware/bcm4324.hcd --no2bytes --enable_lpm --tosleep=50000 /dev/ttyTHS2
this can be added to the nvwifibt.conf config file.

Vartom said:
Porting the cameras was not 100% complete. Therefore, simply adding lines to the config is not enough.
---------- Post added at 02:14 PM ---------- Previous post was at 02:08 PM ----------
Porting the cameras was not 100% complete. Therefore, simply adding lines to the config is not enough.
For bluetooth work, you need to download the corresponding firmware.
with some similar string
exec /usr/sbin/brcm_patchram_plus --enable_hci --use_baudrate_for_download --scopcm=0,2,0,0,0,0,0,0,0,0 --baudrate 3000000 --patchram /lib/firmware/bcm4324.hcd --no2bytes --enable_lpm --tosleep=50000 /dev/ttyTHS2
this can be added to the nvwifibt.conf config file.
Click to expand...
Click to collapse
So just add this too the sbin config file??

sk1tch said:
So just add this too the sbin config file??
Click to expand...
Click to collapse
brcm_patchram_plus this package was not found. Add it to the fast failed.

Related

CM7 Lockscreen Mods

Alright. Now that Cyanogenmod has fixed the android.git.kernel.org sync errors, I have continued my CM7 Development (lockscreen stuff for now).
There are currently four new features:
1) Changeable pattern lockscreen size (3x3 - 5x5).
2) Visible dot toggle, for pattern unlock screen.
3) Custom lockscreen message (on normal and keyguard ones).
4) Carrier name change. NOT MINE anymore. Thanks Frederic Van Assche
After I get these problems fixed and setting for all of the features, I will release the mods here, and hopefully into official CM7.
Now for some pictures. See attached (untill i upload). Note: all images are at 180 lcd density (sortof needed for 5x5)
---------- Post added at 01:28 PM ---------- Previous post was at 01:10 PM ----------
Development Section
Im currently really busy with school, so most of the work will be done on the weekends.
Current development status, and todo list.
1) The lockscreen size mod works fine. Few small code cleanup things and stuff needed.
2) The visible dot toggle has a setting and works perfect. The checkbox sometimes doesn't display right so you may have to click it twice to turn it on/off (not sure whats wrong, low priority).
3) Custom lockscreen message works great. Sometimes you have to enable+disable it for it to update (work on auto do/fix). And I haven't added it to the PIN lock and stuff (have to check). In the end I would like the enable/disable and message to be on a different settings screen (like on Honeycomb).
4) And the carrier name thing is now obsolete. Thanks to the patch by Frederic Van Assche, shown to me by one_love_420.
Ohh. And if any of you have any suggestions on things to add or change, i'm happy to listen and try.
Beta Testing.
Current Bugs
Code:
1. Choose pattern size, press back, doesn't revert size (ex: unlock problem from 5x5->3x3)
2. Change lock pattern size. Can't unlock from the actual lockscreen, in settings its fine. (IMPORTANT!)
Fixed by rebooting. Changing to same size is fine
Notes
These builds are buggy. Use at your own risk.
If you cannot unlock your phone, you can fail 5 times and then log in with your google account.
Downloads
http://androtransfer.com/development/smasher816/cm7 beta/
For a better way to do the custom carrier text and to have it in the settings as an option check this over at the gerrit. I have used since he posted it for review and it works great.
http://review.cyanogenmod.com/#change,7314
And
http://review.cyanogenmod.com/#change,7313
Sent from my PG06100 using Tapatalk
Thanks man.
I'm assuming I would run the patch command (git fetch http://review.cyanogenmod.com/p/CyanogenMod/android_frameworks_base refs/changes/14/7314/2 && git format-patch -1 --stdout FETCH_HEAD)
Edit: that seemed to do nothing but output the changes.
I did the checkout one ("git fetch http://review.cyanogenmod.com/p/CyanogenMod/android_frameworks_base refs/changes/14/7314/2 && git checkout FETCH_HEAD") and now it says
Code:
~/android/system/packages/apps/CMParts$ git fetch http://review.cyanogenmod.com/p/CyanogenMod/android_packages_apps_CMParts refs/changes/13/7313/3 && git checkout FETCH_HEAD
From http://review.cyanogenmod.com/p/CyanogenMod/android_packages_apps_CMParts
* branch refs/changes/13/7313/3 -> FETCH_HEAD
Note: checking out 'FETCH_HEAD'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
HEAD is now at 5ed9b01... Custom carrier label (2/2)
Sorry, i'm still pretty new at git. What do I do now?
I'm new to the git and I do it probably the more difficult way but it gets the job done. What I do is download each change one by one, use "meld" to compare my java/xml files and add the new edits in. Like I said the more difficult way to do it.
Sent from my PG06100 using Tapatalk
Smasher816 said:
Alright. Now that Cyanogenmod has fixed the android.git.kernel.org sync errors, I have continued my CM7 Development (lockscreen stuff for now).
There are currently four new features:
1) Changeable pattern lockscreen size (3x3 - 5x5).
2) Visible dot toggle, for pattern unlock screen.
3) Custom lockscreen message (on normal and keyguard ones).
4) Carrier name change. No setting yet.
After I get these problems fixed and setting for all of the features, I will release the mods here, and hopefully into official CM7.
Now for some pictures. See attached (untill i upload). Note: all images are at 180 lcd density (sortof needed for 5x5)
---------- Post added at 01:28 PM ---------- Previous post was at 01:10 PM ----------
Developer Help Needed Section.
1) For the carrier name replacement I edited
Code:
String plmn = "<WHATEVER>"; //ss.getOperatorAlphaLong();
(line 587) in GsmServiceStateTracker.java. I would like to find a way to add this as a setting to CMParts but haven't looked around enough to figure out how yet. If any of you could hint me in the right way or something that would make my life easier.
2) SOLVED
Click to expand...
Click to collapse
how do we change our pattern size???
maxib123 said:
how do we change our pattern size???
Click to expand...
Click to collapse
If you read, he's developing it. Hence, you can't get it as of this moment.
sixstringsg said:
If you read, he's developing it. Hence, you can't get it as of this moment.
Click to expand...
Click to collapse
sorry, it wasnt that clear first time i read it
If you want a tester btw, you know where to find me
Thanks dude. I was out of town this weekend but started work on getting the pattern size setting more formal and correct.
However my Ubuntu vm decided to not boot.
Edit: fixed it with commands in slax, then in some terminal on ubuntu reboot.
However everything seems to be only. And I can't change the folders permissions due to read only filesystem. Any ideas?
e2fsck /dev/sda2 from root recovery seems to say it was fixed. but continues to not boot, and allowing me to run that command again and again.
If this doesn't get fixed soon. I think I'm gone to attempt to get my edited files from the read only (but bootable) snapshot, and add them back into the last working snapshot.
Smasher816 said:
Thanks dude. I was out of town this weekend but started work on getting the pattern size setting more formal and correct.
However my Ubuntu vm decided to not boot.
Edit: fixed it with commands in slax, then in some terminal on ubuntu reboot.
However everything seems to be only. And I can't change the folders permissions due to read only filesystem. Any ideas?
e2fsck /dev/sda2 from root recovery seems to say it was fixed. but continues to not boot, and allowing me to run that command again and again.
If this doesn't get fixed soon. I think I'm gone to attempt to get my edited files from the read only (but bootable) snapshot, and add them back into the last working snapshot.
Click to expand...
Click to collapse
have you tried chmod 777? if im on the right page, that should work. if not i have no idea mate, sorry
Smasher816 said:
Thanks dude. I was out of town this weekend but started work on getting the pattern size setting more formal and correct.
However my Ubuntu vm decided to not boot.
Edit: fixed it with commands in slax, then in some terminal on ubuntu reboot.
However everything seems to be only. And I can't change the folders permissions due to read only filesystem. Any ideas?
e2fsck /dev/sda2 from root recovery seems to say it was fixed. but continues to not boot, and allowing me to run that command again and again.
If this doesn't get fixed soon. I think I'm gone to attempt to get my edited files from the read only (but bootable) snapshot, and add them back into the last working snapshot.
Click to expand...
Click to collapse
e2fsck -A /dev/sda2
Try that
I ended up getting my read only changes and putting them on my actual computer,
then re doing my VM and melding my changes back in.
I got a backup, and a build made.
However settings crashes (doesn't look like my edits). I will attempt to fix it. Worst comes to worse go back to the good build and merge piece by piece.
Edit: The last two weeks and weekends have been super busy, barely able to turn on my PC. Anyways I got a 4 day weekend coming up, I should hopefully have everything worked out then.
any progress yet?
maxib123 said:
any progress yet?
Click to expand...
Click to collapse
He's got most of the work done, he just needs to get it all merged and get it all up on github. He got distracted by a fun new build system for our kernel.
Edit: Disregard the old information. I now have some freetime over this weekend, the last two weeks have been crazy busy. I am slowly putting my tweaks into the latest nightly and making sure everything is working (vm redo). Anyways the newest build works! - You go to settings -> location and security -> Change Screen Lock -> Confirm saved pattern -> Choose unlock type (pattern) -> Choose pattern size (3-5) -> Draw new pattern (x2).
Where in the settings should the custom lockscreen message be? CMParts -> Lockscreen -> Widget Options -> Custom Message, or Security -> Owner Info (like honeycomb), or somewhere else?
i prefer
CMParts -> Lockscreen -> Widget Options -> Custom Message
Click to expand...
Click to collapse
what i like best about this project is
a) i`ve always wanted a 5*5 unlock pattern
b) you`re working this into the Cyanogenmod Project
Thanks.
Heres a little development update. Im working on getting the 5x5 lockscreen perfect before adding back in the lockscreen message and stuff. The actual 5x5 works fine, all my problems come from the dynamically changing size. Im trying to fix these two important bugs I have found. Hopefully I can get it solved, if not I might upload my work and see if you guys can help me out
Code:
#BUGS#
1. Choose pattern size, press back, doesn't revert size (ex: unlock problem from 5x5->3x3)
2. Change lock pattern size. Can't unlock from the actual lockscreen, in settings its fine. (IMPORTANT!)
Fixed by rebooting. Changing to same size is fine
If your willing to put up with these bugs check the OP.
Is there anyway to add this on to a current build of cyanogen nightly rather than flashing an older one?
Sent from my Nexus One using XDA App
Ummmmm. I edited frameworks/base and packages/apps/Settings
So So replace the Settings.apk and framework folder or something.
This is something,I don't mind testing out. hopefully it'll work on cm7.1
From my fist to your face, enjoy.

re: [DEV] Ubuntu on Nexus S (natively)

re: [DEV] Ubuntu on Nexus S (natively)
I'm new so I can't answer to the thread : [DEV] Ubuntu on Nexus S (natively) in the dev section.
I have a root image (based on the HD2 image) and a netarchy kernel (2.6.35) which contain :
- working wifi module : scanning does not work with iwlist but with wpa_cli, it does (cause of driver and combo scan feature).
- working touchscreen : patched mxt224 kernel module to have ABS_X, ABX_Y and BTN_ events + evdev 2.6
I have converted the ext2 image to an ext4 one. I will try to make proper patches and readme if they are people interrested in.
In 2.6.39, there is a bcm driver in staging. Maybe with 3.0 kernel (waiting ICS kernel sources), we can have a working wifi module with wireless-tools such as wicd or iwlist.
This is awesome... I've been waiting for this just to mess with it
Sent from my Nexus S 4G using Tapatalk
Wow this would be awesome. Any chance you could work on something for the NS4G?
Sent from my Nexus S 4G using xda premium
It seems they have the same configuration (instead of wimax support). This may work.
For now, I can't post on the right thread on DEV section and I can't post the link
You can grab files on : http://www.okazoo.eu/~yan/ubuntu_on_nexuss
The root image file is still uploading ... be patient !
Find a way to enable iwlist and wicd scanning using combo-scan bcm4329 feature.
I have written a wrapper, to use it you need to :
- mv /sbin/iwlist /sbin/iwlist.old
- cp the wrapper script to /sbin/iwlist ...
This is a crappy way as this way is not robust to wireless-tools update !
I can connect to my home wireless router with wicd !
Root image file is uploaded !
I found an interesting stuff to control the modem (2G and maybe 3G) :
http://trac.osuosl.org/trac/replicant/wiki/libsamsung-ipc
I will check if I need to write a RIL library to make a simple interface to write/read SMS and make calls.
The next step is to find GUI apps to do those things !
For some reason, i get a kernel panic while booting. The rootfs at http://forum.xda-developers.com/showthread.php?p=10486278 works fine, but still, no touchscreen or anything
Can you give me some details :
- hardware (Nexus S or Nexus S4G and what version S-LCD or Amoled) ?
- last messages (reason of kernel panic) ?
Did you use my boot image file ?
looks cool, but how to use it without a mouse.
It's the i9020A, the non-Sprint 4G one. I placed your rootfs image into the /sdcard/ubuntu/ folder, and used fastboot to boot the boot.img that you provided in initramfs.tgz. The errors themselves, i'll copy the file back and run it again to pinpoint it.
Doing the same thing with the .ex2 that the other thread uses lets me boot to the GUI, but still, no interaction
radianter said:
looks cool, but how to use it without a mouse.
Click to expand...
Click to collapse
I don't understand the question. Is your touchscreen working ?
breakingspell said:
It's the i9020A, the non-Sprint 4G one. I placed your rootfs image into the /sdcard/ubuntu/ folder, and used fastboot to boot the boot.img that you provided in initramfs.tgz. The errors themselves, i'll copy the file back and run it again to pinpoint it.
Doing the same thing with the .ex2 that the other thread uses lets me boot to the GUI, but still, no interaction
Click to expand...
Click to collapse
I am waiting the output. For now, I am working on a i9023 version. I have uploaded new initramfs archive which contain a more generic boot image file. Can you test it ?
can you tell me how to install this? I am waiting for so long for an working Ubuntu or XP on our beloved nexus s
winsys said:
I am waiting the output. For now, I am working on a i9023 version. I have uploaded new initramfs archive which contain a more generic boot image file. Can you test it ?
Click to expand...
Click to collapse
Sure thing, i'll test it for you. Let me download it real quick.
---------- Post added at 02:07 AM ---------- Previous post was at 01:38 AM ----------
It boots and the touchscreen works. Yay. For some reason, there's no option to configure the Wifi. I'm going to snoop and tweak, see if i can't find it.
---------- Post added at 02:32 AM ---------- Previous post was at 02:07 AM ----------
The app launcher loaded on my second reboot, and after switching to "Wifi mode" It still does not detect any wifi networks. Setting up the At&t APN in the 3G settings doesn't work either.
Normal, it's normal, the module bcm4329 provided in the root image file was build for i9023 kernel.
You can download this file : https://www.okazoo.eu/~yan/ubuntu_on_nexuss/bcm4329.ko
After download, issue : adb push bcm4329.ko /lib/modules/2.6.35.13+/kernel/drivers/net/wireless/bcm4329/bcm4329.ko
Wifi should work after that !
---> download new image files !
Still no luck, after a couple reboots. I'm still faced with "No wireless networks found" in the Wicd network manager. I compared the MD5 sums of the file on the device with the file you linked me, and they match, so i know i pushed it successfully.
The Network Tools lists a Loopback device and several unknown devices occupying different ports, (rmnet0, usb0, sit0), with the Loopback device (lo) selected. Are those imperative?
Hum, at your point, do you see eth0 in the iwconfig listing ?
Do you have copy the iwlist wrapper I made ? iwlist-wrapper must be pushed as iwlist. What is the iwlist scan output ?
iwlist
Failed to connect to wpa_supplicant - wpa_ctrl_open: No such file or directory
I'll mess with it, see if i can't get it working
---------- Post added at 02:53 AM ---------- Previous post was at 02:34 AM ----------
Running iwconfig returns
# iwconfig
iwconfig
lo no wireless extensions.
rmnet0 no wireless extensions.
ifb0 no wireless extensions.
ifb1 no wireless extensions.
usb0 no wireless extensions.
sit0 no wireless extensions.
ip6tnl0 no wireless extensions.
No mention of eth0.

[unofficial][linux3.4][native][tarchive][multirom]ArchLinuxARM release for N7 2013

This is not an Android project so I don't feel that posting it in the Android Development forum would be appropriate.
ArchLinuxARM for the flo (2013 Nexus 7) - Native Boot with MultiROM
This is only tested on the Wi-Fi version. With a kernel swap, it should work on the deb (LTE) tablet, though mobile data is highly unlikely to work.
Big thanks to crondog at github for the initial porting work. https://github.com/crondog/arch-flo
Working:
3D Acceleration (OpenGL ES 3.0, Mesa) - can be unstable, however.
Wi-Fi (with NetworkManager)
Bluetooth
Audio
Installation
MultiROM must already be installed, and you must already have a hardboot-capable kernel installed as well.
You will need a Terminal Emulator or ADB Shell to install.
This assumes that arch_flo_20141210_multirom.tar.gz is in the root of your internal storage (/data/media/0).
Code:
su
tar -C /data/media/0/multirom/roms -xpzvf /data/media/0/arch_flo_20141210_multirom.tar.gz
Logging in
The username is "arch" and the password is "archlinux". Change the password ASAP.
For root, the username is "root" and the password is also "root". CHANGE THE PASSWORD ASAP!
You'll probably want to enable the On-Screen Keyboard (onboard) and set your Session to "MATE" up in the top right corner.
Downloads
MultiROM hierarchy tarchive: https://drive.google.com/file/d/0B4WUjKii92l2X1F1LVhsaG5DbUE/view?usp=sharing
Kernel Source: https://github.com/willcast/kernel_flo
Also available for:
Samsung Galaxy S III LTE: http://forum.xda-developers.com/gal...unofficial-port-archlinuxarm-release-t2969290
HP TouchPad: http://forum.xda-developers.com/hp-touchpad/other/unofficial-archlinuxarm-release-hp-t2969310
Nexus 10: http://forum.xda-developers.com/nexus-10/general/unofficial-archlinuxarm-release-nexus-10-t2969450
HTC HD2: http://forum.xda-developers.com/hd2-ubuntu/development/unofficial-archlinuxarm-htc-hd2-t2970483
looks interesting will give it a crack and see how it goes
thanks for the work. it boots impressingly fast.
castrwilliam said:
You'll probably want to enable the On-Screen Keyboard (onboard) and set your Session to "MATE" up in the top right corner.
Click to expand...
Click to collapse
if I activate the onboard keyboard ist shows at the bottom of the login screen. login works without password. when beeing logged in the keyboard is gone. I can see the keyboard symbol on the left besinde the speaker symbol but tapping on it doesn't trigger anything. also changing any options in the control center -> onboard settings have no effects. logging in without keyboard activated and then control center -> onboard settings has no effects either.
I cannot "adb shell" due to lack of permissions
Code:
# adb devices
List of devices attached
???????????? no permissions
and I'm not owning a bluetooth keyboard. so right now I can only play minesweeper - oh wait, it's not installed...
is there any way to rotate the screen as its really annoying having it in portrait all the time
Toby0897 said:
is there any way to rotate the screen as its really annoying having it in portrait all the time
Click to expand...
Click to collapse
Yeah it is in the monitor options but it's worthless since Xorg crashes when changing the rotation
Great stuff!
I would remove the KDE plasma etc packages as that desktop seemed to unusable. (Due to broken hw acceleration?).
what's next?
Hi, I'm having a big trouble...
While I'm trying to do the installation (by adb shell or terminal emulator, both of them) and I enter the command posted in the OP it says:
127|[email protected]:/ # tar -C /data/media/0/multirom/roms -xpzvf /data/media/0/arch_flo_20141210_multirom.tar.gz
tmp-mksh: tar: not found
What can I do to resolve this error? I really would like to install it on my Nexus 7
Thanks in advance!
hugomc92 said:
Hi, I'm having a big trouble...
While I'm trying to do the installation (by adb shell or terminal emulator, both of them) and I enter the command posted in the OP it says:
127|[email protected]:/ # tar -C /data/media/0/multirom/roms -xpzvf /data/media/0/arch_flo_20141210_multirom.tar.gz
tmp-mksh: tar: not found
What can I do to resolve this error? I really would like to install it on my Nexus 7
Thanks in advance!
Click to expand...
Click to collapse
You will need to install busybox for tar to work
daringblaze said:
You will need to install busybox for tar to work
Click to expand...
Click to collapse
Thank you very much!! That make tar to work!!
Gonna try archLinux ASAP!!
Thanks!
updates
Hi, great stuff!
After installing it, I tried to update arch (
Code:
sudo pacman -Syu
) but this resulted in a blank screen upon boot. I assume that this is due to updated packages overwriting parts of the OS that were installed manually, but I don't know what or where. Would you have any ideas of what packages would be responsible for this, so that I know not to upgrade them?
Thanks!
computer-whisperer said:
this resulted in a blank screen upon boot. I assume that this is due to updated packages overwriting parts of the OS that were installed manually, but I don't know what or where. Would you have any ideas of what packages would be responsible for this, so that I know not to upgrade them?
Thanks!
Click to expand...
Click to collapse
Make sure you ignore xorg and mesa stuff. Add
Code:
IgnorePkg = glu mesa mesa-dri mesa-libgl xorg-server-common xorg-server-devel xorg-fonts-misc xproto libdrm
IgnoreGroup = xorg
to /etc/pacman.conf.
The list probably contains some extra entries, but works for me
It took xda 2 years, but they finally did it.
In all seriousness, props to you. I've been waiting for this for along time.
castrwilliam said:
Downloads
MultiROM hierarchy tarchive: https://drive.google.com/......
Click to expand...
Click to collapse
Hi castrwilliam, would you mind sharing what step you went through to create arch_flo_20141210_multirom.tar.gz ?
Great work guys! I was looking for this for a really long time and i am writing this on my n7 with linux but i have a few questions:
1. is it possible to overclock(and how) because my n7 runs on 1.89ghz and 477mhz gpu in android with elementalx kernel and it would be nice to have some more power
2. can the screen be rotated so the hardware buttons are on top (i saw a post saying it chrashes but i cant even find the setting xD) because it would be alot easier to use the OTG cable
And thank you guys for making this happen, i love linux on the note 10.1 and im so glad to have this run it too(would be maaad if it can be overclocked )
Thank you for this wonderful package!
I recently updated all packages ) and iam trying to fix the issue without reinstall (challenge accepted)
It seems that the xorg-server 1.17 is the problem. I compiled. Freedreno and the freedreno mesa 10.3 and libdrn packages without success. The xserver is segfaulting when it loads libexa.so.
Now i try to downgrade to 1.16 . ive read that the xf86-video-freedreno-git package is not working with flo. Is that correct? Did youbuild this packages with modificationa?
I believe this is why i love arch. Its like lego for nerds or something
castrwilliam said:
This is not an Android project so I don't feel that posting it in the Android Development forum would be appropriate.
ArchLinuxARM for the flo (2013 Nexus 7) - Native Boot with MultiROM
This is only tested on the Wi-Fi version. With a kernel swap, it should work on the deb (LTE) tablet, though mobile data is highly unlikely to work.
Big thanks to crondog at github for the initial porting work. https://github.com/crondog/arch-flo
Working:
3D Acceleration (OpenGL ES 3.0, Mesa) - can be unstable, however.
Wi-Fi (with NetworkManager)
Bluetooth
Audio
Installation
MultiROM must already be installed, and you must already have a hardboot-capable kernel installed as well.
You will need a Terminal Emulator or ADB Shell to install.
This assumes that arch_flo_20141210_multirom.tar.gz is in the root of your internal storage (/data/media/0).
Code:
su
tar -C /data/media/0/multirom/roms -xpzvf /data/media/0/arch_flo_20141210_multirom.tar.gz
Logging in
The username is "arch" and the password is "archlinux". Change the password ASAP.
For root, the username is "root" and the password is also "root". CHANGE THE PASSWORD ASAP!
You'll probably want to enable the On-Screen Keyboard (onboard) and set your Session to "MATE" up in the top right corner.
Downloads
MultiROM hierarchy tarchive: https://drive.google.com/file/d/0B4WUjKii92l2X1F1LVhsaG5DbUE/view?usp=sharing
Kernel Source: https://github.com/willcast/kernel_flo
Also available for:
Samsung Galaxy S III LTE: http://forum.xda-developers.com/gal...unofficial-port-archlinuxarm-release-t2969290
HP TouchPad: http://forum.xda-developers.com/hp-touchpad/other/unofficial-archlinuxarm-release-hp-t2969310
Nexus 10: http://forum.xda-developers.com/nexus-10/general/unofficial-archlinuxarm-release-nexus-10-t2969450
HTC HD2: http://forum.xda-developers.com/hd2-ubuntu/development/unofficial-archlinuxarm-htc-hd2-t2970483
Click to expand...
Click to collapse
What's NOT working
Hello, is there some instruction howto run (native) arch on nexus 4? I see only for n7, n10...
castrwilliam said:
This is not an Android project so I don't feel that posting it in the Android Development forum would be appropriate.
ArchLinuxARM for the flo (2013 Nexus 7) - Native Boot with MultiROM
This is only tested on the Wi-Fi version. With a kernel swap, it should work on the deb (LTE) tablet, though mobile data is highly unlikely to work.
Big thanks to crondog at github for the initial porting work. https://github.com/crondog/arch-flo
Working:
3D Acceleration (OpenGL ES 3.0, Mesa) - can be unstable, however.
Wi-Fi (with NetworkManager)
Bluetooth
Audio
Installation
MultiROM must already be installed, and you must already have a hardboot-capable kernel installed as well.
You will need a Terminal Emulator or ADB Shell to install.
This assumes that arch_flo_20141210_multirom.tar.gz is in the root of your internal storage (/data/media/0).
Code:
su
tar -C /data/media/0/multirom/roms -xpzvf /data/media/0/arch_flo_20141210_multirom.tar.gz
Logging in
The username is "arch" and the password is "archlinux". Change the password ASAP.
For root, the username is "root" and the password is also "root". CHANGE THE PASSWORD ASAP!
You'll probably want to enable the On-Screen Keyboard (onboard) and set your Session to "MATE" up in the top right corner.
Downloads
MultiROM hierarchy tarchive: https://drive.google.com/file/d/0B4WUjKii92l2X1F1LVhsaG5DbUE/view?usp=sharing
Kernel Source: https://github.com/willcast/kernel_flo
Also available for:
Samsung Galaxy S III LTE: http://forum.xda-developers.com/gal...unofficial-port-archlinuxarm-release-t2969290
HP TouchPad: http://forum.xda-developers.com/hp-touchpad/other/unofficial-archlinuxarm-release-hp-t2969310
Nexus 10: http://forum.xda-developers.com/nexus-10/general/unofficial-archlinuxarm-release-nexus-10-t2969450
HTC HD2: http://forum.xda-developers.com/hd2-ubuntu/development/unofficial-archlinuxarm-htc-hd2-t2970483
Click to expand...
Click to collapse
Having my favourite distro on my pocket is very exciting so thank you very much...
I have to carry only a development lamp server so using a pacman tip I revert to a base, base-devel system removing everything about xorg and DE.
Now I connect using ssh but I've noticed that the tablet screen is simply blank: no tty, no text console.
There is a way to have a text only console at boot to make a login (may be using an usb keyboard) when device is not connected?
Hello, I have some trouble when I boot.
config: rastapop 5.1.1 (AOSP based) + last multirom v32A + Kernel w/ kexec-hardboot patch (Stock 5.1.1)
Installing archlinux correctly from the terminal emulator. Load it --> black screen (about 6seconds) --> Google Logo forever
Someone know what I can do for make it work ?
Cool I will give it a try.

[GUIDE] [ROOT] Install a Linux OS alongside almost any Android device [DECEMBER 2017]

I spent weeks trying to find a way to install a Linux distribution alongside my Android devices, or replace Android with one entirely. While researching the possibility, I was really disappointed to learn installing a distribution alongside Android was already a 'fad' which had already come and pretty much gone. A lot of the methods that worked in 2012 and 2013, no longer work on current Android devices, or at least very few of them. However I don't go down without a fight. Please note, I did NOT create any of this software nor did I develop it. I just put it all back together, in a working order. Though it's pretty much impossible to brick your device using this guide, I still feel obligated to say: I am not responsible for any damage this guide may cause to your device, yourself, or the jealous friends you'll have after installation is completed xD
In order to install a Linux distribution, your Android device MUST be rooted. Unfortunately there is no way around that. After more than 2 weeks of research, reading and testing, I have managed to get three different distributions working across four devices, with plans to test it on at least one more device:
- Amazon Kindle HD 8.9 (Rooted with TWRP custom recovery and a custom CyanogenMod [CM] Marshmallow 6.0 ROM).
- Samsung Galaxy J1 (Rooted. Android Lollipop 5.1.1).
- Samsung Galaxy S3 (Rooted with TWRP custom recovery and a custom SlimRom Marshmallow 6.0 ROM).
- Samsung Galaxy S7 (Rooted, US Variant, Android Nougat 7.0).
- (Plan to test) Amazon Fire 7 (Rooted. Custom Lollipop 5.1.1 ROM).
The following guides will allow you to install any Linux distribution you desire (provided it's available). You can install the distributions as a .img on your internal storage/sdcard or partition part (or use all) of an removable sdcard (external storage). It is recommended you have at least 4GB of free storage space. If you want to try another distribution, it's just a case of deleting a few files or folders to uninstall them. Or you can partition another part of your sdcard (external storage). Please note you will not be able to repartition any internal storage.
These guides will be long. It will seem harder than it is. I really think this is one of the coolest things for Android I've stumbled upon. I haven't even begun to scrape the surface of what this allows you to do. Be patient and have fun
Part One: Installing a Linux distribution on internal storage
To get started, you need to do and have installed the following things:
- Make sure you have root.
- Make sure you have BusyBox installed and working.
- Terminal Emulator for Android, Termux and it's API or an SSH client.
- VNC Viewer for Android or your preferred VNC viewer.
- Linux Deploy
- AParted ( Sd card Partition )
1. Go to Sourceforge and download your preferred Linux .img. Those .img files are courtesy of a once awesome organization called 'LinuxOnAndroid'. Simply click on one of the nine distributions and download whichever one and size you prefer.
2. Extract the .zip in a folder on your PC. Name the folder the name of the distribution (i.e. Kali, Debian etc). **NOTE: You MUST download and extract all distributions on your desktop PC. These .zip files will not decompile and extract properly on your Android and the .img files will not boot.**
3. On your Android, using a root explorer, create a folder with the distribution's name in /sdcard or /storage/emulated/0. On your PC, in your extracted Linux distribution folder, copy and paste the .img file into the folder you created in one of those two storage directories.
4. If you haven't already, download and install Linux Deploy from Google Play.
5. It's now time to configure your distribution. Tap the three lines at the bottom right corner. You will then get a screen with a list of configurations. For the purpose of this guide, I have selected the Debian distribution. The first set of configurations should be as follows (See image below the list):
- Containerization method: chroot
- Distribution: Debian
- Architecture: armhf (This allows the Linux OS to be compatible with armv7)
- Source Path: (This will be an automatically selected URL and will vary from distribution to distribution. You should never have to change this configuration)
{
"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"
}
6. Now we configure the type of installation we will be doing. For this particular guide, we are installing the distribution on internal storage. Please configure your settings as listed (See image below the list):
- Installation Type: File
- Installation Path: /sdcard/Debian or /storage/emulated/0/Debian
- Image size: 6000 (The lowest recommended allocation is 4000MB [4GB])
- File System: ext4 (Not all devices support ext4. Some only support ext2 or ext3. If ext4 doesn't work, try one of the other two. You will also have to select the proper .img format from LinuxOnAndroid i.e. ext4, ext3, ext2).
- User Name: android (You can choose any name you like. This will be used to connect to the OS via a VNC viewer later on).
- User Password: ******* (Although the password is automatically generated, you can make this any password you want. This will be used to connect to the OS via a VNC viewer later on).
7. Set the configurations below See images below the lists):
- Privileged Users: root (This will be the name given to you when entering a root shell via the sudo command. You can change this to your liking)
- DNS: Automatic Detection
- Localization: en_US.UTF-8 (Language and region selection. If you're not sure of this setting, use Google to determine your local i.e. en = English, US = United States)
- INIT: Make sure box is checked to enable
- Init System: run-parts
- Mounts: Make sure box is checked to enable
- SSH: Make sure box is checked to enable (This allows you to set up an SSH client to connect to the Linux OS as opposed to using a VNC viewer)
- GUI: Make sure box is checked to enable (This tells the Linux OS to create a graphical interface so you're able to use a VNC viewer)
- Graphics Subsystem: VNC
8. Now you can configure GUI settings. This creates graphics of high or low quality. You are able to customize these settings to your liking and they will vary from device to device based on screen sizes and resolutions. In this case, I have the distribution loaded on my Galaxy J1 so these settings are set to my taste based on that device (See image below the list):
- Display: 0
- Depth (bits): 24 (The higher the number, the better the graphics)
- DPI: 100 (Dots per inch)
- Width: 800
- Height: 480
9. Tap the back button once. From the main screen swipe right or tap the three lines in the upper left corner and tap the settings option. Here you can configure the application settings for Linux Deploy. A lot of these options are already selected and some don't require any changes. Please set the settings according to the list below (See image below the list):
- Lock Screen: Make sure the box is checked
- Lock WiFi: Make sure box is checked (Some devices will turn off WiFi when you aren't using Android for a period of time. Some carriers and manufacturers do not give you the option to 'keep WiFi on' when the device is 'asleep.' Checking this box will allow the application to attempt to keep WiFi on)
- Wake Lock: Make sure box is checked. (This option can be set to your taste. However, to avoid problems with Linux Deploy and a VNC viewer in case you don't shut down your Linux environment or Linux Deploy, keep this box checked)
- Language: English (Obviously this option would change depending on your preferred language)
- Font Size: 10 = default (This changes the size of the text in Linux Deploy application only)
- Scroll Size: 100 (This tells Linux Deploy how many lines of text you're able to scroll back and look at in the application)
- Theme: Dark or Light (Take your pick)
- Timestamp: Shows the timestamp next to the lines of test in the application. Totally up to you)
- Show Icon: Make sure box is checked (Some devices will attempt to shut down Linux Deploy, even with root. Displaying the icon in the status bar allows a constant notification to be present, which generally stops the system from shutting down the app)
- Stealth Mode: Hides the application icon within your launcher
- Autostart: Check the box if you want Linux Deploy to open and start the Linux OS each time you reboot. This is not recommended especially for lower end/older devices
- Autostart Delay: Tells Linux Deploy how long after the system boots, to open and activate the container (Linux OS)
- Network Trigger: Check this box if you plan on leaving your distribution running while traveling with your device.
- Terminal Command: telnet 127.0.0.1 5023 (This allows you to open a terminal in your distribution that connects to the device. This is just a standard terminal so you don't have to open a terminal emulator in Android. In order to use this you'll need to install the telnet package once your distribution is operational)
- ENV Directory: Auto selected. No need to change (Not sure what exactly this does)
- Path Variable: Blank. (Also not sure of this setting so I didn't change it)
- Enable CLI: Make sure this box is checked (Allows the application to use a command line within, I believe, both the application and the distribution)
- Update ENV: Update the operating environment (This updates the operating environment setup of Linux Deploy. (Please see the next step on how this function works)
- Remove ENV: Removes/deletes the operating environment (This removes/deletes the operating environment. Anytime you change the settings in this settings menu, you MUST tap Remove ENV and tap yes. Then tap Update ENV and yes to update the settings you just changed. Only do these last two
steps when completely done changing settings)
- Telnet: Enable telnetd daemon (Make sure box is checked. You need this option if you choose to install and use the telnet application on your Linux distribution)
- Port: 5023 (Preconfigured. The port that telnet uses to connect to your device inside the Linux OS via terminal)
- Localhost: Make sure this box is checked. This is a security feature which allows only the localhost (that's you inside the Linux OS) to be allowed to connect to the distribution. Leaving the box blank can potentially set yourself up to be hacked, in a bad way. Leave it blank at your own risk and is you know what you're doing)
- Enable Httpd daemon: I am not sure what this does. The box is preconfigured as blank, so I left it as such
- Debug mode: Enable debugging information if you wish
- Trace mode: Enable if you wish.
- Logging: Enable if you wish. The setting below it tells Linux Deploy what type of file to save logs as
10. Now once all those settings are configured, scroll up and tap on Remove ENV and yes when it asks. Then tap on Update ENV and yes when it asks. You have not configured Linux Deploy. Tap the arrow (back) at the top left of the screen.
11. Tap the three dots at the top right of the screen. Tap 'Install'. If everything has been properly configured, and you placed your .img of your distribution in the correct place, Linux Deploy should begin to install your chosen distribution.
If installation doesn't work or fails to install for whatever reason, don't worry; it will NOT brick you're device. It is impossible. You CAN however, corrupt your sdcard, which usually just means you have to reformat it completely and repartition it (but that is a discussion for my next thread). The installation process requires a constant connection to WiFi until it completes. The time the installation takes depends on several variables i.e. your chosen img size and distribution, how good your WiFi connection is and so on. Based on my experience, installation took anywhere from 10 minutes to as long as 40 minutes. If for whatever reason it doesn't complete installation, it will list errors. Be sure to get a screen shot of those errors. I've never had Linux Deploy freeze during installation. You may see the same line of text for a few minutes, especially during the first few minutes of installation.
12. Installation will be complete when you see <<deploy appear as the last line of text. Tap stop at the bottom of the screen. When the process completes (usually a few seconds), tap the three dots at the top right again. Tap configure. This will assure your Distribution is configured to the proper settings that we set up earlier. It will also install any needed updates. This process could take anywhere from 30 seconds to a minute or two (usually). When completed tap stop.
13. You should be ready to launch the distribution. Tap start at the bottom of the screen. If absolutely no errors are given, this should boot up your distribution. If you see the word 'skip,' this is ok and is NOT an error.
14. Now here's the fun part. It's time to configure a VNC viewer. For the purpose of this guide, and one of two VNC viewers I use, we will be setting up VNC Viewer for Android. It will start in landscape mode, but you can rotate once the viewer connects to the distribution. Remember the settings you configured in Linux Deploy? Your distribution will be your chosen height and width once it loads.
15. You will need to set up VNC Viewer for Android as follows:
- Nickname: android (Or the name you chose in Linux Deploy as the 'username')
- Password: The password you set up in Linux Deploy
- Address: 127.0.0.1 (This should be universal for all devices and is what the Linux Deploy application uses to connect)
- Port: 5900 (Also preconfigured in Linux Deploy and it's the port it uses to connect)
- Username: You can leave this blank. I usually do
- Color Format: 24-bit color (4 bpp) (This allows for the best quality graphics possible. And honestly, the graphics are pretty great)
- Local Mouse Pointer: Check the box for a track-pad type mouse (I think? Should enable the mouse to act like a track pad on a laptop. Leave unchecked to use the mouse as pointer tapping?)
- Force Full Screen Bitmap: Make sure box is checked (Could be preference, but I've always had the box checked)
- Use Immersive mode (Devices running KitKat 4.4 and above ONLY)
- Use Wake Lock: Check the box if you desire
- Repeater: No repeater (Not a clue what this does)
That's it. You should be configured. Scroll to the top of the screen in the VNC viewer and make sure the box is checked where it says 'keep' to save the settings when you restart the application.
Now the moment of truth. Can I have a drum roll please? tap, tap, ap, tap, tap.....tap on connect.....iy might take a second or two for your distribution's wallpaper to appear. You may get an error box that pops up just before it fully boots. Just tap on ok or use the 'mouse pointer' to tap it. Sometimes the distribution boots a tad slower than the virtual connection through the viewer.
That's it! You have successfuly installed a Linux OS alongside your Android device. You can interact with your device in a terminal and view files and folders on your distribution, that exist on your device. Perhaps the coolest part of all, you now have access to hundreds, if not thousands of applets in the terminal. Tap on the far bottom left corner icon that will bring up your menu. Tap on system tools and tap on the terminal. Now you can use Linux terminal like it was a full, operating system...because it is You also get a root shell. In terminal type:
Code:
sudo -i
If you want to install an application, for example git (github for Linux. You have access to just about every repository on github now) you need to have a root shell first. Type in the terminal:
Code:
sudo -i
apt-get install git
Debian on my Samsung Galaxy J1, Lollipop 5.1.1
Type in the letter Y if propted. To get a list of all available applications you can install with that command (this is a very, very long list), type in the terminal:
Code:
apt list
To exit the VNC connection ONLY, simply tap your recent apps button and swipe it away. To stop the Linux distribution, in Linux deploy, tap the stop button at the bottom of the screen. Then tap the three bars at the top left and tap exit. This should be done EVERY time you want to end your session in Linux Deploy. Do NOT exit or stop Linux Deploy via the recent apps button.
Please stay tuned for the next post below this one titled: 'Part Two: Partitioning external storage (removable sdcard) and installing a Linux Distribution onto it'
I want to thank everyone who followed this guide. Please give me a thanks by tapping the thumb at the bottom of this post or consider a small donation I really think this is awesome and I haven't begun to scratch the surface. I've been too excited getting this to work on so many devices! Please post your results and problems. I very much look forward to your replies!
Reserved for part two guide
Reserved for part three guide
Reserved for my comment
Awesome guide though, will follow when I can download everything
The repeater in above mentioned is for setting up remote access and viewing. And httpd.conf:
---------- Post added at 09:21 AM ---------- Previous post was at 09:18 AM ----------
jeremyandroid said:
The repeater in above mentioned is for setting up remote access and viewing. And httpd.conf: is historically named after httpd daemon for Apache2 set up
Click to expand...
Click to collapse
jeremyandroid said:
The repeater in above mentioned is for setting up remote access and viewing. And httpd.conf:
---------- Post added at 09:21 AM ---------- Previous post was at 09:18 AM ----------
jeremyandroid said:
The repeater in above mentioned is for setting up remote access and viewing. And httpd.conf: is historically named after httpd daemon for Apache2 set up
Click to expand...
Click to collapse
Like your avatar. Speaking of Kali, I installed that one first. Love it. But I get a 404 when trying to upgrade most of the add on 'security' tools. Is there any way I can get those to work or an I out of luck?
Click to expand...
Click to collapse
DragonFire1024 said:
jeremyandroid said:
The repeater in above mentioned is for setting up remote access and viewing. And httpd.conf:
---------- Post added at 09:21 AM ---------- Previous post was at 09:18 AM ----------
Like your avatar. Speaking of Kali, I installed that one first. Love it. But I get a 404 when trying to upgrade most of the add on 'security' tools. Is there any way I can get those to work or an I out of luck?
Click to expand...
Click to collapse
404 error is .sources list problem usually providing you allocated enough space for Kali. May have to either use original ones or replace with rolling ones.
Click to expand...
Click to collapse
jeremyandroid said:
DragonFire1024 said:
404 error is .sources list problem usually providing you allocated enough space for Kali. May have to either use original ones or replace with rolling ones.
Click to expand...
Click to collapse
10000 should be enough? I will have to try it again and see what happens.
Click to expand...
Click to collapse
DragonFire1024 said:
jeremyandroid said:
10000 should be enough? I will have to try it again and see what happens.
Click to expand...
Click to collapse
Yes should be plenty Kali comes with like several hundred tools so I'm pretty sure it's over 4gig so that will be fine
---------- Post added at 10:02 PM ---------- Previous post was at 09:47 PM ----------
Also not trying to sound like I know everything because I don't! I just love to learn and love Linux and Android. Im just now back on here I authored roms for the Note 2 years ago so it's been a long time lol. However I have used Linux for years and made custom distributions and kernels. Android has changed so much I'm catching up lol
Click to expand...
Click to collapse
So I had 3/4 of the second Guide written when the house lost heat. It got so cold my fans on my PC were starting to run too slowly, so it shut down as a precaution. I lost the work I had done on the second guide. So until I get heat back at home, I can't write the second guide. Apologies for the delay.
Latest Ubuntu running like a champ Thanks man!
Though any idea on how to make the screen bigger (without zooming in)?
Craz Basics said:
Latest Ubuntu running like a champ Thanks man!
Though any idea on how to make the screen bigger (without zooming in)?
Click to expand...
Click to collapse
You have to mess around with the VNC settings in Linux Deploy. Might take a few times to tweak to your liking.
DragonFire1024 said:
I spent weeks trying to find a way to install a Linux distribution alongside my Android devices, or replace Android with one entirely. While researching the possibility, I was really disappointed to learn installing a distribution alongside Android was already a 'fad' which had already come and pretty much gone. A lot of the methods that worked in 2012 and 2013, no longer work on current Android devices, or at least very few of them. However I don't go down without a fight. Please note, I did NOT create any of this software nor did I develop it. I just put it all back together, in a working order. Though it's pretty much impossible to brick your device using this guide, I still feel obligated to say: I am not responsible for any damage this guide may cause to your device, yourself, or the jealous friends you'll have after installation is completed xD!
Click to expand...
Click to collapse
Quick question for anyone who might know...
I'm running Debian on my Xperia Xc, and I'm interested in copying files back and forth from Linux to Android. I was able to figure out how to mount the loop device, and get access to it in terminal, but files don't show up in file manager, even though I go to the same directory I can see them in terminal.
How can I get the device to show up in the file manager?
Thanks
Edit - I was able to get it working in reverse, (show my Android file system on Linux), by using custom mount point option in LD, so I guess that works... Would still be interested to know if there's a way to do it the other way...
Question, Does installing a Linux Distro in this fashion allow one to pair and access simple B/T serial devices other than a B/T mouse our keyboard? I installed GNU Root Debian Jessie and got is working with LXDE but
none of my tracking apps that have to use a USB or B/T connection to an outboard receiver are accessible. Don't have access to /dev so I could change permissions on the ports the GNU Root Debian. Wireless or USB peripherals
are useless. I want to specifically run Xastir with outboard datastreams. Piece 'o cake with a laptop but no dice with GRB. Kurt KC9LDH
Any idea how to get it to work with magisk? I think it's due to busybox not working but when set to chroot, nothing happens when trying to start or install.
Humpie said:
Any idea how to get it to work with magisk? I think it's due to busybox not working but when set to chroot, nothing happens when trying to start or install.
Click to expand...
Click to collapse
I have no idea actually. I only have two devices with unlocked bootloaders and niether of them have magisk. Sorry I'm not more familiar with it.
DragonFire1024 said:
I have no idea actually. I only have two devices with unlocked bootloaders and niether of them have magisk. Sorry I'm not more familiar with it.
Click to expand...
Click to collapse
Ahhw that's a shame. It really is the cleanest way to root since apps like Netflix will still be available in the play store and Google pay etc will still work.
But I have a module which should have put busybox in /system/xbin (and it works in termux, I can type "chroot")
Edit: I'm a bit further, I set PATH to /system/bin/sh and chroot now at least runs, but it won't mount the img, let's download that again..
Edit2: mounting container gives me a fail... Any idea?
Okay I've got debian working by installing it into a folder instead of an IMG file. For some reason the img didn't work (might be android 8.1 or magisk related). I also didn't have to download an img from sourceforge as the app can download the files itself.
Humpie said:
Okay I've got debian working by installing it into a folder instead of an IMG file. For some reason the img didn't work (might be android 8.1 or magisk related). I also didn't have to download an img from sourceforge as the app can download the files itself.
Click to expand...
Click to collapse
An .img works best if you use external sdcard. You can partition it or use the whole thing.
DragonFire1024 said:
An .img works best if you use external sdcard. You can partition it or use the whole thing.
Click to expand...
Click to collapse
Yes, however my pixel 2xl doesn't have an sdcard slot .

WiFi monitor mode

OK, I don't think this thread will get any attention, but I want to document it anyway. All this should work on other devices with qcom WiFi drivers.
TL;DR:
Grab iwpriv binary somewhere (i've got my here: https://github.com/kriswebdev/android_wireless_tools/tree/master/bin)
adb push iwpriv /data/local/tmp/
adb shell su -c chmod +x /data/local/tmp/iwpriv
Code:
#!/system/bin/sh
ip link set wlan0 down
sleep 1
echo 4 > /sys/module/wlan/parameters/con_mode
sleep 2
ip link set wlan0 up
/data/local/tmp/iwpriv wlan0 monitor 1
/data/local/tmp/iwpriv wlan0 MonitorModeConf 9 40 1 111 0
And enjoy your airodump output
NO PACKET INJECTION! (stubbed out in driver, removed previously?)
If you don't receive any packets, issue "/data/local/tmp/iwpriv wlan0 monitor 1" again.
How does this all work?
Some time ago I discovered these strings in wlan_hal_msg.h: (they appeared in google):
Code:
...
/* Monitor Mode */
WLAN_HAL_ENABLE_MONITOR_MODE_REQ = 302,
WLAN_HAL_ENABLE_MONITOR_MODE_RSP = 303,
WLAN_HAL_DISABLE_MONITOR_MODE_REQ = 304,
WLAN_HAL_DISABLE_MONITOR_MODE_RSP = 305,
...
Then I unscrambled some indirections:
WLAN_HAL_ENABLE_MONITOR_MODE_REQ to WDI_MON_START_REQ in WDI_2_HAL_REQ_TYPE
WDI_MON_START_REQ sent in WDI_ProcessMonStartReq <— actual message sents here!
Called from "Request Processing Array" in function WDI_MonStartReq
Wrapped in WDA_ProcessMonStartReq, which is called in WDA_McProcessMsg by message WDA_MON_START_REQ
Which message is posted by wlan_hdd_mon_postMsg if (MON_MODE_START == pMonCtx->state)
Which is called in __iw_setint_getnone with sub_cmd = WE_SET_MONITOR_STATE
Which is set by iw_priv cmd "monitor"
And then figured out that driver works in different modes:
(vos_types.h)
Code:
/// Concurrency role. These are generic IDs that identify the various roles
/// in the software system.
typedef enum
{ /*ON linux maintain 1-1 corespondence with device_mode_t in hdd*/
VOS_STA_MODE=0,
VOS_STA_SAP_MODE=1, //to support softAp mode . This is misleading. It means AP MODE only.
//The constant name has historical reason
VOS_P2P_CLIENT_MODE,
VOS_P2P_GO_MODE,
VOS_MONITOR_MODE,
VOS_FTM_MODE = 5,
VOS_IBSS_MODE,
VOS_P2P_DEVICE,
VOS_MAX_NO_OF_MODE
} tVOS_CON_MODE;
Mode can be changed by "con_mode" module parameter.
(idk why they reinvented the wheel and not used the default "iw dev wlan0 set mode monitor")
Combined all this and... got a kernel panic. You may get it too. Main reasons are:
- You have not disabled WiFi before changing the mode
- The sleep time after disabling interface is short
- Driver is old. Yes, you can get crashes on some kernels. If you are, flash AGNi.
After successful switching you'll get a working monitor (check this with tcpdump -i wlan0), but with ethernet packets instead of radiotap, so airodump will not work. Luckily, this giant crappy driver can work with radiotap, but you need to configure it. This is done by another iwpriv call:
MonitorModeConf: <channel> <bandwidth> <crccheck> <filter> <conversion_required>
Filter: 3 decimal numbers
least to most: management packets, control packets, data packets
Conversion: 1 - ARPHRD_ETHER (802.3 packets), 0 - ARPHRD_IEEE80211_RADIOTAP (802.11 packets)
(again don't know why they implemented these calls instead of default ioctl's for channel switch, etc. This makes airodump unable to switch channels)
As a result you may get something like on a screenshot
Happy sniffing!
Who said it will not be an interesting , I my self appreciated your effort to bring this up. Kudos to you friend.
Crayvolt said:
Who said it will not be an interesting , I my self appreciated your effort to bring this up. Kudos to you friend.
Click to expand...
Click to collapse
Thanks. I wanted to say that kenzo development is almost dead, we've lost official LOS and keep losing devs.... So it's most likely we'll not see working packet injection (cuz devs who know driver's internals better than me are left), and, possibly, a wrapper library implementing the default ioctl's (like channel switch) used in most programs.
i understand, hopefully we can have new devs. who will continue
This is a perfect news. At least if this device became obsolete, it should still be useful to be a portable linux pen test device, if possible. Anyway, awesome job mate. Very much appreciated
Sent from my Note 3 using XDA Labs
you dont have permission to capture on that device sokect operation not permitted
aldhi said:
This is a perfect news. At least if this device became obsolete, it should still be useful to be a portable linux pen test device, if possible. Anyway, awesome job mate. Very much appreciated
Sent from my Note 3 using XDA Labs
Click to expand...
Click to collapse
Thank you. I forgot to say that monitor mode requiers support from firmware (there's some code in driver that checks for it). Kenzo guys are lucky because we have it enabled . There's also sta+monitor mode (so you can have working wifi connection while sniffing), but it also requiers support from firmware and kenzo's fw compiled without it. I forgot how to enable it, but i think you need to issue "iwpriv wlan0 monitor 1" in default con_mode and check dmesg - there will be a string that says it's not supported (if it is not).
And if someone is interested, our wireless chip is wcn3680b, simmilar one (or same, idk) can be found in nexus 4 (mako)
cerg2010cerg2010 said:
Thank you. I forgot to say that monitor mode requiers support from firmware (there's some code in driver that checks for it). Kenzo guys are lucky because we have it enabled . There's also sta+monitor mode (so you can have working wifi connection while sniffing), but it also requiers support from firmware and kenzo's fw compiled without it. I forgot how to enable it, but i think you need to issue "iwpriv wlan0 monitor 1" in default con_mode and check dmesg - there will be a string that says it's not supported (if it is not).
And if someone is interested, our wireless chip is wcn3680b, simmilar one (or same, idk) can be found in nexus 4 (mako)
Click to expand...
Click to collapse
Can you ziping code and flashable instal on twrp?
Khimin said:
Can you ziping code and flashable instal on twrp?
Click to expand...
Click to collapse
There's nothing to install except iwpriv binary... But OK, I'll try to create a magisk module with enable/disable scripts.
cerg2010cerg2010 said:
There's nothing to install except iwpriv binary... But OK, I'll try to create a magisk module with enable/disable scripts.
Click to expand...
Click to collapse
Thx, im waiting
Khimin said:
Thx, im waiting
Click to expand...
Click to collapse
Ok, I made it quickly!
Source: https://github.com/cerg2010cerg2010/qcmon
There's 2 scripts, run them from shell:
monen - enables monitor mode (you can specify configuration in the parameters, see system/xbin/monen)
mondis - disables monitor mode. You can use your wifi connection again.
cerg2010cerg2010 said:
Ok, I made it quickly!
Source: https://github.com/cerg2010cerg2010/qcmon
There's 2 scripts, run them from shell:
monen - enables monitor mode (you can specify configuration in the parameters, see system/xbin/monen)
mondis - disables monitor mode. You can use your wifi connection again.
Click to expand...
Click to collapse
Thx dude
thank you you are awsome +thumbsup
---------- Post added at 08:49 AM ---------- Previous post was at 08:03 AM ----------
filter expresion syntax error using command tcpdump -i wlan0
help please
---------- Post added at 09:05 AM ---------- Previous post was at 08:49 AM ----------
can you help me?
cerg2010cerg2010 said:
Ok, I made it quickly!
Source: https://github.com/cerg2010cerg2010/qcmon
There's 2 scripts, run them from shell:
monen - enables monitor mode (you can specify configuration in the parameters, see system/xbin/monen)
mondis - disables monitor mode. You can use your wifi connection again.
Click to expand...
Click to collapse
Is it safe to flash with magisk in note 5 pro ?
cerg2010cerg2010 said:
Ok, I made it quickly!
Source: https://github.com/cerg2010cerg2010/qcmon
There's 2 scripts, run them from shell:
monen - enables monitor mode (you can specify configuration in the parameters, see system/xbin/monen)
mondis - disables monitor mode. You can use your wifi connection again.
Click to expand...
Click to collapse
@cerg2010 Tried to flash with magisk in note 5 pro. System apps are not working after disabling the module from magisk it returned to normal. Any solution for this ?
Perinban Parameshwaran said:
@cerg2010 Tried to flash with magisk in note 5 pro. System apps are not working after disabling the module from magisk it returned to normal. Any solution for this ?
Click to expand...
Click to collapse
Please understand that I don't have any "note 5 pro". You can send me logcat and I can try to identify the problem or ask your ROM developer to take a look (if it's not MIUI lol). Anyway, that's just scripts, so you can copy them to /data/local/tmp or /system/bin manually.
Lol I'm a n00b what does this do? Is this a packet sniffer or something?
Op_Flashpoint said:
Lol I'm a n00b what does this do? Is this a packet sniffer or something?
Click to expand...
Click to collapse
Sort of. It makes your sniffer to work - you will be able to capture raw WiFi packets from your device without any dongles.
plis whats rom u use ¿
cerg2010cerg2010 said:
Ok, I made it quickly!
Source: https://github.com/cerg2010cerg2010/qcmon
There's 2 scripts, run them from shell:
monen - enables monitor mode (you can specify configuration in the parameters, see system/xbin/monen)
mondis - disables monitor mode. You can use your wifi connection again.
Click to expand...
Click to collapse
thank you man, monitor mode now working on my poco F1, using its module magisk + aircrack-ng

Categories

Resources