Giter VIP home page Giter VIP logo

wip-pinebook-pro's People

Contributors

aciceri avatar colemickens avatar danielfullmer avatar minibill avatar plabadens avatar samueldr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wip-pinebook-pro's Issues

Installation issues

Thank's for your work here. I've finally started my attempt to get nixos onto the PBP this last weekend, but have been encountering issues that made this a week process for me.

I would rank my experience at midlevel when it comes to nixos, having used it exclusively since last year, but never on any non-x86 devices. Here's the issues I was encountering.

  1. There's a lot of confusion to me when it comes to the boot process with boot order selection. The Image Build section of the readme here readies nixOS on your SD card (build on an x86 desktop), but it most likely wont boot unless the eMMC is disabled or disconnected. I tried updating the eMMC with the PBP official Manjaro with hopes that it contains the right boot order on uboot to try the SD card first, to no avail. Before that I tried a few things with flashing the SPI-NOR with some fixes from the PBP forums with no progress on getting the boot order to check the SD first. The lack of good instructions on the PBP wiki/forums is why I believe I couldn't get this to work. So to fix it, i just flashed the NixOS image from this repo directly onto the eMMC and it worked.

  2. I cloned this repo and imported it into configuration.nix as stated in the readme. I had to disable a lot of things in configuration.nix, like desktops/sway/nonessential program in order to get my core functioning utilities and I had to nixos-rebuild boot instead of a typical switch to get an updated generation. Now it seems I'm having problems compiling the kernel:

  • first of all, I had to add swap space (via USB) or the build would run out of memory pretty soon.

  • I continually get this warning: You are using an unsupported version of LLVM! Currently only 6.0 is supported. We will try though.... I'm not sure what process is using LLVM to compile

  • following that, the PBP kept shutting down at some point in the process. I assume it was overheating so i set jobs as such -j1, set a fan on it, and this increased the process to almost 24 hours, which still resulted in a failed build at the end. And it seems the build can't resume where it left off? This was about the 4th attempt of a build.

  • So I can't compile this kernel on my much faster x86 desktop? I dont completely understand the state of cross compiling with nix. I hear that in nixpkgs it works well but for NixOS it does not. I am wondering if there is a better way to do this than this day process of compiling which ends with failure every time.

I'm mostly looking for any suggestions on what I could do better but wanted to share my experiences with the install process in general.

Thanks!

encrypted nvme

Hi,

did anyone manage to boot from an encrypted nvme drive?
If so could you share your setup?

Trackpad not working after flashing feature/gfx-u-boot

well I can't figure out why the trackpad doesn't work anymore. I tried flashing the keyboard firmware under keyboard-updater and also tried updating it to the latest commit under the source repository. I only post an issue here because as far as I can tell it stopped working after I flashed the latest build to the SPI using feature branch feature/gfx-u-boot. Is it possible this caused something?

I don't know about the trackpad much but have gone through some troubleshooting here and had the same issue to this (and took the same action to work around it.)

I've also of course tried booting manjaro and the default debian images on SD cards and it no longer works there either.

That's why I'm asking here. Flashing the uboot graphical build is the only thing I can't easily verify functionality between builds. Unless I can work backwards with NIXPKGS=nixos-unstable and build on older commits using this repo? Would trackpad issues even come up as a result of uboot builds? I incline to think not.

~S2ram~ Reboot broken, maybe a solution

Hi @samueldr,

I'm also looking into running NixOS on my PBP-ANSI, and I'd like to help fix the S2Ram issue.
It looks like TF-A master contains a fix that claims to fix hangs when resuming from a soft-reset, which may be related to the post-suspend hang. link to the commit: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=b4899041e5f0b8e8b388c6511b5233516b8785ec

Master of TF-A builds with this repo as of last night, but I have not tested the resulting SD image.

Further, I noticed that the TF-A community does not know about this issue, so if that fix is not the final fix, we should capture as much relevant debug information and open an issue with them.

Add libinput quirk for designating the touchpad device as internal

From https://blog.elementary.io/elementary-os-on-pinebook-pro/:

The second tweak is some LibInput configuration at /etc/libinput/local-overrides.quirks. This file tells LibInput that the Pinebook keyboard is “internal”, as it automatically assumes USB keyboards (the Pinebook Pro keyboard is on the USB bus) are external unless it is told otherwise. This has the effect of allowing LibInput to “pair” the keyboard with the trackpad, meaning that when the “disable while typing” setting is enabled for the trackpad, it functions correctly. External keyboards do not disable the trackpad.

We should do the same. AFAICT this hasn't been done (only going off behavior though).

Tries to run tests while crosscompiling

I tried to build the image (master-branch) on a Ubuntu amd64 platform with nix in multi-user-mode, but the build failed with the following error

configure: error: in `/build/mailutils-3.9':
configure: error: cannot run test program while cross compiling
See `config.log' for more details
builder for '/nix/store/y2s9fh7lkg94i73x26zrqv5zadhqcy57-mailutils-3.9-aarch64-unknown-linux-gnu.drv' failed with exit code 1
cannot build derivation '/nix/store/8hsk211rj2zqm37mjgdvls2mpardd6vg-smartmontools-7.1-aarch64-unknown-linux-gnu.drv': 1 dependencies couldn't be built
building '/nix/store/pixb16ypv9k1znfd0vsz5wcl3rprkb2s-unit-dbus.socket.drv'...
cannot build derivation '/nix/store/hkyxyvb7vszqjlzm9xlyjq4c9yr2xvbr-system-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/lgg8zx01m35xqdp4496s9f029vmmn39x-nixos-system-nixos-20.09pre242769.61525137fd1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/q59iympghx7d52zbd61y1ymfgpzv0ia4-ext4-fs.img-aarch64-unknown-linux-gnu.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/y4kxm72vh31vnc25n4d4d2phabgwyhsl-nixos-sd-image-20.09pre242769.61525137fd1-aarch64-linux.img-aarch64-unknown-linux-gnu.drv': 1 dependencies couldn't be built
error: build of '/nix/store/y4kxm72vh31vnc25n4d4d2phabgwyhsl-nixos-sd-image-20.09pre242769.61525137fd1-aarch64-linux.img-aarch64-unknown-linux-gnu.drv' failed

Clarification request for EFI and poweroff

Hello!

I have a few question:

  1. Under EFI and poweroff in the README here you state:

... A workaround exists, and is built in recent Tow-Boot (no prebuilt releases at this time).

       But in the latest release for Tow-Boot, you state:

The suspend patch for the Pinebook Pro has been dropped, as it was mainlined.

       Does this mean I can directly install U-Boot instead?

  1. How would I go about building an installation iso using this? I unfortunately can't use the isos' with u-boot embedded due to this issue here.

Thank you kindly for the help! Sorry; I'm still a little new to NixOS!

OF: graph: no port mode found

I feel a bit guilty about opening this issue, since I believe it's a layer 8 problem and not a bug. Google had nothing on the matter though and in the nixos-aarch64 chat I didn't get any reaction either.

I cloned the repository and added the pinebook_pro.nix into the configuration.nix (right under the import of hardware-configuration.nix). The root partition (btrfs) is encrypted (LUKS) and /boot is unencrypted ext4. The installation went perfectly fine, no errors. But when I try to boot from the eMMC, I get the following error message (and the boot process is halted):

OF: graph: no port node found in /i2c@ff3d0000/fusb30x@22

IMG_5455a

I don't think the problem has to do with my LUKS setup, since it happens very early in the process. But on the other side, the installer SD card (unencrypted obviously) works as expected.

Build fails: Program 'pkg-config' not found

Hi,
as an owner of new Pinebook Pro I attempted to build the image and got error regarding Program 'pkg-config' not found

updateAutotoolsGnuConfigScriptsPhase
Updating Autotools / GNU config script to a newer upstream version: ./build-aux/config.sub
unpacking sources
unpacking source archive /nix/store/yay11908wysnr7lswfgwhww5fqqg4bkj-screen-4.8.0.tar.gz
source root is screen-4.8.0
setting SOURCE_DATE_EPOCH to timestamp 1580934392 of file screen-4.8.0/config.h.in
patching sources
unpacking sources
unpacking source archive /nix/store/5h5j5d5gvskg3bbj4xmqf6hdar0mbl0s-sdparm-1.11.tar.xz
source root is sdparm-1.11
setting SOURCE_DATE_EPOCH to timestamp 1583294619 of file sdparm-1.11/src/sdparm_wscan.c
patching sources
unpacking sources
unpacking source archive /nix/store/2442m2hr4pg0a3rdvvg8lv7j4vfx672c-shishi-1.0.2.tar.gz
unpacking sources
unpacking source archive /nix/store/fm5jxiwpv3w124sdxj6r8h3c2ka68prh-socat-1.7.4.1.tar.bz2
source root is socat-1.7.4.1
setting SOURCE_DATE_EPOCH to timestamp 1610283455 of file socat-1.7.4.1/xioshutdown.c
patching sources
unpacking sources
unpacking source archive /nix/store/n1gwbw1033iqbqaijgvc0l2rm9rl78sx-source
source root is source
installing
unpacking sources
unpacking source archive /nix/store/qz3xm3v88flpwpsa06czmj3jzn01z9bx-texinfo-6.7.tar.xz
unpacking sources
unpacking source archive /nix/store/0mr3jzmbc6ldg9bzmb0pm1iszwk19grx-unzip60.tar.gz
unpacking sources
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs   -MM -MG -MF .guid-symbols.d guid-symbols.c
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs   -MM -MG -MF .lib.d lib.c
configure.in:5: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.
./lib/autoconf/general.m4:2433: AC_DIAGNOSE is expanded from...
aclocal.m4:489: AM_INIT_AUTOMAKE is expanded from...
configure.in:5: the top level
configure.in:6: warning: 'AM_CONFIG_HEADER': this macro is obsolete.
configure.in:6: You should use the 'AC_CONFIG_HEADERS' macro instead.
./lib/autoconf/general.m4:2433: AC_DIAGNOSE is expanded from...
aclocal.m4:823: AM_CONFIG_HEADER is expanded from...
configure.in:6: the top level
configure.in:21: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.in:21: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.in:21: the top level
configure.in:31: warning: The macro `AC_STRUCT_ST_RDEV' is obsolete.
configure.in:31: You should run autoupdate.
./lib/autoconf/types.m4:1038: AC_STRUCT_ST_RDEV is expanded from...
configure.in:31: the top level
configure.in:53: warning: AC_OUTPUT should be used without arguments.
configure.in:53: You should run autoupdate.
unpacking sources
unpacking source archive /nix/store/7jnl8sdra0x0fbcvk1dzylim2814yv1q-usbutils-012.tar.xz
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs   -MM -MG -MF .vars.d vars.c
unpacking source archive /nix/store/4lqkaqg8rjv3bc8flyvin3d32f2ldm66-source
aarch64-unknown-linux-gnu-c++  -O2 -c -o mapbook.o mapbook.cc
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs   -MM -MG -MF .makeguids.d makeguids.c
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs   -MM -MG -MF .efivar.d efivar.c
checking for stdlib.h... yes
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs   -MM -MG -MF .guids.d guids.S
checking the name lister (aarch64-unknown-linux-gnu-nm) interface... BSD nm
checking whether ln -s works... yes
make[2]: Leaving directory '/build/source/src'
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs  -fPIC  -c -o dp.o dp.c
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for aarch64-unknown-linux-gnu-ld option to reload object files... -r
checking for aarch64-unknown-linux-gnu-objdump... aarch64-unknown-linux-gnu-objdump
checking how to recognize dependent libraries... pass_all
checking for aarch64-unknown-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for aarch64-unknown-linux-gnu-ar... aarch64-unknown-linux-gnu-ar
source root is usbutils-012
setting SOURCE_DATE_EPOCH to timestamp 1557239751 of file usbutils-012/usbutils.spdx
patching sources
checking for string.h... yes
source root is unzip60
checking for archiver @FILE support... @
checking for aarch64-unknown-linux-gnu-strip... (cached) aarch64-unknown-linux-gnu-strip
checking for aarch64-unknown-linux-gnu-ranlib... aarch64-unknown-linux-gnu-ranlib
checking for memory.h... yes
setting SOURCE_DATE_EPOCH to timestamp 1240192822 of file unzip60/wince/punzip.rcv
patching sources
aarch64-unknown-linux-gnu-c++  -O2 -c -o fillbook.o fillbook.cc
checking for strings.h... yes
source root is shishi-1.0.2
checking for inttypes.h... yes
checking command to parse aarch64-unknown-linux-gnu-nm output from aarch64-unknown-linux-gnu-gcc object... ok
checking for sysroot... no
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs  -fPIC  -c -o dp-acpi.o dp-acpi.c
checking for a working dd... /nix/store/9fkdn82nzxgkxyax3m9qdh2knj7apaa5-coreutils-8.32/bin/dd
setting SOURCE_DATE_EPOCH to timestamp 1364981459 of file shishi-1.0.2/doc/reference/tmpl/shishi.sgml
patching sources
aarch64-unknown-linux-gnu-c++  -O2 -c -o genbook.o genbook.cc
checking for stdint.h... yes
checking how to truncate binary pipes... /nix/store/9fkdn82nzxgkxyax3m9qdh2knj7apaa5-coreutils-8.32/bin/dd bs=4096 count=1
checking for aarch64-unknown-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for unistd.h... yes
aarch64-unknown-linux-gnu-c++  -O2 -c -o io.o io.cc
checking how to run the C preprocessor... aarch64-unknown-linux-gnu-gcc -E
-- Check size of size_t - done
fixing libtool script ./config/ltmain.sh
applying patch /nix/store/p8b57z1yw3kjx48r28pv2jnr52lybr6l-CVE-2021-26937.patch
configure flags: --disable-static --prefix=/nix/store/kw801gcxlzj6i1wyymh8vvq09c2kb9r1-gpm-1.20.7-aarch64-unknown-linux-gnu --sysconfdir=/etc --localstatedir=/var --with-curses --build=x86_64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu
patching file encoding.c
checking minix/config.h usability... no
-- Check size of unsigned long
checking whether aarch64-unknown-linux-gnu-gcc understands -c and -o together... yes
aarch64-unknown-linux-gnu-gcc -O2  -g3 -I/build/source/src/include/   -specs=/build/source/gcc.specs  -fPIC  -c -o dp-hw.o dp-hw.c
updateAutotoolsGnuConfigScriptsPhase
checking whether aarch64-unknown-linux-gnu-gcc understands -c and -o together... yes
checking dependency style of aarch64-unknown-linux-gnu-gcc... none
checking minix/config.h presence... no
checking for minix/config.h... no
updateAutotoolsGnuConfigScriptsPhase
Found ninja-1.10.2 at /nix/store/qw0i094zdx78qbgbr0r63pbvm9f0hdmi-ninja-1.10.2/bin/ninja
aarch64-unknown-linux-gnu-c++  -O2 -c -o rescuebook.o rescuebook.cc
checking build system type... x86_64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking whether the compiler is clang... no
checking for compiler option needed when checking for declarations... none
checking for aarch64-unknown-linux-gnu-gcc... aarch64-unknown-linux-gnu-gcc
checking whether it is safe to define __EXTENSIONS__... yes
checking what compiler options to use...  -g -O2
Checking for size of "int" : 4
Configuring fribidi-config.h using configuration
checking whether aarch64-unknown-linux-gnu-gcc understands -c and -o together... yes
checking dependency style of aarch64-unknown-linux-gnu-gcc... none
checking for gtar... no
checking for special C compiler options needed for large files... no
checking whether make supports the include directive... yes (GNU style)
checking dependency style of aarch64-unknown-linux-gnu-gcc... none
Program pkg-config found: NO
checking for library containing strerror... none required

meson.build:49:0: ERROR: Program 'pkg-config' not found

A full log can be found at /build/source/build/meson-logs/meson-log.txt
checking for aarch64-unknown-linux-gnu-gcc... (cached) aarch64-unknown-linux-gnu-gcc
error: --- Error --- nix-daemon
builder for '/nix/store/m04n10mmi9qqjaha1sjas0v8ym232ibm-gtk-doc-1.33.2-aarch64-unknown-linux-gnu.drv' failed with exit code 1; last 10 log lines:
  Host machine cpu family: aarch64
  Host machine cpu: aarch64
  Target machine cpu family: aarch64
  Target machine cpu: aarch64
  Program python3 found: YES (/nix/store/m4655mcawz6nskz9hm8cs6p5i83cadsy-python3-3.8.8-aarch64-unknown-linux-gnu/bin/python3)
  Program pkg-config found: NO

  meson.build:49:0: ERROR: Program 'pkg-config' not found

  A full log can be found at /build/source/build/meson-logs/meson-log.txt
error: --- Error --- nix-daemon
1 dependencies of derivation '/nix/store/i89826kivdyvi3rgnskyy91zlp4k7274-glib-2.66.4-aarch64-unknown-linux-gnu.drv' failed to build
error: --- Error --- nix-daemon
1 dependencies of derivation '/nix/store/w76r3rvs55b577dvncvzqax85gfxvrig-shared-mime-info-1.13.1-aarch64-unknown-linux-gnu.drv' failed to build
error: --- Error --- nix-daemon
1 dependencies of derivation '/nix/store/n69y0kxnjq1s0cyp490sg2mdvvi1n1rp-systemd-247.3-aarch64-unknown-linux-gnu.drv' failed to build
error: --- Error --- nix-daemon
1 dependencies of derivation '/nix/store/mglpxqnqzmzn4gns9w3vb5akphsfsc3c-nixos-system-nixos-21.05pre279456.04a2b269d89.drv' failed to build
copying path '/nix/store/4347ldg77m9mpg4n23x3i7cf7hmvivjs-newlib-3.3.0-arm-none-eabi' from 'https://cache.nixos.org'...
error: --- Error --- nix-daemon
1 dependencies of derivation '/nix/store/55pk4nd7sv6izxx06kxr43a5q1522avi-ext4-fs.img-aarch64-unknown-linux-gnu.drv' failed to build
error: --- Error ------------------------------- nix-build
error: --- Error --- nix-daemon
1 dependencies of derivation '/nix/store/7iahxpxk4llh3sp33b45jidr0yc3c91v-nixos-sd-image-21.05pre279456.04a2b269d89-aarch64-linux.img-aarch64-unknown-linux-gnu.drv' failed to build

Audio issues

Do you all have issues with the audio? I haven't gotten any audio out of it yet. It shows the card and shows that it's indeed providing sound from the applications though pulseaudio, but nothing is heard.

Originally posted by @tgunnoe in #11 (comment)

Upstream into nixos-hardware

Not sure how the community can help.

But I think there's not too much "hackiness" in here, and sending this into nixos-hardware is a feasible thing.

For now this is just a TODO item for me. I'll maybe come back to it some day?

Issue booting 5.5 kernel

Hi,

my pinebook arrived yesterday and i could not get it to boot from sd card with
the current state of master.

the UART output works and shows:

U-Boot 2020.01-rc2 (Jan 01 1970 - 00:00:01 +0000)

Model: Pine64 Pinebook Pro
DRAM:  3.9 GiB
PMIC:  RK808 
MMC:   dwmmc@fe320000: 1, sdhci@fe330000: 0
In:    serial@ff1a0000
Out:   serial@ff1a0000
Err:   serial@ff1a0000
Model: Pine64 Pinebook Pro
## Error: Can't overwrite "serial#"
## Error inserting "serial#" variable, errno=1
rockchip_dnl_key_pressed: adc_channel_single_shot fail!
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
933 bytes read in 7 ms (129.9 KiB/s)
1:	NixOS - Default
Retrieving file: /boot/extlinux/../nixos/xf01b0ijcgdipxjpsgvmzclwqia41fhn-initrd-linux-5.5.0-rc7-aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-initrd
8438968 bytes read in 893 ms (9 MiB/s)
Retrieving file: /boot/extlinux/../nixos/njx1rbr2yswrscgj0f9xpwvfcphapmji-linux-5.5.0-rc7-aarch64-unknown-linux-gnu-Image
36368896 bytes read in 3817 ms (9.1 MiB/s)
append: systemConfig=/nix/store/2rw03rlzjc85hp0w71m64xjh2m52dinc-nixos-system-nixos-19.09.2284.bf7c0f0461e init=/nix/store/2rw03rlzjc85hp0w71m64xjh2m52dinc-nixos-system-nixos-19.09f7c0f0461e/init cma=32M console=ttyS2,1500000n8 earlycon=uart8250,mmio32,0xff1a0000 earlyprintk console=tty0 loglevel=7
Retrieving file: /boot/extlinux/../nixos/njx1rbr2yswrscgj0f9xpwvfcphapmji-linux-5.5.0-rc7-aarch64-unknown-linux-gnu-dtbs/rockchip/rk3399-pinebook-pro.dtb
62112 bytes read in 17 ms (3.5 MiB/s)
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to f570e000, end f5f1a4b8 ... OK
ERROR: reserving fdt memory region failed (addr=0 size=0)
   Loading Device Tree to 00000000f56fb000, end 00000000f570d29f ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.5.0-rc7 (nixbld@localhost) (gcc version 8.3.0 (GCC)) #1-NixOS SMP Thu Jan 1 00:00:01 UTC 1970
[    0.000000] Machine model: Pine64 Pinebook Pro
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'drm-logo@00000000': base 0x0000000000000000, size 0 MiB
[    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
[    0.000000] ------------[ cut here ]------------
[    0.000000] kernel BUG at arch/arm64/mm/mmu.c:657!
[    0.000000] Internal error: Oops - BUG: 0 [#1] SMP
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.5.0-rc7 #1-NixOS
[    0.000000] Hardware name: Pine64 Pinebook Pro (DT)
[    0.000000] pstate: 60000085 (nZCv daIf -PAN -UAO)
[    0.000000] pc : paging_init+0x2e8/0x5e0
[    0.000000] lr : paging_init+0x24c/0x5e0
[    0.000000] sp : ffff800012043e60
[    0.000000] x29: ffff800012043e60 x28: 00000000037e0018 
[    0.000000] x27: 00000000f7fc3640 x26: 00000000f7fc3640 
[    0.000000] x25: ffff8000117e0000 x24: ffff80001233cd70 
[    0.000000] x23: ffff80001169c000 x22: 0040000000000793 
[    0.000000] x21: ffff800010080000 x20: ffff8000117d0000 
[    0.000000] x19: fffffdfffe436000 x18: 0000000000000010 
[    0.000000] x17: 0000000000001400 x16: 0000000000001c00 
[    0.000000] x15: ffffffffffffffff x14: ffff8000120498c8 
[    0.000000] x13: ffff800092043b07 x12: ffff800012043b14 
[    0.000000] x11: ffff800012072000 x10: 00000000043c0000 
[    0.000000] x9 : 0000000000000000 x8 : fffffdfffe43a000 
[    0.000000] x7 : 0000000000000000 x6 : 0000000000000000 
[    0.000000] x5 : 0000000000000037 x4 : ffff80001233ce38 
[    0.000000] x3 : ffff800012040000 x2 : ffff800012040000 
[    0.000000] x1 : 0000000000000000 x0 : 006800009800000b 
[    0.000000] Call trace:
[    0.000000]  paging_init+0x2e8/0x5e0
[    0.000000]  setup_arch+0x270/0x63c
[    0.000000]  start_kernel+0x94/0x4a4
[    0.000000] Code: 91000421 cb000021 97ac13be 14000002 (d4210000) 
[    0.000000] random: get_random_bytes called from print_oops_end_marker+0x30/0x58 with crng_init=0
[    0.000000] ---[ end trace 0000000000000000 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---

reverting this commit: bb3b3e0
solves the problem!
the hardware configuration of my pinebook is:
emmc disabled by hardware switch -- UART enabled

i think this patch:
https://github.com/Thra11/nixpkgs-overlays-rk3399/blob/master/patches/0001-Offset-ramdisk-to-accomodate-larger-kernel.patch
could also solve the problem...

Building the image on a system other than NixOS

Hi there,
I was trying to run the nix-build scripts (both iso and SD image) but wasn't sure which system/kernel/version it would run on.

Initially I tried with NixOS running on a raspberry Pi (as I wanted to avoid cross-compilation and the pi was aarch64), however it failed at the kernel patch stage. I saw one of the other issues mention that it had to be a specific version of nix so I thought maybe it was that because the pi has a slightly older version of nix.

Then I tried building from Manjaro running on the pinebookpro by installing nix and using that to build however that also failed.

I'm still very new to nix and not sure if I'm missing something. I can post the errors from each try if it helps, just wanted to check if you knew if it would be possible from these to build from these systems

Thanks!

Update keyboard/touchpad firmware updater to new fork, with new touchpad firmware

We should have a firmware updater for the touchpad like for the keyboard:

From https://forum.pine64.org/showthread.php?tid=14531

I'm feeling happy, excited, and a bit privileged Cool to announce the availability of the new vendor-provided touchpad firmware that fixes the issues we've all been experiencing with the Pinebook Pro touchpad. One of the biggest issues was the initial lag upon finger movement, about which you can read more in this forum thread; it has been confirmed multiple times to be a touchpad issue and not a Linux issue.

Based on the testing already performed by a few community members, myself included, this firmware update makes the touchpad very responsive and there are no traces of the dreaded initial delay. I've also performed tests using the evtest utility, to eliminate any subjectivity, and the measured latency stays around or below 10 ms... The numbers don't lie. Smile You can read more about the evtest results with the old firmware in the above-linked forum thread.

I've prepared an updated version of the keyboard and touchpad firmware update utility, which is available on GitHub. Beside the updated touchpad firmware, my fork of the firmware updater brings other improvements, including improved feedback/status messages, improved handling of command-line arguments, added ability to cancel each update step, and improved documentation.

upstream/mainline kernel works with a one-line patch

  {
      kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
      kernelPatches = [{
        name = "pinebook-disable-dp";

        # https://patchwork.kernel.org/project/linux-rockchip/patch/[email protected]/
        patch = ./pbp-disable-dp.patch;
      }];
  }

patch: https://patchwork.kernel.org/project/linux-rockchip/patch/[email protected]/

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
index 06d48338c836..d624c595c533 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
@@ -380,7 +380,7 @@  mains_charger: dc-charger {
 };
 
 &cdn_dp {
-	status = "okay";
+	status = "disabled";
 };
 
 &cpu_b0 {

Upstream/mainline linux works if you apply that patch. Early display doesn't work. That patch avoids the DP probe failure from preventing the internal display from working.

❯ ssh [email protected] uname -a
Linux pinebook 5.11.2 #1-NixOS SMP Fri Feb 26 09:08:38 UTC 2021 aarch64 GNU/Linux


Kernel with custom patches for USB C alternate mode DP

I managed to build the latest kernel on unstable (5.16.3) with these patches from Manjaro and now I can correctly output the video using an USB Type-C -> HDMI/VGA adapter.

If there was interest I could integrate the derivation here (that explicitly specifies the kernel's src so that it can't stop building if the upstream linuxPackages_latest get updated (I remember having this problem in the past)). Moreover, since building time is not negligible, at least one using this overlay wouldn't have to rebuild the kernel every time he updates the channel/flake inputs.

Maybe I could do that if one import the derivation without specifying anything a pinned kernel's src is used, otherwise he can specify which version he wants to use.

Side issue: it would be cool to have a github action that build the kernel and then push it on a Cachix cache. I already did something like this so I could implement it except that I was never able to cross compile using Github actions, so I don't think that way is viable.
Another solution could be to ask to use nix-community's Hydra servers but I've zero experience with that software.

@samueldr Meanwhile can I proceed with a PR with only the derivation?

Hide invalid USB Keyboard Mouse device

From https://blog.elementary.io/elementary-os-on-pinebook-pro/:

The final tweak at the bottom of /etc/udev/hwdb.d/10-usb-kbd.hwdb disables a device that the keyboard firmware reports as a “keyboard mouse”. We assume that the keyboard firmware has some provision for a Trackpoint-style pointer that doesn’t physically exist on the keyboard, but the firmware still reports it. Having this device enabled resulted in the trackpad being disabled if you enabled the “disable when external mouse connected” option. The phantom “keyboard mouse” device was again assumed to be external, meaning LibInput assumed you had an additional external mouse connected and that you didn’t want the trackpad anymore.

swaymsg -t get_inputs reports this device:
9610:30:HAILUCK_CO.,LTD_USB_KEYBOARD_Mouse

From the sounds of the elementaryOS article, this device is not real/present and should be suppressed with a udev rule.

Fails to boot when installed

Hey, first of all a massive thanks for building this in the first place to all contributors. Don't know if this is the appropriate channel for this but I'll try anyway:
I want to use NixOS on my freshly acquired PBP, so I started out by creating a SPI flash image following the instructions from the feature/gfx-u-boot ee3d667 's FIRMWARE.md. That worked out very nicely, I get an initial screen now with a proper boot menu.

Then I set out to actually install nixos on it. So I booted into an USB image and started the regular install process. I mounted and partitioned the eMMC — based off the understanding that no special aligning for U-Boot or other similarly arcane stuff is needed anymore thanks to the modified version in the SPI. I also set boot.kernelPackages = pkgs.linuxPackages_pinebookpro_lts;, giving me a 5.4.x kernel.
With a fairly minimal configuration (no graphics, for example) I ran nixos-install, which took its time (almost exactly three hours as it needed to compile the kernel). Until then everything seemed pretty much perfect.
However, on reboot I'm faced with a problem: I can either boot from USB and get the screen to turn on, with no apparent pattern to it, about 1/5th of a time — tedious, but doable — or boot from the eMMC (which displays a correct NixOS generation-select menu) and have the kernel softlock after a few messages of fairly inconspicuous output:

[ 2.110697] vcc_sdio: unsupportable voltage range: 3300000-3000000uV
[ 2.745239] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[ 3.066000] rockchip-dp ff970000.edp: no DP phy configured
[ 3.082182] OF: graph: no port node found in /i2c@ff3d0000/fusb30x@22
[ 3.089189] usb 2-1.2: device not accepting address 3, error -71
[68.581337] cdn-dp fec0000.dp: [drm:cdn_dp_pd_event_work [rockchipdrm]] *ERROR* Timed out trying to load firmware

After this, I only get to see a blinking cursor. The kernel still responds to Ctrl-Alt-Delete by rebooting.

Has anyone experienced a similar problem, and even better, has found a solution to it? Am I going at this the wrong way in some form (i.e. using nixos-install, using the eMMC,…)?

NanoPC T4

Wondering if this would work with NanoPC T4. It's got the same RK3399 chip and SD/EMCC storage

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.