mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-01-05 06:02:29 +00:00
OpenWrt Source Repository
c335649629
Problem - rapsberry pi 3 b/b+ does not boot with bcm2710 images! How Raspberry Pi boots Actualy? When Raspberry is switched on GPU is activated. 1. GPU execute First stage bootloader from ROM. First stage bootloader mount the FAT boot partition on the SD card and execute second stage bootloader (bootcode.bin). 2. Second stage bootloader (bootcode.bin) activate SDRAM. Load the GPU firmware (start.elf). 3. GPU firmware (start.elf) a) display Rainbow splash. b) read firmware configuration file config.txt and split the RAM using fixup.dat. c) loads a cmdline.txt d) enables the CPU. e) loads the kernel image configurable via config.txt In your target/linux/brcm2708/image/config.txt 493 ## kernel (string) 494 ## Alternative name to use when loading kernel. 495 ## 496 #kernel="" it is not configured! But in your target/linux/brcm2708/image/Makefile 75 KERNEL_IMG := kernel8.img 76 DEVICE_TITLE := Raspberry Pi 3B/3B+ you have kernel8.img GPU Firmware search order by default for a PI 3 is: kernel8.img if found boot in 64 bit mode kernel8-32.img if found boot in 32 bit mode kernel7.img if found boot in 32 bit mode kernel.img if found boot in 32 bit mode But a PI 2 will start the search from kernel7.img and a PI 1 only looks for kernel.img. Оbviously the kernel has been found. But something goes wrong and the device is restarted. In your package/kernel/brcm2708-gpu-fw/Makefile 11 PKG_NAME:=brcm2708-gpu-fw 12 PKG_VERSION:=2017-08-08 13 PKG_RELEASE:=e7ba7ab135f5a68b2c00a919ea9ac8d5528a5d5b boot loader is 10 monts old. In conclusion, the best way to solve the problem is to update the boot loader! Fixup_cd.dat and start_cd.elf files are not necessary. These are used when GPU memory is set to 16 MB, which disables some GPU features. I did not remove them just in case! cheers Signed-off-by: Christo Nedev <christo.nedev@gmail.com> |
||
---|---|---|
.github | ||
config | ||
include | ||
package | ||
scripts | ||
target | ||
toolchain | ||
tools | ||
.gitattributes | ||
.gitignore | ||
BSDmakefile | ||
Config.in | ||
feeds.conf.default | ||
LICENSE | ||
Makefile | ||
README | ||
rules.mk |
This is the buildsystem for the OpenWrt Linux distribution. Please use "make menuconfig" to choose your preferred configuration for the toolchain and firmware. You need to have installed gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers. Run "./scripts/feeds update -a" to get all the latest package definitions defined in feeds.conf / feeds.conf.default respectively and "./scripts/feeds install -a" to install symlinks of all of them into package/feeds/. Use "make menuconfig" to configure your image. Simply running "make" will build your firmware. It will download all sources, build the cross-compile toolchain, the kernel and all choosen applications. To build your own firmware you need to have access to a Linux, BSD or MacOSX system (case-sensitive filesystem required). Cygwin will not be supported because of the lack of case sensitiveness in the file system. Sunshine! Your OpenWrt Community http://www.openwrt.org