GithubHelp home page GithubHelp logo

nixos-sbc's People

Contributors

nakato avatar steveej avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

steveej-forks

nixos-sbc's Issues

Break out "ramify" the on-boot storage manipulation scripting

I've called the on-boot subvolume manipulation "ramify".

This could be useful outside SBC environments, so this issue tracks my plan to pull it into its own repo, or at the least its own module.

Additionally, by being a stand-alone module, it should be easier to see it exists and audit what it does, which is good seeing as it does file manipulation on boot.

bpir3 pcieFixup doesn't seem to work

The pcieFixup is turned on by default.

The implementation of the workaround is the same as it used to be with older kernels. However, it seems that it doesn't work anymore. When I try to configure nvme device I am getting:

<<< NixOS Stage 1 >>>



loading module rfkill...

loading module cfg80211...

loading module mt7915e...

loading module mii...

running udev...

Starting systemd-udevd version 255.6

kbd_mode: KDSKBMODE: Inappropriate ioctl for device

Gstarting device mapper and LVM...

checking /dev/disk/by-uuid/0b5e3376-c7e9-4284-9514-9c3b51244f19...

fsck (busybox 1.36.1)

[fsck.ext4 (1) -- /mnt-root/] fsck.ext4 -a /dev/disk/by-uuid/0b5e3376-c7e9-4284-9514-9c3b51244f19

root: recovering journal

root: clean, 278458/7449072 files, 1519866/30558075 blocks

mounting /dev/disk/by-uuid/0b5e3376-c7e9-4284-9514-9c3b51244f19 on /...

waiting for device /dev/disk/by-partlabel/disk-nvme0n1-var to appear.......................

Timed out waiting for device /dev/disk/by-partlabel/disk-nvme0n1-var, trying to mount anyway.

mounting /dev/disk/by-partlabel/disk-nvme0n1-var on /var...

[   36.127976] /dev/disk/by-partlabel/disk-nvme0n1-var: Can't lookup blockdev

mount: mounting /dev/disk/by-partlabel/disk-nvme0n1-var on /mnt-root/var failed: No such file or directory



An error occurred in stage 1 of the boot process, which must mount the

root filesystem on `/mnt-root' and then start stage 2.  Press one

of the following keys:



  r) to reboot immediately

  *) to ignore the error and continue

Ignoring the error actually correctly boots the system with the nvme partitions mounted. The problem is that the boot process halts until user makes the choice.

Loading Environment from MMC... mmc fail to send stop cmd

This is weird.

I migrated my flake to your nixos-sbc. I had some problems with disko which I disabled.
In the end I was able to produce an image that seemed to be running fine. I had UART attached and everything booted. I attached eth cable and was able to ssh into the router. I restarted it and it booted again.

Not sure if this is the case for every bpir3 devices but mine doesn't have wifi when UART is connected (can be also an issue with this particular UART device). Anyway this is a known issue, and maybe not relevant.

I detached UART and rebooted router so that it will boot this time with wifi.

Unfortunately, it did not boot. I did not have UART attached so I don't know what exactly happened. I attached UART and the logs show following:

NOTICE:  BL2: v2.7(release):

NOTICE:  BL2: Built : 00:00:00, Jan  1 1980

NOTICE:  WDT: disabled

NOTICE:  CPU: MT7986 (2002MHz)

NOTICE:  EMI: Using DDR4 settings

NOTICE:  EMI: Detected DRAM size: 2048MB

NOTICE:  EMI: complex R/W mem test passed

NOTICE:  BL2: Booting BL31

NOTICE:  BL31: v2.7(release):

NOTICE:  BL31: Built : 00:00:00, Jan  1 1980





U-Boot 2024.01 (Jan 08 2024 - 15:37:48 +0000)



CPU:   MediaTek MT7986

Model: BananaPi BPi-R3

DRAM:  2 GiB

Core:  37 devices, 14 uclasses, devicetree: separate

MMC:   mmc@11230000: 0

Loading Environment from MMC... mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

*** Warning - bad CRC, using default environment



Loading Environment from nowhere... OK

In:    serial@11002000

Out:   serial@11002000

Err:   serial@11002000

Net:   eth0: ethernet@15100000

Hit any key to stop autoboot:  0

Scanning for bootflows in all bootdevs

Seq  Method       State   Uclass    Part  Name                      Filename

---  -----------  ------  --------  ----  ------------------------  ----------------

Scanning bootdev '[email protected]':

mmc fail to send stop cmd

mmc fail to send stop cmd

 ** fs_devread read error - block

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

mmc fail to send stop cmd

No more bootdevs

---  -----------  ------  --------  ----  ------------------------  ----------------

(0 bootflows, 0 valid)

BPI-R3>

This exact sequence happened already twice so it is not a total coincidence.
After it happens the image is no longer bootable and I have to flash the sd-card again.

repo link

u-boot bootflow btrfs tracking issue

BTRFS seems to fail to read if a number of bytes to read is provided.

=> load mmc 1:3 ${pxefile_addr_r} /boot/extlinux/extlinux.conf
658 bytes read in 45 ms (13.7 KiB/s)
=> load mmc 1:3 ${pxefile_addr_r} /boot/extlinux/extlinux.conf 658
** /boot/extlinux/extlinux.conf shorter than offset + len **
0 bytes read in 28 ms (0 Bytes/s)

Bootflow responds:

Scanning bootdev '[email protected]':
trying: /boot/extlinux/extlinux.conf
   /boot/extlinux/extlinux.conf - err=0
   - script file size 292
** /boot/extlinux/extlinux.conf shorter than offset + len **

Solving this should get BTRFS booting with bootflow.

Announcements and updates

Subscribe to this issue to get notifications about releases, breaking changes, or any other noteworthy comments.

sbcLibPath causing infinite recursion when used out-of-tree

sbcLibPath is causing infinite recursion when used outside of this repository.

          hostA = nixosSystem {¬
            system = "aarch64-linux";¬
            modules = [¬
              nixos-sbc.nixosModules.default¬
              nixos-sbc.nixosModules.boards.bananapi.bpir3¬
              ({config, sbcLibPath, ...}: {
                imports = [
                  (import (sbcLibPath + "/devices/rtc/ds3231/create.nix") {
                     i2cConfig = config.sbc.board.i2c.devices.i2c0;
                   })
                ];
              })
            ];¬
          };¬
```

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.