rpi4-osdev
usbboot
rpi4-osdev | usbboot | |
---|---|---|
17 | 8 | |
3,331 | 847 | |
- | 2.4% | |
6.7 | 8.1 | |
14 days ago | 4 days ago | |
C | C | |
Creative Commons Zero v1.0 Universal | Apache License 2.0 |
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.
rpi4-osdev
- Tutorial: Writing a bare metal operating system for Raspberry Pi 4
-
Assembly coding without OS
GitHub - isometimes/rpi4-osdev: Tutorial: Writing a "bare metal" operating system for Raspberry Pi 4
-
[RPI4B] Error allocating framebuffer with mailbox
Basically i can compile and run this -> https://github.com/isometimes/rpi4-osdev/tree/master/part5-framebuffer (and i'm sure every other implementation) just fine but only if i load it with gdb through jtags and then hit continue (c). If i put the exact same kernel (kernel8.img) on the sd and disconnect any hw debugger, it gets stuck at the rainbow spash screen and won't continue. This is wheter enable_jtag_gpio is set to 0 or 1. This makes absolutely no sense to me and i'd love to get an opinion on why it behaves this way and if it underlines a bigger problem.
-
What projects can an individual do that you would like seeing on a resume?
Something like this would be probably in the top 1% of hobby projects and as far as I can tell, it involves zero EE work: Writing a "bare metal" operating system for Raspberry Pi 4.
-
How do I work towards interacting with Raspberry Pi peripherals directly?
This might be of help: https://github.com/isometimes/rpi4-osdev (it’s for the RPi4, but I imagine most of it being applicable to the RPi1).
-
Writing an open source GPU driver – without the hardware
IMO the best way to get into this type of low-level tinkering is by writing a simple operating system.
https://github.com/isometimes/rpi4-osdev
There are other courses/projects for other boards. The keyword is usually “baremetal”.
For Linux drivers specifically there are training material from Bootlin for instance.
- Writing a “bare metal” operating system for Raspberry Pi 4
- Tutorial: Writing a “bare metal” operating system for Raspberry Pi 4
usbboot
-
Why Nordic Is Getting Involved in RISC-V
https://github.com/raspberrypi/usbboot/blob/master/secure-bo...
Note that the Raspberry Pi does not have a full TrustZone implementation to protect secure mode memory, etc. But it is a widely available device with good documentation and allows developers to experiment with and learn about the basics of TrustZone architecture.
-
UEFI Secure Boot on the Raspberry Pi
The Pi4 has true hardware support for secure boot. If set up correctly, you won't be able to boot anything not properly signed. An incomplete overview of how this works is:
* Instead of having all boot related files (start4.elf, kernel.img, ...) on the first partition of the SD card, you instead have a single boot.img FAT image containing those files instead.
* You sign that file with your own RSA 2048 key and place a boot.sig containing the signature next to the boot.img file.
* You flash the Pi4 EEPROM and include your public key and some additional EEPROM settings.
* You instruct the EEPROM to burn the hash of your public key into the Pi's OTP memory. Once that's done, the key cannot be changed and the Pi will not boot into anything not signed with your key.
* Optionally you can also place keys for disk encryption into the OTP memory and use that to encrypt everything except the boot files. That way it should be pretty hard to access them as you cannot run a rogue OS to read the OTP memory due to secure boot.
References:
* https://github.com/raspberrypi/usbboot/blob/master/secure-bo...
-
What would it take to use my desktop as a virtual boot drive for an RPi 4?
That may be something you could do with this tool? I haven’t tried it myself yet, but I’ve been meaning to. https://github.com/raspberrypi/usbboot
-
RPi CM4 and dual ethernet board working awesome.
I used a CM4 with 2GB, 8 GB eMMC, and has wifi/bt. To flash the eMMC memory, you need rpiboot. Some instructions link to old versions, it might not connect the CM4. Click current release on Raspberry Pi's usbboot github. I tried different carrier boards, different cables, different computers before figuring this out...
-
Gpi case 2 ... black screen at boot
This is exactly what I just discovered! I was having a hard time getting the CM4 in my GPi 2 Case to get recognized by my PC. You need to download usbboot from Raspberry Pi’s GitHub page https://github.com/raspberrypi/usbboot
-
Raspberry pi zero W 1.1 ONLY boots from USB
I went further and tried this: https://github.com/raspberrypi/usbboot
-
Tutorial: Writing a “bare metal” operating system for Raspberry Pi 4
On the Pi Zero and Pi CM (maybe also others) you don't even need an SD card to boot it. You can boot it via rpi-boot https://github.com/raspberrypi/usbboot
-
2021 Jun 14 Stickied 𝐇𝐄𝐋𝐏𝐃𝐄𝐒𝐊 thread - Boot problems? Display problems? Networking problems? Need ideas? Get help with these and other questions! 𝑳𝑶𝑶𝑲 𝑯𝑬𝑹𝑬 𝑭𝑰𝑹𝑺𝑻
apt update apt install build-essential libusb-1.0-0-dev git -y git clone --depth=1 https://github.com/raspberrypi/usbboot cd usbboot make ./rpiboot
What are some alternatives?
rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab:
rust-raspberrypi-OS-tutoria
linux - Linux kernel source tree
circle - The compiler is available for download. Get it!
circle - A C++ bare metal environment for Raspberry Pi with USB (32 and 64 bit)
cs140e-20win - cs140e course materials.
tools
duckduckgo-locales - Translation files for <a href="https://duckduckgo.com"> </a>