Google Nexus 7 2012 (asus-grouper)
- Boot process
- Telnet/SSH over USB
- USB keyboard, mouse
- Wifi (somewhat hacky so far, will improve soon!)
What does not work
Can't boot without reflashing boot (!) Update: Does not seem to be an issue any more
- Full-disk Encrpyion. Use
How to enter flash mode
- Connect a USB cable
- Power the device off
- Hold power + volume down
fastbootshould work when the green android appears on the screen
1 $ git clone https://github.com/postmarketOS/pmbootstrap 2 $ cd pmbootstrap 3 $ ./pmbootstrap.py init 4 $ ./pmbootstrap.py install --no-fde 5 $ ./pmbootstrap.py flasher flash_kernel 6 $ ./pmbootstrap.py flasher flash_rootfs
- 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
.imgfile being bigger than the system partition size. See GitHub issues  and .
- 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
- I am using the LineageOS kernel found here
- The kernel cannot be compiled on versions of gcc newer than 4.9 without the appropriate patch
- I could not get UART debugging through the headphone jack to work - as far as I can tell, and according to a few other sources I found, the 2012 version of the Nexus 7 does not have this feature.
- 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
- 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.
- This page includes a list of changes to the Android kernel that are not present in mainline Linux.
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
- I was able to 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, I ran
/etc/init.d/networking restart, which gave an error about being unable to get a MAC address. I restarted the device to find that wifi Just Worked™, and was able to successfully scan for wireless networks and establish a connection to my secured wireless AP.
- A newer kernel, that should work, can be found here (thanks to Jasper in IRC): https://github.com/Unlegacy-Android
grouper was the first tablet to run pmOS!