Jump to content

Google Nexus 7 2012 (asus-grouper): Difference between revisions

From postmarketOS Wiki
Okias (talk | contribs)
update
Okias (talk | contribs)
Line 64: Line 64:
==== Kernel ====
==== Kernel ====


* The port is using the LineageOS kernel found [https://github.com/LineageOS/android_kernel_asus_grouper here]
* [https://wiki.ubuntu.com/Nexus7/Kernel This page] includes a list of changes to the Android kernel that are not present in mainline Linux. Many of them are probably currently mainlined.
* The kernel cannot be compiled on versions of gcc newer than 4.9 without the appropriate patch
* LineageOS kernel can be found [https://github.com/LineageOS/android_kernel_asus_grouper here] (currently used and compiled with gcc 6.1, with few patches a top).
* A newer kernel, can be found here: https://github.com/Unlegacy-Android
* Up-to-date [https://github.com/grate-driver/linux kernel], where tegra development ongoing.
* UART debugging through the headphone jack doesn't seem to work - apparently the 2012 version of the Nexus 7 does not have this feature.
* UART debugging through the headphone jack doesn't seem to work - apparently the 2012 version of the Nexus 7 does not have this feature.
* [https://wiki.ubuntu.com/Nexus7/Kernel 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.
* 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.



Revision as of 22:57, 22 November 2019

Warning 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.
Google (ASUS) Nexus 7 (2012)
Galaxy Nexus 7
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
Features
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. (old data, maybe it works now?)
  • Phoc: Purism Librem 5 compositor and GNOME based environment. Flashed, won't boot into lightdm, until we'll switch to newer kernel with Tegra-DRM drivers. SSH is working.

Every UI option which is bigger than 650 MB cannot be flashed by fastboot (pmbootstrap flasher flash_rootfs) into SYSTEM (650M size) neigher USERDATA (enough space, but upload fails from unknown reason). In that case, it's best to manually upload image over adb into storage and then dd into userdata partition or use SD card.

Development Notes

Kernel

  • This page includes a list of changes to the Android kernel that are not present in mainline Linux. Many of them are probably currently mainlined.
  • LineageOS kernel can be found here (currently used and compiled with gcc 6.1, with few patches a top).
  • A newer kernel, can be found here: https://github.com/Unlegacy-Android
  • Up-to-date kernel, where tegra development ongoing.
  • UART debugging through the headphone jack doesn't seem to work - apparently the 2012 version of the Nexus 7 does not have this feature.
  • 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

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 to userdata 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!