Article Upstream Kernel Compilation
I was not too sure where to direct my feedback onto the quite good and detailed article RPi Upstream Kernel Compilation. Since you are the last contributor, I'm hoping I'm at the right place :)
Like I said, quite detailed write-up, I ended up with a working, bootable kernel on pretty much the first try! Thank you!
A couple comments though:
- In the very beginning, the Pi seems to be looking for bcm2835-rpi-b-rev2.dtb instead of bcm2835-rpi-b.dtb. After I renamed the file, booting went on fine.
- in the very last copy instructions, I feel like zImage etc should come from
kernel/arch/arm/boot/zImageas the cit clone line in the very beginning creates a "linux" directory not a "kernel" directory
Hello there, Moritz and happy 2015 for you!
Thanks for pointing that.
Regarding the DTB, this is plain odd. I don't see the rpi-b-rev2.dtb at https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/Makefile . AFAIK, the DTB file is specified at the u-Boot config file. Are you sure that you have a correct fdtfile specified at boot.scr.uimg in the SD card? Do a cat and you'll be able to check it. I think it can be whatever name, *if* it exists.
2. zImage and the DTB result build paths indeed has a wrong path. I've just corrected it at the article.
If you have any other concerns, feel free to get in touch.
Thanks again and my best regards,
Hi Rodrigo, Happy new year and thank you for your fast reply! I am pretty new to kernel compilation in general and cross-compilation specifically, so I'm glad I can contribute to fine-tuning the description in the article.
Regarding the dtb file: I rechecked the process and noticed one more weird thing: When invoking 'make rpi_b_config' I get
'Can't find default configuration "configs/rpi_b_defconfig"!'
Removing the _b, so only 'make rpi_cofig' gives me a working config file. This config file does not contain any reference to "rev2"
I did some more research and was able to trace back the "rev2" to u-boot/board/raspberry/rpi/rpi.c. It seems to me that my board is not correctly detected. cat /proc/cpuinfo gives me
Hardware : BCM2835 Revision : 0000
However, a precompiled rasbmc kernel correctly reports:
Hardware : BCM2708 Revision : 000e