====== Google Nexus 7 ====== I don't take any responsibility for bricked or destroyed hardware. Also, some actions described here may void your warranty. You have been warned! All information here is related to 2012 version of Google Nexus 7 manufactured by ASUS and how to do various things with, or to, it from GNU/Linux. 99% of information here can be found on intranets. These are, pretty much, personal notes. Respect to all those people for all work they've done! Speaking of which, here are some links: * [[http://grey-olli.livejournal.com/697276.html|unlocking boot loader]] by grey_olli * [[http://grey-olli.livejournal.com/697453.html|replacing recovery image]] by grey_olli * [[http://forums.androidcentral.com/google-nexus-7-2012-rooting-roms-hacks/200444-guide-release-kraken-rooting-hacking-your-nexus-7-a.html|rooting nexus 7]] summary by dmmarck with links to guide and video. Beware, though, as it has obfuscated links for non-registered users(which I think, sucks) ===== Hardware ===== Detailed information about hardware can be found at [[https://en.wikipedia.org/wiki/Nexus_7|wiki]]. I see no reason to duplicate this information. * CPU - Nvidia Tegra 3 T30L ARM Cortex-A9, quad-core, 1.2GHz * GPU - Nvidia ULP GeForce, twelve-core, 416MHz ===== Unlock boot loader and root ===== I didn't put this under How to for couple reasons - it would be lost there and unlocked boot loader is building block for pretty much everything. ==== Unlock boot loader ==== Unlocking boot loader will wipe all your data. Therefore, you're advised to backup your data before proceeding further. * you need Android SDK to get ''adb'' and ''fastboot''. Look for ''adt-bundle-linux-x86_64''. Note, however, despite it's 2013, "compat" libs are still required by 64bit version(what a shame!). This is covered by installing ''ia32-libs'' on Ubuntu. I don't know about other distros. * enable USB debug mode by: * go into //Settings// -> //About tablet// and click on //Build number// seven times * go into //Settings// -> //Developer options// and enable //USB debugging// * ''# ./adb devices'' List of devices attached 015d46d948101e11 device * ''# ./adb reboot-bootloader'' or, I guess, this would do too: power off Nexus 7, hold simultaneously buttons //Volume Down//, //Home// and //Power// * ''# ./fastboot oem unlock'' * press //Power// button to unlock boot loader ==== Replace recovery image ==== * enable //USB debugging//, if you haven't already * ''# ./adb devices'' * ''# ./adb reboot-bootloader'' * ''# ./fastboot devices'' - if it doesn't list your Nexus 7, you can't continue * download clockworkmod recovery image [[http://www.clockworkmod.com/rommanager|here]] - based on version of Nexus 7 you have, choose either WiFi or GSM * ''# ./fastboot flash recovery '' * ''# ./fastboot erase cache'' * use //Volume Down/Up// buttons to choose //Recovery mode// and //Power button// to boot into recovery mode * once in ClockworkMod * go into //mounts and storage// and mount /system * also, I think I had to format /cache partition(?) * go into //backup and restore// and //backup// and "create image zip" * you get get these files off the device by ''# ./adb pull '' - highly recommended for later use, resp. restore * you'll be asked on exit whether to install ClockworkMod permanently or not - yes, to keep; no, to use only once. This can be reversed via backup/image(?) ==== Get root ==== * boot into ClockworkMod recovery image * get [[https://plus.google.com/+Chainfire/posts/Jkuu84odnx6|SuperSU]] * push SuperSU on Nexus 7, eg. ''# ./adb push /sdcard/'' * in ClockworkMod, ''install zip'' -> ''choose zip from sdcard'' and locate SuperSU * reboot device and you should have SuperSU icon in your menu ===== How to ... ===== ==== Enable developer menu ==== - Go to //Settings// -> //About tablet// - Click on //Build number// seven times ==== Enable USB debugging ==== - Go to //Settings// -> //Developer options// - enable //USB debugging// ==== Change USB connection type ==== - Go to //Settings// -> //Storage// - open //USB computer connection// menu(three vertical dots in the right top corner of the screen) - choose either MTP or PTP mode ==== Transfer files between 'droid and Linux ==== I've been using [[https://github.com/hanwen/go-mtpfs|go-mtpfs]] to transfer files between 'droid and Linux. ===== Alternatives to 'droid ===== FIXME ==== Arch Linux ==== * [[https://docs.google.com/document/d/1G9vF5v2TN2c6ocyb_hmD1ve7OK4GdCP84rfaXgiLmB4/edit|How to install Arch Linux on Nexus 7]] * [[http://forum.xda-developers.com/showthread.php?t=2368304|XDA Dev forum thread related to Arch Linux on Nexus 7]] ==== Ubuntu ==== * [[https://wiki.ubuntu.com/Nexus7/Installation]] ===== Links ===== * [[https://wiki.ubuntu.com/Nexus7 * [[http://www.nexus7tablethelp.com/2012/07/connect-nexus-7-to-linux-via-mtp-using.html]] * [[http://thegreyhats.blogspot.cz/2012/12/nexus-7-file-transfer-with-linux-via-usb.html]] * [[https://wiki.archlinux.org/index.php/MTP]] * [[https://sourceforge.net/projects/libmtp/]] * [[https://github.com/hanwen/go-mtpfs]] * [[http://hanwen.home.xs4all.nl/public/software/go-mtpfs/]] * [[http://grey-olli.livejournal.com/697276.html]] * [[http://forums.androidcentral.com/google-nexus-7-2012-rooting-roms-hacks/200444-guide-release-kraken-rooting-hacking-your-nexus-7-a.html]] * [[http://forums.androidcentral.com/google-nexus-7-2012-rooting-roms-hacks/189900-guide-mac-pc-linux-4-2-unlock-root-flash-recovery.htm]]