Arch Linux running natively on Pixel C

Search This thread

Samt434

Member
Sep 10, 2015
43
126
Hi Guys, i'm there again,

https://www.youtube.com/watch?v=WQMGkCT9yy0&t=6s

On some free time, i could have run Archlinux natively on Pixel C,
Here are my instructions to play a bit with your device in order to have it working on your device too !

First some warnings :
- You have no warrantly it will work on your device, maybe it can break your device
- This is in a prealpha state, reserved for developpers :
- Wifi is not working, you will have to have an OTG adapter and an USB ethernet card in order to be connected
- GPU is not working (so yes the UI is very slow, consequence of the great resolution of the screen)
- DRM drivers of the google kernel are bugged as hell, for example the cursor won't be visible on the screen if you use an USB mouse.
- No sound

Working things :
- boot
- Touchscreen
- Display
- Gnome Desktop (but quite slow due to no harware acceleration)

How to make this work (Developpers only):
- Format your Data partition on your Pixel C in order to disable the default encryption of Data partition.

USE WITH CAUTION !
Code:
fastboot format userdata

- Install a stock kernel on your pixel C that disable forced data encryption, otherwise as soon as you will reboot to android, you will have to format your data partition again ! (you can flash superSu that will modify your stock kernel and will do that for you)
- Download the rootfs here : https://drive.google.com/open?id=0BzWwMqZZvtXSTDhZWTA0RUhrTjg
- Untar the rootfs in your data partition in /data (so that the directories bin,etc... are in /data/Arch). You can use TWRP and a comandline for this (tar -xzpvf Arch.tar.gz )
- Download the kernel here : https://drive.google.com/open?id=0BzWwMqZZvtXScUsyYXBwaXpoRm8

Now enter fastboot mode and run :

Code:
fastboot boot boot_Data.img

if you want to flash it on your boot partition :

DO THIS WITH CAUTION !
Code:
fastboot flash boot boot_Data.img

Your Arch sytem will boot :)

user : alarm
password :alarm

Note that a sshd deamon is running and accessible on the network !

Good luck !

If you're happy of this work and you want to have more detailed instructions please pay me a beer ! Because developing for Pixel C is time consuming
http://paypal.me/MathieuTournier
 
Last edited:

clixer

Member
Mar 5, 2016
16
4
Wow, this is amazing! I'm interested in the modifications to 'stock' Arch you did to achieve this. Is it running a modified recent Arch kernel or what? Great work!
 

H0lmEd

Senior Member
Jan 30, 2015
65
52
Did you compile the kernel yourself? How did you figure out what modules to include? Do you have a (menu)config file you could share?

This is incredible, wondering how hard it is to repeat on other tablets/devices
 

Samt434

Member
Sep 10, 2015
43
126
Did you compile the kernel yourself? How did you figure out what modules to include? Do you have a (menu)config file you could share?

This is incredible, wondering how hard it is to repeat on other tablets/devices

Yes I will share more details soon !
The current state is not usable yet, but I know it's possible to run a mainline kernel on this device (thanks to Nvidia guys ;) ). There is still a lot of work to do and I am very busy too with other projects ;) I hope my work will give ideas to some Linux kernel developpers so that they can help us to have mainline kernel running on Pixel C more quickly.

Not sure the hybris approach can work here as Pixel C is using nouveau and tegra DRM + Nvidia blob for GPU acceleration.

I will share some code soon so that people can contribute.
Pixel C has great hardware, and we are approaching to run something on it that will be able to benefit of all its capabilities.

Beware that I cannot garranty any improvements as I'm doing this on my free time,

Stay stunned !

Samt434
 

sandpox

Senior Member
Aug 7, 2014
171
176
24
www.sandpox.org
If they can get ubuntu running natively I'm in

Well.... I supposed if we run something like Ubuntu's netinstaller initrd http://ports.ubuntu.com/dists/zesty...urrent/images/netboot/ubuntu-installer/arm64/ on boot.img then we can install it and run it natively with some few more manual modification to boot.img, I've done these on raspberry pi and it worked perfectly well

Just as long as you don't delete all the partition, install / to /system
 
Last edited:

Samt434

Member
Sep 10, 2015
43
126
Guys i have some good news about this project,

I could finally boot and run Arch on a mainline kernel (4.9) on the pixel C. (Yeah !)
Unfortunatly, DRM is not initialising correctly yet... so no display yet with the 4.9 kernel...

[ 3.622872] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 3.629493] [drm] No driver support for vblank timestamp query.
[ 3.635453] drm drm: failed to allocate buffer of size 18432000
[ 3.641375] drm drm: failed to set initial configuration: -12

It seems there is still some work to do to initialise the display correctly,
but I think we will have soon Arch with GPU accelerated UI soon :)

Samt434
 

ax0nom

Member
Jan 8, 2011
15
1
Thanks for your efforts and the time you dedicate to this! I've been dreaming with something like this since I decided to buy this tablet! Keep it up!
 

denvit

Member
Jul 5, 2013
45
18
Guys i have some good news about this project,

I could finally boot and run Arch on a mainline kernel (4.9) on the pixel C. (Yeah !)
Unfortunatly, DRM is not initialising correctly yet... so no display yet with the 4.9 kernel...

[ 3.622872] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 3.629493] [drm] No driver support for vblank timestamp query.
[ 3.635453] drm drm: failed to allocate buffer of size 18432000
[ 3.641375] drm drm: failed to set initial configuration: -12

It seems there is still some work to do to initialise the display correctly,
but I think we will have soon Arch with GPU accelerated UI soon :)

Samt434

Can you provide more instructions on how did you compiled the kernel?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 40
    Hi Guys, i'm there again,

    https://www.youtube.com/watch?v=WQMGkCT9yy0&t=6s

    On some free time, i could have run Archlinux natively on Pixel C,
    Here are my instructions to play a bit with your device in order to have it working on your device too !

    First some warnings :
    - You have no warrantly it will work on your device, maybe it can break your device
    - This is in a prealpha state, reserved for developpers :
    - Wifi is not working, you will have to have an OTG adapter and an USB ethernet card in order to be connected
    - GPU is not working (so yes the UI is very slow, consequence of the great resolution of the screen)
    - DRM drivers of the google kernel are bugged as hell, for example the cursor won't be visible on the screen if you use an USB mouse.
    - No sound

    Working things :
    - boot
    - Touchscreen
    - Display
    - Gnome Desktop (but quite slow due to no harware acceleration)

    How to make this work (Developpers only):
    - Format your Data partition on your Pixel C in order to disable the default encryption of Data partition.

    USE WITH CAUTION !
    Code:
    fastboot format userdata

    - Install a stock kernel on your pixel C that disable forced data encryption, otherwise as soon as you will reboot to android, you will have to format your data partition again ! (you can flash superSu that will modify your stock kernel and will do that for you)
    - Download the rootfs here : https://drive.google.com/open?id=0BzWwMqZZvtXSTDhZWTA0RUhrTjg
    - Untar the rootfs in your data partition in /data (so that the directories bin,etc... are in /data/Arch). You can use TWRP and a comandline for this (tar -xzpvf Arch.tar.gz )
    - Download the kernel here : https://drive.google.com/open?id=0BzWwMqZZvtXScUsyYXBwaXpoRm8

    Now enter fastboot mode and run :

    Code:
    fastboot boot boot_Data.img

    if you want to flash it on your boot partition :

    DO THIS WITH CAUTION !
    Code:
    fastboot flash boot boot_Data.img

    Your Arch sytem will boot :)

    user : alarm
    password :alarm

    Note that a sshd deamon is running and accessible on the network !

    Good luck !

    If you're happy of this work and you want to have more detailed instructions please pay me a beer ! Because developing for Pixel C is time consuming
    http://paypal.me/MathieuTournier
    12
    Can you provide more instructions on how did you compiled the kernel?

    Hi everyone,

    I'm still working hard on the project and i hope to release something soon working with a 4.9 kernel (if i can solve one remaining issue with the display screen).
    This will permit us to have wifi working (not tested yet), GPU working :)

    About the way i compile the kernel, sources are here :
    https://github.com/Samt43/linux/tree/smaug

    initramfs is here :
    https://github.com/Samt43/Smaug

    You need to run make image.fit to build the kernel.
    I will post my .config soon (if you think you can help on that project, please PM me, i will send it to you ;) )

    Guys, it's a lot of work to find all these working parameters, i hope someone will find this and will be able to help in order that we have a Pixel C running a linux distro perfectly :)
    If you are a dev and specialized in DRM part of the kernel, please PM me if you want to help, because i have some difficulties with the screen that prevent me to release anything from now.

    Don't hesitate to donate if you are happy of the work done, that motivates me too to finish this :)

    Samt434
    11
    Guys i have some good news about this project,

    I could finally boot and run Arch on a mainline kernel (4.9) on the pixel C. (Yeah !)
    Unfortunatly, DRM is not initialising correctly yet... so no display yet with the 4.9 kernel...

    [ 3.622872] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [ 3.629493] [drm] No driver support for vblank timestamp query.
    [ 3.635453] drm drm: failed to allocate buffer of size 18432000
    [ 3.641375] drm drm: failed to set initial configuration: -12

    It seems there is still some work to do to initialise the display correctly,
    but I think we will have soon Arch with GPU accelerated UI soon :)

    Samt434
    7
    Did you compile the kernel yourself? How did you figure out what modules to include? Do you have a (menu)config file you could share?

    This is incredible, wondering how hard it is to repeat on other tablets/devices

    Yes I will share more details soon !
    The current state is not usable yet, but I know it's possible to run a mainline kernel on this device (thanks to Nvidia guys ;) ). There is still a lot of work to do and I am very busy too with other projects ;) I hope my work will give ideas to some Linux kernel developpers so that they can help us to have mainline kernel running on Pixel C more quickly.

    Not sure the hybris approach can work here as Pixel C is using nouveau and tegra DRM + Nvidia blob for GPU acceleration.

    I will share some code soon so that people can contribute.
    Pixel C has great hardware, and we are approaching to run something on it that will be able to benefit of all its capabilities.

    Beware that I cannot garranty any improvements as I'm doing this on my free time,

    Stay stunned !

    Samt434
    6
    Hi Guys !
    So happy that my project did not die and that some people still have interest on it :)
    That's great ! A lot of progress have been done recently thanks to a lot of people !! (even some nvidia kernel guys)
    And now we are, with 4.15 kernel from Vartom and a recent rootfs we seem to have wifi and GPU (maybe) working on pixel C.
    More infos coming soon !
    About the remaining issues you can go there : https://github.com/denysvitali/linux-on-pixel-c
    We gonna make Pixel C running correctly Arch very soon ! :)