Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

This forum is for supported devices using an ARMv7 nVidia SoC.

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby haagch » Wed Jan 11, 2017 12:33 pm

I don't know if it would help, and without having a closer look a the system there is not much more that I can say here.

Yes, it sucks with having no bootmanager. I just only set a low number of retries and never make it the default, so if something breaks, I can always just reboot a couple of times before it switches to chromeos by default.

Is there a boot manager with a menu that works on ARM devices like this? Maybe something that is just a minimal linux installation that can chainload the real system?

I rebased the renderonly branch on mesa master and reverted that one problematic commit:
https://github.com/ChristophHaag/mesa-m ... renderonly
So you can use git+https://github.com/ChristophHaag/me ... renderonly for source() if you want. This means you don't need to load tegra before nouveau anymore, because there is only one from nouveau /dev/dri/renderD128 anyway and there are no permission issues.
haagch
 
Posts: 50
Joined: Thu Apr 02, 2015 5:36 pm

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby haagch » Fri Jan 13, 2017 7:03 pm

Now xorg 1.19 is in extra and the renderonly mesa doesn't work with it anymore. Downgrade to 1.18 if you want to use it.
haagch
 
Posts: 50
Joined: Thu Apr 02, 2015 5:36 pm

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby vman » Sat Jan 14, 2017 12:23 pm

@raumzeit: Thank you for your detailed installation instructions, including the various scripts - danke schön!

In fact I'm using the chromebook with Arch installed according to your instructions almost every day, at least for a few minutes of e-mailing. I don't mind using XFCE, even though I'd like to give KDE a try on this.

My only real trouble is: scrolling in Firefox is appallingly slow (and Chromium often crashes). Video playback is not very smooth either (especially compared to Chrome OS). But I can live with it for now... and I hope I'll read of progress here in this forum!

As I wrote before I'm new to Arch also. Aside from the bootmanager (which is not an Arch issue) I'm missing Debian's way of having various Linux kernel versions installed side by side. Sure, I can now have a backup kernel in another boot partition, but what about the modules and everything? If every kernel package comes with /boot/vmlinux.kpart I can really only have one kernel package installed at a time.
vman
 
Posts: 9
Joined: Sat Oct 15, 2016 6:00 pm

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby raumzeit » Sat Jan 21, 2017 11:38 am

vman wrote:My only real trouble is: scrolling in Firefox is appallingly slow (and Chromium often crashes). Video playback is not very smooth either (especially compared to Chrome OS). But I can live with it for now... and I hope I'll read of progress here in this forum!

I still use chromium since in my experience, Firefox is extremely slow anyway, even on x86 platforms. However, I've put chromium into the ignore-update list for pacman and am still using version 52 which does not cause any trouble (at least for me). Regarding video playback, I don't experience any severe smoothness-problems at all. Sometimes, a single frame would not render correctly (for about a second), but I haven't spend any effort in investigating whether this is some issue with my NFS setup, the WIFI driver of my chromebook, or anything else. Apart from that, I use my Acer Chromebook for video playback a lot and for me it looks very smooth. But I haven't compared it to ChromeOS yet which I usually avoid using so far. Anyway, are you sure that your user account is in the video group and all the permissions to the video devices are set correctly?

vman wrote:As I wrote before I'm new to Arch also. Aside from the bootmanager (which is not an Arch issue) I'm missing Debian's way of having various Linux kernel versions installed side by side. Sure, I can now have a backup kernel in another boot partition, but what about the modules and everything? If every kernel package comes with /boot/vmlinux.kpart I can really only have one kernel package installed at a time.

I think this has nothing to do with debian vs. arch vs. whatever The problem here is that ARM devices require a totally different boot system compared to x86 boards. The bootloader in most ARM devices, in particular ARM Chromebooks, is u-boot or coreboot. The Acer CB5-311 for instance uses coreboot. From what I understand, but correct me if I'm wrong, coreboot loads a so-called payload which is the kernel image in question. There is no way of interacting with coreboot in the early boot process to advise it loading something else except flashing a different kernel. Even though there might be several backup kernel partitions in the partition layout of a Chromebook, one is still stuck to a single payload without having any possibility to actually choose one after switching on the device.
Acer CB5-311, Asus Flip, Tinker Board, Samsung ARM Chromebook, NSA 325, ix4-300d, WandBoard Quad, Raspberry Pi B, BeagleBoard ...and a dead Pandaboard :sad:
raumzeit
 
Posts: 72
Joined: Mon Oct 17, 2011 8:37 pm
Location: Vienna AT

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby mrala » Thu Feb 16, 2017 9:00 pm

Hello, congratulations for your great effort! I got one.
How can I help so the device be added on the website (https://archlinuxarm.org/platforms/armv7) ?
Like this: https://archlinuxarm.org/platforms/armv ... romebook-2
or this: https://archlinuxarm.org/platforms/armv ... flip-c100p
Can you guide me to noob-friendly instructions of booting mainline kernel from USB/SD ?
Note: I don't need 3D, XFCE up and running on top of 4+ kernel is what I want for now.
Thank you,
mrala
 
Posts: 17
Joined: Thu Feb 16, 2017 7:30 pm

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby haagch » Fri Feb 17, 2017 4:56 pm

By the way I made a thread about LPAE for the archlinuxarm mainline kernels but haven't gotten any replies yet: viewtopic.php?f=23&t=11227
haagch
 
Posts: 50
Joined: Thu Apr 02, 2015 5:36 pm

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby mrala » Tue Feb 21, 2017 9:52 pm

Please , good people help me!

Why there is linux-peach and linux-veyron but no linux-nyan or linux-tegra when this is the best armv7 device
4gb Ram , 32gb emmc , hd 1080p screen.
https://github.com/archlinuxarm/PKGBUIL ... aster/core

Please , please help me boot 4+ kernel off USB or SD card.
Thank you.
mrala
 
Posts: 17
Joined: Thu Feb 16, 2017 7:30 pm

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby raumzeit » Wed Feb 22, 2017 10:21 pm

mrala wrote:Why there is linux-peach and linux-veyron but no linux-nyan or linux-tegra when this is the best armv7 device
4gb Ram , 32gb emmc , hd 1080p screen.

Please , please help me boot 4+ kernel off USB or SD card.

If you look closely, these kernel packages are not at all 4+
In case you want full Tegra GPU support using NVidias binary blob drivers, install my linux-nyan kernel and gpu-nvidia-tegra-k1:

https://github.com/RaumZeit/PKGBUILDs/t ... linux-nyan
https://github.com/RaumZeit/PKGBUILDs/t ... a-tegra-k1

However, you need to downgrade Xorg to some version prior to 1.8 due to ABI dependencies. (I think this is why my pull request on github was never merged)

You may also have a look into my ArchLinux ARM install script https://github.com/RaumZeit/LinuxOnAcer ... chlinux.sh to locate precompiled packages of the required dependencies.

If you need to go with kernel 4+ there seems to be no alternative other than nouveau driver. Maybe someone who already tested this setup can point you into the right direction. Until then, I suggest you have a look at the numerous threads on this topic...
Acer CB5-311, Asus Flip, Tinker Board, Samsung ARM Chromebook, NSA 325, ix4-300d, WandBoard Quad, Raspberry Pi B, BeagleBoard ...and a dead Pandaboard :sad:
raumzeit
 
Posts: 72
Joined: Mon Oct 17, 2011 8:37 pm
Location: Vienna AT

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby mrala » Thu Feb 23, 2017 8:27 am

Thank you.
I know that the Chrome kernels are 3.8, 3.10 or 3.14
Do you think that the Rockchip/Exynos Mali blobs work with the latest Xorg ?
Why are only the two Tegra Chromebooks not merged ?

I want to run mainline (4+) kernel from USB or SD.
In this threats people obviously run 4.5, 4.8, 4.9.
viewtopic.php?f=49&t=9688
viewtopic.php?f=23&t=11227

But they don't share how they did it. I spend a lot of time searching for solution.
If you can show me just one place - I will appriciate A LOT.

I'll try to use this instructions:
https://archlinuxarm.org/platforms/armv ... flip-c100p
https://archlinuxarm.org/platforms/armv ... romebook-2

But what should I use:
ArchLinuxARM-armv7-chromebook-latest.tar.gz
ArchLinuxARM-armv7-latest.tar.gz
What is the difference ?

Do I need some firmware/DTB ?

I don't need GPU ! Have you ever booted mainline from USB/SD ?
Regards.
mrala
 
Posts: 17
Joined: Thu Feb 16, 2017 7:30 pm

Re: Mainline Kernel on Tegra K1 (Acer Chromebook 13 CB5-311)

Postby haagch » Thu Feb 23, 2017 4:38 pm

The installation instructions on archlinuxarm.org only work for devices where archlinuxarm has prepared an installation that specifically works for the device in question. When you get e.g. to the step
Code: Select all
wget http://os.archlinuxarm.org/os/ArchLinuxARM-peach-latest.tar.gz

you're out of luck because I don't think archlinuxarm hosts an image that works on nyan.
Well, the image you found http://os.mirror.archlinuxarm.org/os/Ar ... est.tar.gz possibly works but I'd only try that if you really know what you're doing.


There are two installation options:
The easier and safer option is probably to install an image to an SD Card and boot from it with ctrl+u, but I don't know how to do that because I haven't researched it.

The other option is to shrink the data partition of the chromeos installation and create two new partitions for archlinuxarm, one with the kernel for booting, and one for the rest of the system.

Either way I'm pretty sure you have to disable dev_boot_signed only.
For that you have to enable the chromeos developer mode: https://www.howtogeek.com/210817/how-to ... hromebook/
And then in a root shell you run crossystem dev_boot_usb=1 dev_boot_signed_only=0
That's also in the archlinuxarm instructions for other chromebooks.

For the installation on internal flash you download the LinuxOnAcerCB5-311 archlinux.sh and boot_archlinux.sh script and run them as root and hope that nothing goes wrong.
When I installed it on my chromebook I edited the archlinux.sh script a little: https://github.com/ChristophHaag/LinuxOnAcerCB5-311

This script resembles more a normal "manual" archlinux installation - it creates partitions, creates filesystems, installs some base image and then uses pacman to directly install packages.

As you can see in my first commit, the first thing I did was to throw out the installation of all the proprietary nvidia crap and ancient kernel: https://github.com/ChristophHaag/LinuxO ... 376bf8c7e2

In the latest version I settled on
Code: Select all
pacman -Syy --needed --noconfirm linux-armv7 linux-armv7-chromebook

but archlinux arm has newer rc versions, so you could change it to
Code: Select all
pacman -Syy --needed --noconfirm linux-armv7-rc linux-armv7-rc-chromebook

before running it.

I have to admit that I put the final version of the script together after I installed everything, so it's not exactly tested.

All in all the script is not very hard to read if you ignore a little bit of magic happening in there and I would highly recommend to read it and read the help/manpages of some tools you probably never heard of like cgpt. Then it gets a lot clearer what the installation procedure does.

Why there is linux-peach and linux-veyron but no linux-nyan or linux-tegra

That's really the point of linux mainline support: That you don't need specific kernel forks for specific devices, but that you have all devices supported by just one kernel build.
In this case this is the linux-armv7 or linux-armv7-rc package that works for all devices that are well supported by mainline linux. The other packages like linux-peach only exist because a standard kernel build does not work out of the box for these other devices and they need specific settings or code that is not in linux mainline.
haagch
 
Posts: 50
Joined: Thu Apr 02, 2015 5:36 pm

PreviousNext

Return to nVidia

Who is online

Users browsing this forum: No registered users and 1 guest