Google Nexus 7 2012 (asus-grouper)
Appearance
WARNING: This device is not recommended for future use with postmarketOS due to its armhf architecture. Alpine Linux (the distribution that postmarketOS extends) pmaports#599 has been considering dropping it. The processor of the device may support the armv7 architecture. If so, you can modify the device package and change the architecture accordingly. |
![]() Galaxy Nexus 7 | |
Manufacturer | Google (ASUS) |
---|---|
Name | Nexus 7 (2012) |
Codename | asus-grouper |
Released | 2012 |
Hardware | |
Chipset | Nvidia Tegra 3 |
CPU | Quad-core 1.2 GHz Cortex-A9 |
GPU | ULP GeForce |
Display | 800x1280 IPS |
Storage | 8/16/32 GB |
Memory | 1 GB |
Architecture | armhf |
Software | |
Original software | Android 4.1.2 on Linux 3.0 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
- antonok
- pangelo
How to enter flash mode
- Connect a USB cable
- Power the device off
- Hold power + volume down
fastboot
should work when the green android appears on the screen
Installation process
$ git clone https://gitlab.com/postmarketOS/pmbootstrap.git
$ cd pmbootstrap
$ ./pmbootstrap.py init
$ ./pmbootstrap.py install
$ ./pmbootstrap.py flasher flash_kernel
$ ./pmbootstrap.py flasher flash_rootfs
UI options
- Weston: Boots, but also occasionally reboots on its own.
- Hildon: Boots into a black screen. Poking some
/sys/
variables might make the screen flash or turn on, but it remains unusable - XFCE4: Boots into a black screen.
- Mate: Can't flash. This is due to the
.img
file being bigger than the system partition size. - Luna: Can't flash. Same as Mate.
- KDE (Plasma-Mobile): Can't flash. Same as Mate. Which in turn wrecks your device partitions. This has happened even with
flasher flash_rootfs --partition userdata
Development Notes
Kernel
- The port is using the LineageOS kernel found here
- The kernel cannot be compiled on versions of gcc newer than 4.9 without the appropriate patch
- UART debugging through the headphone jack doesn't seem to work - apparently the 2012 version of the Nexus 7 does not have this feature.
- This page includes a list of changes to the Android kernel that are not present in mainline Linux.
- A newer kernel, that should work, can be found here (thanks to Jasper in IRC): https://github.com/Unlegacy-Android
- The default images for android provided by google have the bootloader broken, meaning it can't be flashed. It does not seem to affect the install process of PostmarketOS, but is something to take into account.
Graphics
- CONFIG_VT had to be enabled for graphics to work. In menuconfig this is located under Device Drivers -> Character devices -> Virtual terminal.
/sys/class/graphics/fb0/mode is empty on boot, it must have U:800x1280p-0. This uses the same initfs hook as many other devices.Update: Seems to be correctly set now- xwayland does not work.
- weston with fbdev-backend.so uses pixman-type=3 (PIXMAN_TYPE_ABGR), which now does not require configuration.
- The touchscreen input device is named
elan-touchscreen
.
Wifi
- The wifi chip is the Broadcom 4330.
- This device was once officially supported on Ubuntu, so it has a firmware package in the Ubuntu repositories
- "Desktop" Linux firmware are outdated. Check here for latest one.
- It is possible to manually get wifi working by manually copying fw_bcmdhd.bin and nvram.txt to their kernel-specified locations and configuring
/etc/network/interfaces
. At this point, running/etc/init.d/networking restart
, gave an error about being unable to get a MAC address. After restarting the device to find that wifi Just Worked™, it was possible to successfully scan for wireless networks and establish a connection to secured wireless APs. - There's a proper firmware subpackage now, wifi device should work out-of-the box.
USB networking
I was able to get networking over USB with an RTL8150 ethernet USB adapter by enabling the RTL8150 kernel config and following the network setup guide on the Alpine Linux wiki.Update: Nothing special required anymore. Just boot up and use the DHCP networking process for USB networks
Pending Issues
- pmaports#201: device seems to reboot spontaneously under heavy load (could be a hardware problem though, needs more testing).
- pmbootstrap#1422: The
system
partition is too small to hold rootfs images over 650Mb (e.g. Plasma Mobile is about 1.1Gb). Flashing touserdata
partition fails.
See also
These are other pending issues that are related to this device:
- pmbootstrap#60: Use the system and userdata partition on Android with LVM
- #1199: Unfinished pull request to use "unlegacy's kernel"
Fun Fact
grouper
was the first tablet to run pmOS!