"arm_64bit=1" needed in config.txt?
smuehlst opened this issue · 1 comments
First of all thanks for this tutorial, it's a great start for programming a Raspberry Pi with embedded Rust!
Now to my problem: I am working on Windows 10, and I managed to build the 06_drivers_gpio_uart
example kernel without the supplied Makefile. I verified that the kernel8.img
runs in QEMU, but then I had problems to boot it on a real Raspberry Pi 3 B+.
The instructions in the 06_drivers_gpio_uart/README.md
say this:
- On the card, generate a file named config.txt with the following contents:
init_uart_clock=48000000
But with such a config.txt
file the kernel doesn't boot for me.
After looking at some other bare metal kernel examples for the Raspberry Pi I found the arm_64bit
option, and with that the kernel boots on my Raspberry Pi 3 B+. This is the config.txt
file that works for me:
arm_64bit=1
init_uart_clock=48000000
kernel=kernel8.img
Is this an omission in the documentation of the 06_drivers_gpio_uart
example, or might I have made some mistake that caused the proposed config.txt
to fail in my case?
Hmm, interesting. I just double checked, my RPi 3 B+ v1.2 definitely does not need it.
Contents on the SD card:
bootcode.bin config.txt fixup.dat kernel8.img start.elf
Content of config.txt:
init_uart_clock=48000000
But it would not be the first time that my device behaves differently than somebody else's, see #48 for example.
I guess there is a good chance that firmware on the Raspberrys varies quite a bit with different revisions.
Anyways, both my Pi3 and Pi4 still work with the arm_64bit=1
set.
Thanks for reporting this!