Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

device: add pine64-pinephone-braveheart #96

Merged
merged 12 commits into from Mar 28, 2020

Conversation

samueldr
Copy link
Member

Building on-top of the u-boot work of #53 and #94, here's the final u-boot system type setup for the PinePhone.

With this PR, the PinePhone boots.

image

This is currently a bit over feature parity with other devices. This can use the same system.img as other devices.

Status

  • Mobile NixOS stage-1 works.
  • Wi-Fi works.
  • Touch/Display works.
  • Cellular modem work is upcoming.
  • Anything else currently untested.

Closes #53 as it's not representative of the final PinePhone setup.

@samueldr samueldr added the 4. type: port New device port label Mar 12, 2020
@samueldr samueldr force-pushed the device/pine64-pinephone-braveheart branch 2 times, most recently from bc7892a to d910e94 Compare March 20, 2020 00:29
@samueldr samueldr force-pushed the device/pine64-pinephone-braveheart branch from d910e94 to 8f40518 Compare March 28, 2020 01:34
@samueldr samueldr force-pushed the device/pine64-pinephone-braveheart branch from 8f40518 to a67eb6f Compare March 28, 2020 06:08
@samueldr
Copy link
Member Author

With the last few changes, mainly dealing with setting the LED automatically during boot, I believe this is ready for merging.

The LED will go from red, to yellow, to green, depending on the current step during boot.

  • Red as early as possible in u-boot
  • Yellow early during boot.scr
  • Green whenever the kernel handles the LEDs.

This may help in figuring out where it hangs in early boot, but more importantly, gives immediate feedback when powering on, rather than with a dead display, and dead LED up until the kernel does what a kernel does.

@samueldr samueldr force-pushed the device/pine64-pinephone-braveheart branch from b127726 to e026485 Compare March 28, 2020 20:40
@samueldr samueldr merged commit dad8916 into NixOS:master Mar 28, 2020
@samueldr samueldr deleted the device/pine64-pinephone-braveheart branch March 28, 2020 23:33
@IreneKnapp
Copy link

🎉

@knedlsepp
Copy link
Member

knedlsepp commented Mar 29, 2020

Flashed the following image: https://hydra.nixos.org/build/115644934#tabs-details
Screen keeps showing "Mobile NixOS". I tried logging in via the serial connection, but I couldn't figure out a valid user/password combination.
Is this expected?

@samueldr
Copy link
Member Author

Yes, I have a task to document that "problem".

What is happening is that you have an unconfigured system. The Mobile NixOS default configuration cannot pre-configure anything, or else you would step on the end-users' toes! So this build there has a useless unconfigured minimal system, pretty much like you would if you used an empty configuration.nix.

This is not a pinephone-specific issue, the same exact situation holds true for all devices.

I'm about to add the examples/demo rootfs system to release.nix, which will be built by Hydra, which will give a better stepping stone to a useful system for end-users. You, too, can build that rootfs, and dd it on top of the second partition of the storage. Though you need an aarch64-linux system to make a native build, it won't work using cross-compilation.

Briefly: Yes it's expected. :)

@knedlsepp
Copy link
Member

knedlsepp commented Mar 29, 2020

Thanks for the answer! In the meantime I read through your README and figured that the local.nix was what I needed. I'm a bit surprised however that my Raspberry Pi is compiling the linux kernel for a good two hours now, instead of fetching it from cache.nixos.org. I'm pretty sure I'm on the same nixos-unstable and mobile-nixos commits as the mobile-nixos evaluation that I downloaded the image from. local.nix
A minimal image with some networking capability will certainly be quite helpful to remove the need to setup your own aarch64 builder. :-)
Thanks again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants