-
-
Notifications
You must be signed in to change notification settings - Fork 167
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
[WIP] pine64-pinephonepro: Init #445
Conversation
hardware.socs.rockchip-rk3399s.enable = mkOption { | ||
type = types.bool; | ||
default = false; | ||
description = "enable when SOC is RK3399"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
description = "enable when SOC is RK3399"; | |
description = "enable when SOC is RK3399s"; |
RD_GZIP = yes; | ||
RD_XZ = yes; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move this change (and related normalization) into a new PR.
I believe that
in these instructions should be
(there's a |
The system type's outputs are copied into the main mobile-nixos/lib/eval-with-configuration.nix Lines 48 to 49 in 796040d
So while you're right that the attribute exists under the |
22891f1
to
b5b115f
Compare
Thank you @wentam for some of the changes. Rebased, dropped needless changes from the history. Still WIP. |
Perhaps we should run this patch as well? I've been running that patch for a couple of days and it makes the charging situation much better. |
Probably! |
Two changes:
What's that about I assume the goal is that, with blinders on, you'll see it makes sense to defer changing the display mode until needed as it prevents needless flickers during boot, e.g. your normal UEFI x86_64 laptop will continue showing its splash until some userspace component draws to the display. Here this is not ideal since there is no display init done by the platform firmware. Having some sort of feedback early on that things are happening is good. Though even if we had feedback from the platform firmware, I would argue that being able to control this behaviour would be beneficial here as we would want to show it ASAP to actually show "yes the kernel is booting"; otherwise if it crashes really early it will look like the platform firmware is hanging, when in reality it's happening somewhere between kernel init and userspace init. This is probably a change that we want to investigate into applying overall to all platforms. |
Config is the defconfig from mobian, arbitrarily changed.
This is based on the pinebook pro firmware package. Unknown of this is all of the required firmware, and if there's too much.
This is used to force the type-c direction.
And change origin to the now decided location of the community maintained kernel.
See https://gitlab.com/pine64-org/linux/-/merge_requests/36 TLDR: chip too hot, designed to run cooler slower.
This serves more to prove to me that it actually should be working. What needs to actually be done is figure out *what* is preventing the logo from showing. Note that this is not a Pinephone Pro issue, nor is it an RK3399 issue, nor is it an ARM issue. This workaround had been authored for an x86_64 system initially.
8c15783
to
e8ffe9b
Compare
@wentam It's good to hear that that MR improves things. Consider leaving a comment on that MR with your experiences, to allow a reviewer to have confidence in the change. |
TODO
Outdated instructions...
Quick install guide
This will overwrite anything on the target eMMC and SD cards.
This will use the temporary installer script, here's the command to build the "hello" example system.
dd
)dd
)Once the script is done, you can reboot the device by holding the power button. You don't need to hold any of the volume keys to continue booting in the Mobile NixOS system.
Updating the boot partition
Simple!
dd
) the boot partition to what should be the fourth partition in a "normal" setup.NAQ (never asked questions)
Why's this so damned hard?
Actually this is not much harder than "just" using
dd
to write an SD card with, let's say, Target Disk Mode, and then "just" usingdd
to write to the eMMC now attached via USB.The main added weirdness is managing the platform firmware separately.
This is done to better exercise planning for a better NixOS on ARM. If it can work on "complex" devices like a phone, surely it'll be trivial on a "boring" SBC!
Additionally, some of the steps outlined here are universal for any distribution that will not distribute the platform firmware bundled into their system images.
Finally, this is a temporary measure.
The permanent solution will be an installer system. The user will write Tow-Boot to the eMMC, and boot from a universal SD card that holds an installer system that will guide the user through some questions about partitioning (e.g. ask about FDE and filesystems), the preferred graphical environment, and then do a "classic" opinionated
nixos-install
under the covers.