Comments (5)
Have fun and best wishes for it! :) I actually started with an x86 minimal OS before I bought the Pi. So much more enjoyable on AArch64 though, I must say...
from rpi4-osdev.
Thanks for the feedback. I must confess that I never looked to minimise the set of files on the SD card (but I am intrigued now, so will look into it). I simply stuck with what the Raspberry Pi Imager put on there and just replaced kernel8.img
with my own. I expect you'll need to at least add fixup4.dat
to your list.
As for config.txt
, mine looks like this and the UART runs just fine:
hdmi_group=1
hdmi_mode=16
core_freq_min=500
You shouldn't need a gpu_mem
line at all. Are you running on a standard Raspberry Pi 4 Model B?
from rpi4-osdev.
Hi, thanks for your answer. It is a "normal" Pi4 B with 4GB ram. Maybe there are early Hardware versions and I use a different/newer EEPROM (recovery.img
), start4.elf
, fixup4.elf
and DTB file.
The miniuart example really works without fixup4.elf
on my pi and I really need exact this gpu_mem
line. It is ugly, that these elf files coming from Broadcom are closed source. I want to understand the whole boot process and that is quiet hard.
from rpi4-osdev.
Yes - it's annoying that we can't strip right back... It stems from the fact that when the Raspberry Pi powers on, the ARM CPU is off and the GPU is on.
The GPU runs the first bootloader, which is held in ROM on the SoC (System on Chip). This is similar to the BIOS in conventional PCs.
This bootloader reads the SD card and loads the second bootloader from bootcode.bin
.
The second bootloader then reads the GPU firmware, also from the SD card, named start.elf
.
Finally, start.elf
reads kernel.img
and allows the ARM CPU to execute it.
from rpi4-osdev.
The hardware is open enough to explain some base OS techniques to students. That's why I try to migrate a minimalistic BIOS x86 32bit based OS (c++ and some asm) to aarch64 (primary the Pi4). I think the PL0/1 and paging instead of Ring1/0 and "sections and GDT" will be the next big trouble in my tasklist ;-D
from rpi4-osdev.
Related Issues (20)
- Will this tutorial work for Raspberry Pi 1 Model B (512MB RAM) HOT 1
- Error with Makefile on Windows HOT 5
- Errata - Part 3 - Reference to edit of config.txt for TV HOT 5
- Makefile path to LLVM differs HOT 2
- Typo - part 8 - "very my" HOT 2
- Typo - part 9 - "hz" HOT 4
- Link - part 11 - Not hypertext HOT 1
- Page number - part 14 - Incorrect page reference on datasheet HOT 1
- Explanation - part 14 - Active LOW HOT 1
- Typo - Part 14 - arp.c - random close comment HOT 1
- Raspberry Pi 4 kernel load address HOT 2
- Building to test on QEMU/KVM HOT 4
- Improve framebuffer drawing -- dual buffering or other technique? HOT 1
- Synchronous Exception at mmio_write() HOT 4
- External vs internal ethernet controller HOT 1
- Where is this stuff documented? HOT 1
- "Incorrect" mailbox protocol in part 5 HOT 2
- Question: USB Support HOT 12
- Timer 3 bar not fully painted in Part 13 (Interrupts) HOT 10
- Pull Up Pull down register is the wrong way around HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rpi4-osdev.