rpi-open-firmware
gokrazy
rpi-open-firmware | gokrazy | |
---|---|---|
6 | 19 | |
1,117 | 3,151 | |
- | 0.3% | |
0.0 | 7.7 | |
about 2 years ago | 14 days ago | |
C | Go | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rpi-open-firmware
-
Considerations for a long-running Raspberry Pi
Comment by the developer who attempted to create open firmware, https://github.com/christinaa/rpi-open-firmware/issues/37
> a lot of corners were cut to save time leading to what I believe is poor ARMv7+ Cortex IP integration (GIC, TrustZone, etc). So I stopped working on it. If those things were not the case (GIC working, "TZPCs" working, security working as intended, instead of NS forced to high on bridge, at least in my understanding) I would still work on it ...
ARM isn't a second class citizen on this platform, it's a third class citizen since BCM2709 (again this is an opinion) ... the features I wanted to tinker with the most are absent by design (cutting corners) and I'm not willing to resort to SW emulation of them through clever uses of the VPU.
-
Microsoft opens sources ThreadX RTOS used in Raspberry Pis
Sure, and it's been done: https://github.com/christinaa/rpi-open-firmware - but that doesn't involve ThreadX source, just some standard reverse engineering work. ThreadX is really the least interesting part of this whole operation in terms of the Raspberry Pi.
It's very cool that ThreadX has been open sourced as it offers an additional battle tested and mature alternative to FreeRTOS for new projects, but in terms of reverse engineering or open sourcing the Raspberry Pi VideoCore blob, it's pretty much a non-event IMO.
-
LibreRPi โ open source replacements for RPi firmware
I guess you are thinking of this issue:
https://github.com/christinaa/rpi-open-firmware/issues/37
Since then the project moved to a new maintainer (not me), who worked on it slowly but surely. They need new contributors though.
-
Using my homemade linux laptop my 70's terminals are able to connect to the interwebs!
They have (https://github.com/christinaa/rpi-open-firmware). The problem is that almost nothing works (no video or even USB). The sequel to "f you, NVIDIA": f you, Broadcom.
-
SoftBank's Sale of Arm to Nvidia Collapses, Arm to IPO
> no clue if there's a project to reimplement that
There was! And it even booted Linux in some capacity: https://github.com/christinaa/rpi-open-firmware
> every chip is very different from one another
Eh, the usual embedded SoCs are not that different from each other โ ARM GIC, ARM timer, lots of Synopsys Designware crap for SDMMC/XHCI/PCIe/etc.
For many SoCs it's totally feasible to make standards-compliant firmware, e.g. for the Rockchip RK3566 there is https://github.com/jaredmcneill/quartz64_uefi
And SoCs from the networking world (Marvell, NXP) are typically supported by upstream EDK2.
-
rpi-open-firmware: open-source VPU side bootloader for Raspberry Pi
from 2018: Is this project dead? KB - No not dead but on hold, see my response ยท Issue #37
https://github.com/christinaa/rpi-open-firmware/issues/37
gokrazy
-
Considerations for a long-running Raspberry Pi
Switching to gokrazy[0] was the best thing I did for my Raspberry Pi uptimes. I think a lot of that is because it defaults to using read-only partitions so the common issue of SD cards falling over when you run apt upgrade no longer happens.
But I also think that gokrazy's simplicity and design helps it be just a solid, reliable foundation to build on top of.
[0]: https://gokrazy.org/
- Gokrazy โ Go Appliances
-
Easylkb: Easy Linux Kernel Builder
The idea there sounds a lot like https://gokrazy.org/, which builds a minimal go userland, wrapping one or more user provided go applications, and bundles in a linux kernel.
Targets mostly at single board computers, and I think it downloads pre-built kernels (and bootloaters if needed), rather than trying to build them directly, since getting a working cross compilation toolchain set up and plumbed into the kernel compilation process is still a pain.
I've personally only used yocto/open-embedded for that which does nicely handle building the cross-compilation toolchain, kernel image, and modules. But it is kinda overkill for that task, being designed to build a whole userland too.
- An Overview of Nix in Practice
- Gokrazy Go (Golang) Appliances
-
Writing an OS in Go: The Bootloader
reminds me of https://github.com/gokrazy/gokrazy which does similar things.
-
When is go not a good choice?
https://gokrazy.org/ would like a word
-
Userspace isn't slow, some kernel interfaces are
Fun! We have support for running on gokrazy (https://gokrazy.org/) already, and that's probably where Unikernel Linux is more applicable for us, for when people just want a "Tailscale appliance" image.
I'll email you.
-
go-rampart: a golang package to detect overlapping periods
gokrazy exists! https://github.com/gokrazy/gokrazy
-
Can you build your own user space on top of the Linux kernel?
https://github.com/gokrazy/gokrazy for one example
What are some alternatives?
tl - The compiler for Teal, a typed dialect of Lua
buildroot - Buildroot, making embedded Linux easy. Note that this is not the official repository, but only a mirror. The official Git repository is at http://git.buildroot.net/buildroot/. Do not open issues or file pull requests here.
aws-graviton-getting-started - Helping developers to use AWS Graviton2 and Graviton3 processors which power the 6th and 7th generation of Amazon EC2 instances (C6g[d], M6g[d], R6g[d], T4g, X2gd, C6gn, I4g, Im4gn, Is4gen, G5g, C7g[d][n], M7g[d], R7g[d]).
go-jtagenum - JTAG enumeration tool written in Go. A port of https://github.com/cyphunk/JTAGenum enhanced with https://github.com/grandideastudio/jtagulator improved implementation.
rpi-open-firmware - Open source VPU side bootloader for Raspberry Pi.
xbvr - Tool to organize and stream your VR porn library
videocoreiv - Tools and information for the Broadcom VideoCore IV (RaspberryPi)
tamago - TamaGo - ARM/RISC-V bare metal Go
quartz64_uefi - EDK2 UEFI for Rockchip RK3566 and RK3568 based SBCs.
qt - Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly
rpi-open-firmware - Open source VPU side bootloader for Raspberry Pi.
nixos-anywhere - install nixos everywhere via ssh [maintainer=@numtide]