Welcome Guest [Log In] [Register]
Welcome to Pwnie Express. We hope you enjoy your visit.

You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Please note you need to use a valid email address to register for member access.

Get your questions answered by other members, share your ideas and feedback, get your problems solved, and give back by helping others! It only takes a minute to get started. Registration is simple, fast, and completely free!

Join our community!


If you're already a member please log in to your account to access all of our features:

Username:   Password:
Add Reply
Off-topic *Native* Kali for Nexus 7
Topic Started: Dec 19 2013, 07:16 PM (4,108 Views)
0ld3nglish800
Member Avatar

Hello, I have been doing some research of my own on how to get Kali to run natively on the Nexus 7. I went as far as installing Ubuntu natively on the Nexus 7 and adding the kali repos to the sources.list however, I came across road blocks - mainly packages that were not found and needed to be compiled manually.

I believe it should be able to be done, but I have never cross-compiled a kernel for another architecture.
If you review http://docs.kali.org/category/development you will see that Kali has been compiled for quite a few arm devices.
And Kali gives instructions for arm-cross compiling here: http://docs.kali.org/development/arm-cross-compilation-environment

Is there someone with more experience with this that could help push me in the right direction?

Offline Profile Quote Post Goto Top
 
binkybear
Member Avatar

Just curious as I don't have any real experience with a native build, but Kali has some documentation for the Galaxy Note: http://docs.kali.org/armel-armhf/kali-linux-on-galaxy-note

Would it be similar to that?

*edit*

Never mind it uses a custom recovery.
Edited by binkybear, Dec 19 2013, 07:45 PM.
Offline Profile Quote Post Goto Top
 
m4xx3d0ut

Ah yes, even though Ubuntu is Debian based they are not 100% binary compatible. I don't think we would need a custom recovery and the process would likely be similar to arch Linux on nexus 7. I'll see if I can dig up some info on that. I think most of the magic there was in the initial scripts.
Offline Profile Quote Post Goto Top
 
0ld3nglish800
Member Avatar

I am guessing:

1) download kali kernel source,
2) add tegra 3 firmwares,
3)compile for armhf architecture.

4) use fastboot to flash img to nexus 7.

steps 1 and 4 I understand :P
Offline Profile Quote Post Goto Top
 
m4xx3d0ut

Not quite. Your kernel will live on boot, but it will have to be built from your devices kernel source (grouper for instance). We can use the kernels we are using now. The issue is the filesystem itself. Now Kali is a Debian is, it uses x11 for its GUI. This is not native to an android environment, buy it can run on ANY current Linux kernel (including ours). This is the part where we have to get creative with the scripts to start things. I'll have to examine the build the made for the note. It will be very similar, it will just have to be adapted. I've thought about this quite a bit just never tried, I'm sure we can... If its slow at work tomorrow I'll start looking at it in more detail.
Offline Profile Quote Post Goto Top
 
0ld3nglish800
Member Avatar

Thank you for helping me get better understanding of how it should be done. I was looking for way to do it on similar hardware and stumbled across this thread: http://forum.xda-developers.com/showthread.php?t=2453512
about how to install debian on a OUYA. Would the process be the same for Nexus 7?
Offline Profile Quote Post Goto Top
 
binkybear
Member Avatar

I was looking at Ubuntu and they released a native Ubuntu installer for the Nexus 7 not to long ago but the images are missing from the webpage. I dug around the source code for the installer and found the files here:

http://hwe.ubuntu.com/uds-r/nexus7/

It looks like it's just a boot.img (kernel) and a rootfs.img (/data):

Code:
 

fastboot flash boot boot.img
fastboot erase userdata
fastboot flash userdata rootfs.img
fastboot reboot


I thought it would be more complicated than that. Like m4xx30ut said since the boot.img (kernel) can stay the same it's just a matter of building that rootfs.img. Like I mentioned earlier, there is a Kali build for the Galaxy Note and maybe looking at there img file might give some ideas. Just a though as I know nothing on this.
Offline Profile Quote Post Goto Top
 
m4xx3d0ut

The Ubuntu image worked with my kernel as well. From what I understand a lot of cm code was used for the short duration of that project. It was actually pretty useable with a keyboard and mouse attached. I'd be pretty sure the same would fly for the Kali image. I'm going to download it later and give it a look.
Offline Profile Quote Post Goto Top
 
binkybear
Member Avatar

This might help too: http://www.mattfischer.com/blog/?p=285

edit

Actually it looks easier than that. So Multirom supports native ubuntu through it's installer and they linked the file here: http://cdimage.ubuntu.com/releases/13.04/release/ubuntu-13.04-preinstalled-desktop-armhf+nexus7.img.gz

So then I wanted to look at it and here's what I got:

file: ubuntu-13.04-preinstalled-desktop-armhf+nexus7.img.gz
extracted gz file to: ubuntu-13.04-preinstalled-desktop-armhf+nexus7.img
used simg2img to convert to ext4 then mounted to folder reveals file: rootfs.tar.gz

The rootfs.tar.gz is just essentially the whole filesystem. So working backwards need to:

1) create a folder called "build"
Code:
 
mkdir build

2) gzip the rootfs of a kali install (possibly name it rootfs.tar.gz)
Code:
 
tar -cvzf rootfs.tar.gz *

3) Move rootfs.tar.gz to the build folder
4) Make the gz and ext4fs:
Code:
 
./make_ext4fs -J -s -l 2G kali-preinstalled-desktop-armhf+nexus7.img build/

5)Then gzip the raw file.
Code:
 
gzip kali-preinstalled-desktop-armhf+nexus7.img


I'm unsure if anything else needs to be done for Multirom to work. The ext4fs requires a default size so I'm not sure how multirom detects or if gust kernelneeds to be patched.

edit 2

Going to read the source code for TWRP multirom to see what it does: https://github.com/Tasssadar/Team-Win-Recovery-Project/blob/nexus7/multirom.cpp
Edited by binkybear, Dec 29 2013, 07:34 PM.
Offline Profile Quote Post Goto Top
 
binkybear
Member Avatar

Alright, so good news and bad news. The good news is I got it "working" in multirom:

https://mega.co.nz/#!PMYwTbgL!b1ANMQV3tFf9BDn1WZ2ZOVDqFt57msLll97fFSNDTbY

To install just copy to sdcard and in TWRP (multirom) just choose the mrom file type.

The bad news is I can't get it to boot straight into a GUI. I also used the default kernel/ramdisk. But hey, I can get to a login screen. What I would need from you guys is some help with figuring out the "chroot" file system (root.tar.gz). It can actually be chrooted on device or in kali. I installed gnome and tried doing the auto login but it still takes me to tty1. No idea how to fix this as of now.

Let me know what you guys think.
Offline Profile Quote Post Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
ZetaBoards - Free Forum Hosting
Enjoy forums? Start your own community for free.
Learn More · Sign-up for Free
Go to Next Page
« Previous Topic · Pwn Pad Community Edition Support Forum · Next Topic »
Add Reply