Giter VIP home page Giter VIP logo

rock64-nix's Introduction

Status Update: Use nixpkgs instead

Upstream nixpkgs has the required components to run nixos on the rock64. Configuring the bootloader is a manual process, but well documented on the wiki.


NixOS on Rock64

This project is a fairly straightforward port of ayufan's rock64 project to NixOS.

Status

Weekend hobby project. Works for me.

Building

nix-build release.nix -A sdImage

Installation

Dump image to SD card. Insert into rock64. Boot.

The image includes UBoot with "Generic Distro Configuration" support.

Post installation configuration

Use the standard nixos-generate-config command to generate the hardware and filesystem configuration file. In the main configuration file (configuration.nix), include the two modules from this repository's modules/ directory, which adds in the kernel package, and some sensible defaults. In you main configuration.nix, specify your desired kernel. For example:

{ config, lib, pkgs, ... }:
{
  include = [
    ./rock64-nix/modules/rock64-configuration.nix
    ./rock64-nix/modules/packages.nix
  ];

  boot.kernelPackages = pkgs.rock64.linuxPackages_ayufan_4_4;
}

rock64-nix's People

Contributors

cstrahan avatar mic92 avatar thefloweringash avatar

Stargazers

 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

rock64-nix's Issues

Upstreaming kernel in nixpkgs.

I also recently got a rock64 board.
What do you think about upstreaming the kernel in nixpkgs?
We plan to provide official support for aarch64 in nixos starting with the next release.

Unstable boot

Hello!
I built image for Rock64 on Raspberry Pi 3 NixOS. I dumped image on sd card and started it on Rock64.
Then I have problem with boot of device. Sometimes it boot, sometimes - doesn't. Also I had different errors withnixos-rebuild.
Booting log:

DDR version 1.06 20170424
In
LPDDR3
786MHz
Bus Width=32 Col=11 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=4096MB
ddrconfig:7
OUT

U-Boot SPL 2017.09 (Jan 01 1970 - 00:00:01)
setup_ddr_param  1
booted from SD
Trying to boot from MMC2
NOTICE:  BL31: v1.3(release):
NOTICE:  BL31: Built : 00:00:01, Jan  1 1970
NOTICE:  BL31:Rockchip release version: v1.3


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

Model: Pine64 Rock64
DRAM:  4 GiB
MMC:   rksdmmc@ff520000: 0, rksdmmc@ff500000: 1
*** Warning - bad CRC, using default environment

In:    serial@ff130000
Out:   serial@ff130000
Err:   serial@ff130000
Model: Pine64 Rock64
misc_init_r
cpuid=00000000000000000000000000000000
serial=0
Net:   eth0: ethernet@ff540000
Hit any key to stop autoboot:  0
Card did not respond to voltage select!
mmc_init: -95, time 9
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:2...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
866 bytes read in 35 ms (23.4 KiB/s)
------------------------------------------------------------
1:      NixOS - Default
Enter choice: 1:        NixOS - Default
Retrieving file: /boot/extlinux/../nixos/6nsmfr18rsv6f7rdid8hij3jrdnhcby9-initrd-initrd
6689940 bytes read in 871 ms (7.3 MiB/s)
Retrieving file: /boot/extlinux/../nixos/cq80dg5r5b9ab3cdrix3xhczg445haig-linux-4.4.103-ayufan-rock64-Image
18934272 bytes read in 8919 ms (2 MiB/s)
append: systemConfig=/nix/store/wvqa7038lp8yg2aip3glsnqnf6791ky0-nixos-system-nixos-18.09pre56789.gfedcba init=/nix/store/wvqa7038lp8yg2aip3glsnqnf6791ky0-nixos-system-nixos-18.09pre56789.gfedcba/init earlycon=uart8250,mmio32,0xff130000 coherent_pool=1M ethaddr=86:e0:c0:ea:fa:a9 eth1addr=86:e0:c0:ea:fa:c9 serial=0 console=tty1 loglevel=4
Retrieving file: /boot/extlinux/../nixos/cq80dg5r5b9ab3cdrix3xhczg445haig-linux-4.4.103-ayufan-rock64-dtbs/rockchip/rk3328-rock64.dtb
44132 bytes read in 115 ms (374 KiB/s)
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to fc8a0000, end fcf01494 ... OK
   Loading Device Tree to 00000000fc892000, end 00000000fc89fc63 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.103 (nixbld1@nixos) (gcc version 7.3.0 (GCC) ) #2 SMP Thu Aug 9 03:01:03 UTC 2018
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] earlycon: Early serial console at MMIO32 0xff130000 (options '')
[    0.000000] bootconsole [uart0] enabled
<hit enter to activate fiq debugger>
[    0.220814] genirq: Setting trigger mode 8 for irq 177 failed (gic_set_type+0x0/0x64)
[    0.525227] dmi: Firmware registration failed.
[    1.246690] rockchip_mpp_vepu_reset_init:143: No aclk reset resource define
[    1.247328] rockchip_mpp_vepu_reset_init:148: No hclk reset resource define
[    1.258835] rockchip-vop ff370000.vop: invalid resource
[    1.259346] rockchip-vop ff370000.vop: invalid resource
[    1.260519] i2c i2c-4: of_i2c: modalias failure on /hdmi@ff3c0000/ports
[    1.410060] rk_gmac-dwmac ff550000.ethernet: Can not read property: tx_delay.
[    1.411011] rk_gmac-dwmac ff550000.ethernet: set tx_delay to 0x30
[    1.411808] rk_gmac-dwmac ff550000.ethernet: Can not read property: rx_delay.
[    1.412734] rk_gmac-dwmac ff550000.ethernet: set rx_delay to 0x10
[    1.413828] rk_gmac-dwmac ff550000.ethernet: cannot get clock clk_mac_refout
[    1.792169] gpiochip_find_base: cannot find free range
[    1.792881] gpiochip_add: GPIOs -1..0 (rk8xx-gpio) failed to register
[    1.793726] rk8xx-gpio rk8xx-gpio: register rk8xx gpiochip fail: -28
[    2.186467] rockchip-pm-domain ff100000.syscon:power-controller: failed to get ack on domain 'pd_video', val=0x0
[    2.197586] rockchip-pm-domain ff100000.syscon:power-controller: failed to get ack on domain 'pd_vpu', val=0x0
[    2.299903] devfreq ff300000.gpu: Couldn't update frequency transition information.

Sometimes it stops on devfreq ff300000.gpu: Couldn't update frequency transition information.. If it doesn't stop:

[   18.250549] cgroup: cgroup2: unknown option "nsdelegate"
<<< Welcome to NixOS 18.09pre56789.gfedcba (aarch64) - ttyFIQ0 >>>
The "root" account has an empty password.  
Run `nixos-help` or press <Alt-F8> for the NixOS manual.
nixos login: root (automatic login)
[root@nixos:~]# 

When I dump image on eMMC, I have errors below:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.103 (nixbld1@nixos) (gcc version 7.3.0 (GCC) ) #2 SMP Thu Aug 9 03:01:03 UTC 2018
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] earlycon: Early serial console at MMIO32 0xff130000 (options '')
[    0.000000] bootconsole [uart0] enabled
<hit enter to activate fiq debugger>
[    0.220816] genirq: Setting trigger mode 8 for irq 177 failed (gic_set_type+0x0/0x64)
[    0.525239] dmi: Firmware registration failed.
[    1.247042] rockchip_mpp_vepu_reset_init:143: No aclk reset resource define
[    1.247708] rockchip_mpp_vepu_reset_init:148: No hclk reset resource define
[    1.259209] rockchip-vop ff370000.vop: invalid resource
[    1.259758] rockchip-vop ff370000.vop: invalid resource
[    1.260898] i2c i2c-4: of_i2c: modalias failure on /hdmi@ff3c0000/ports
[    1.411100] rk_gmac-dwmac ff550000.ethernet: Can not read property: tx_delay.
[    1.412064] rk_gmac-dwmac ff550000.ethernet: set tx_delay to 0x30
[    1.412862] rk_gmac-dwmac ff550000.ethernet: Can not read property: rx_delay.
[    1.413790] rk_gmac-dwmac ff550000.ethernet: set rx_delay to 0x10
[    1.414881] rk_gmac-dwmac ff550000.ethernet: cannot get clock clk_mac_refout
[    1.793516] gpiochip_find_base: cannot find free range
[    1.794199] gpiochip_add: GPIOs -1..0 (rk8xx-gpio) failed to register
[    1.795048] rk8xx-gpio rk8xx-gpio: register rk8xx gpiochip fail: -28
[    2.197509] rockchip-pm-domain ff100000.syscon:power-controller: failed to get ack on domain 'pd_video', val=0x0
[    2.208623] rockchip-pm-domain ff100000.syscon:power-controller: failed to get ack on domain 'pd_vpu', val=0x0
[    2.310919] devfreq ff300000.gpu: Couldn't update frequency transition information.
[    2.736481] mmcblk0: error -110 transferring data, sector 64, nr 56, cmd response 0x900, card status 0xb00
[    2.771835] blk_update_request: I/O error, dev mmcblk0boot0, sector 8064
[    3.984575] mmcblk0: error -110 transferring data, sector 1756952, nr 256, cmd response 0x900, card status 0xb00
[    4.250574] mmcblk0: error -110 transferring data, sector 1758856, nr 256, cmd response 0x900, card status 0xb00
[    4.526571] mmcblk0: error -110 transferring data, sector 1759112, nr 160, cmd response 0x900, card status 0xb00
[    5.427570] mmcblk0: error -110 transferring data, sector 29712, nr 16, cmd response 0x900, card status 0xb00
[    6.527588] mmcblk0: error -110 transferring data, sector 1802824, nr 184, cmd response 0x900, card status 0xb00
[    6.913457] mmcblk0: error -110 transferring data, sector 2324408, nr 256, cmd response 0x900, card status 0xb00
[    7.006695] blk_update_request: I/O error, dev mmcblk0rpmb, sector 0
[    7.175596] mmcblk0: error -110 transferring data, sector 1571120, nr 232, cmd response 0x900, card status 0xb00
[    7.291948] blk_update_request: I/O error, dev mmcblk0rpmb, sector 0
[    7.306059] blk_update_request: I/O error, dev mmcblk0rpmb, sector 0
[    7.611579] mmcblk0: error -110 transferring data, sector 186552, nr 192, cmd response 0x900, card status 0xb00
[    8.641603] mmcblk0: error -110 transferring data, sector 1471480, nr 256, cmd response 0x900, card status 0xb00
[    9.486589] mmcblk0: error -110 transferring data, sector 97664, nr 256, cmd response 0x900, card status 0xb00
[   10.014553] mmcblk0: error -110 transferring data, sector 86024, nr 112, cmd response 0x900, card status 0x0
[   10.453447] mmcblk0: error -110 transferring data, sector 2454984, nr 88, cmd response 0x900, card status 0xb00
[   10.726579] mmcblk0: error -110 transferring data, sector 2626992, nr 256, cmd response 0x900, card status 0xb00
[   10.992574] mmcblk0: error -110 transferring data, sector 2631088, nr 256, cmd response 0x900, card status 0xb00
[   11.125782] cgroup: cgroup2: unknown option "nsdelegate"
[   11.349539] mmcblk0: error -110 sending status command, retrying
[   11.365048] mmcblk0: error -110 transferring data, sector 2628768, nr 184, cmd response 0x900, card status 0xb00
[   11.664463] mmcblk0: error -110 sending status command, retrying
[   11.671330] mmcblk0: error -110 transferring data, sector 1047912, nr 256, cmd response 0x900, card status 0xb00
[   11.800121] systemd-gpt-auto-generator[575]: Failed to dissect: Input/output error
[   11.813319] systemd[571]: /nix/store/z7hj2mx7n4j6vpzqssr4bsc6anxdi58x-systemd-237/lib/systemd/system-generators/systemd-gpt-auto-generator failed with exit status 1.
[   12.371497] mmcblk0: error -110 transferring data, sector 2604168, nr 224, cmd response 0x900, card status 0xb00
[   12.625485] mmcblk0: error -110 transferring data, sector 2624496, nr 200, cmd response 0x900, card status 0xb00
[   12.922513] mmcblk0: error -110 transferring data, sector 622672, nr 208, cmd response 0x900, card status 0xb00
[   13.171582] mmcblk0: error -110 transferring data, sector 2620648, nr 32, cmd response 0x900, card status 0xb00
[   13.378530] mmcblk0: error -110 transferring data, sector 655824, nr 256, cmd response 0x900, card status 0xb00
[   13.679596] mmcblk0: error -110 transferring data, sector 1811560, nr 168, cmd response 0x900, card status 0xb00
[   13.965583] mmcblk0: error -110 transferring data, sector 1153608, nr 16, cmd response 0x900, card status 0xb00

What is wrong? What is yours method of building image?

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.