PINE64
Looking to commission a new Chromium build (COMMUNITY BOUNTY) - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=111)
+--- Forum: Chromium OS on Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=118)
+--- Thread: Looking to commission a new Chromium build (COMMUNITY BOUNTY) (/showthread.php?tid=8676)

Pages: 1 2 3 4 5 6 7 8 9


Looking to commission a new Chromium build (COMMUNITY BOUNTY) - tophneal - 01-02-2020

Hey there, fellow Piners!

I know it's not the most popular OS option for the PBP, but I love the simplicity and features available in ChromiumOS. I currently run ayufan's R77 build on my eMMC, and it's awesome, but I'd really like to see a working Crostini, and Android apps, if possible. The initial Chromium images were ready and available by the time most started getting their PBPs, and I imagine could probably benefit from some of the improvements from other kernels, since then.

From what I can tell ayufan is pretty busy with expanding the Linux support for the PBP, so I don't want to bother him with any requests. That man has given this community a lot of software already. I know I've used a lot of his builds across several Pine devices. I've tried to take this on myself as well, but I keep finding build documentation that isn't fully up-to-date and stops my progress, Google has been blocking me from setting up the necessary APIs, and plainly: I have no idea what the hell I'm doing.

This brings me to here and now. I'd like to commission a developer to create a more featured Chromium build for the community. As stated above, I know I really want to see a build with working
  • Crostini
  • Android apps (from what I've read I think Android apps should work if Linux Beta does) This should get easier as CrOS develops and transitions to using ARCVM.
  • the built-in cam (Currently works when using setup/settings to take a profile picture, but nowhere else.)
  • retain suspend functionality (most of the OS options, especially with mainline kernels, seem to have lost this) At this point, I already know we'll have to make sacrifices to maintain S3 sleep. From what I understand it's possible to use up to v5.8 for the kernel with BSP uboot, though.
  • one of the modified u-boots with SD or NVMe boot priority Now the latest mrfixit2001 BSP uboot already includes the traditional and additional boot priorities. Mainline uboot also includes these, in addition to USB IIRC.
If any other users feel I left something off here, please chime in.

I'm more than happy to contribute monetarily to anyone able to take this on, in addition to any testing, and hope that other users who would enjoy this image will too.

EDIT: The money pool can be found here: https://paypal.me/pools/c/8lzjzMkXjw

EDIT2: I just purchased an ANSI model from a user, so when it arrives, I could potentially provide my ISO to any developer that would like to take this on, but doesn't have a PBP.

EDIT 3: Interested in tackling this challenge, but lack the development resources? (CrOS requires a lot of space and X86 to build.) Contact me directly, and we can discuss providing you access to one of my servers.


RE: Looking to commission a new Chromium build - obyknovenius - 01-02-2020

I found Chromium OS running on PBP is the best option for me. As you I want to have Crostini working so bad that I have started my research on how to make it true. Unfortunately I don't have experience in kernel development so it doesn't seem like I'll be there any time soon. If you want we can try to work together on that. By the way I'm also ready to contribute monetarily.


RE: Looking to commission a new Chromium build - tophneal - 01-02-2020

Great! Maybe at the least we can pool resources to make this a reality through someone else. Until then, there's no harm in us trying ourselves. Let's work together and see what we can do!

Concerning the kernel, it seems ayufan's build uses a fork of the kernel by Rockchip for the RK3399, with some patches applied. I wonder if we could do something similar with the kernel used by mrfixit2001's Debian, that is installed from the factory. (It seems to be fully featured enough, we may not even need to patch. I thought about mainline, but decided against it bc suspend.) We should be able to do the same with mrfixit or pcm720's u-boots, though coreboot might work too. I've been spending any free time at work looking for where certain changes would need to be made to make such changes, and I think I've found a lot of them. I think trying a pass at building a an image for the gru board and applying the patches to that might be worth it, too. Gru is also an RK3399, and is the same board used in ayufan's builds.

I'll boot my Mac into the dev environment this weekend, rerun the build instructions, and share the error that I couldn't get past. I'll see if I can build an image from gru after. Maybe we can use that as the base image to patch. How far have you gotten in your efforts so far?

I'm going to try looking around for something that would let us users pool money, and avoid the risk of being perceived as not serious.


RE: Looking to commission a new Chromium build - obyknovenius - 01-03-2020

I started by exploring current build from ayufan. I was hoping that it is possible to fix crostini by enabling some kernel flags in /sys/kernel. From source code I found approximate command and arguments to start a container manually from a terminal . Using journalctl to see logs live I found that kernel can't allocate enough memory for vm. So I decided first try to build vanilla chromium os for generic arm board and then try reproduce build from ayufan before making further steps. But laptop I can use for building had not enough memory (only 8 Gb). I already got 8 more Gb memory. But because my laptop is in the office I can make another try only on Monday. Meanwhile I'm reading book about operation systems to get more theoretical knowledge.


RE: Looking to commission a new Chromium build - tophneal - 01-03-2020

I started by trying to build using chipset-rk3399. What was the flag(s)? I'll have to check journalctl to see if that's what issues mine indicate.

If there's anything you'd like me to try over the weekend, let me know. I chose to use my Mac Pro for building, b/c it's been recently upgraded to 64GB of RAM.


RE: Looking to commission a new Chromium build - obyknovenius - 01-04-2020

From source code of chromium I figured out the command that actually runs to start VM behind the GUI when you install Linux (Beta):
sudo crosvm run \
--cpus 6 \
--mem 3000 \
--socket /run/crosvm.sock \
-r /run/imageloader/cros-termina/12371.22.0/vm_rootfs.img \
/run/imageloader/cros-termina/12371.22.0/vm_kernel

Where mem is the maximum memory vm allowed to use and the value is about 2/3 of all memory the memory. From journalctl output I found that vm cannot be started with the error: cannot allocate memory errno 12.. If you remove this mem option it actually starts!
I tried to enable compact memory flag like here: https://stackoverflow.com/questions/46464785/cannot-allocate-memory-despite-free-reporting-available. I also tried to play with other kernel flags (don't remember already).

Can you use Mac to build chromium? Or you did install Ubuntu on it?


Looking to commission a new Chromium build - tophneal - 01-04-2020

Thanks for sharing!

Supposedly it can, but it triple boots and Ubuntu is an option. My last attempt was on it, since all documentation favors it.

Just tried going through what you posted, since my current install tells me Linux tools are installed, but now I'm learning my /run/imageloader is empty.

going through some similar issues in /r/crostini, and I've just found another oddity that may be getting in the way:

I ran lxc list, and crosh told me UNKNOWN COMMAND: lxc. That certainly doesn't help, can't launch the container without the tools.


RE: Looking to commission a new Chromium build - aaspectre - 01-06-2020

I'd be willing to chip in some on a bounty, if that's what we're doing.


Looking to commission a new Chromium build - tophneal - 01-06-2020

Great! A bounty is pretty much what I had in mind.

If there are any suggestion to how we can safely pool our contributions, please feel free to suggest. So far the best option I've found so far is PayPal money pools.

EDIT: If we have no other suggestions for the pool by the end of this week, I'll go ahead and start one through PayPal, on Friday.


RE: Looking to commission a new Chromium build - tophneal - 01-10-2020

I've started a PayPal pool for us users to contribute to. It can be found here: https://paypal.me/pools/c/8lzjzMkXjw

For privacy, I've set it up so that all contributions should be anonymous, as well as the amounts. I'm going to kick this off by adding $100 $200 USD, and intend to add to it every other week, or more as my pay cycle/budget allows.