rpi-open-firmware
rpi-open-firmware copied to clipboard
booting hangs at BCM2708ArmControl::bridgeStart(): starting async bridge now!
Any ideas what might be wrong? I'm trying this on a pizero.
It's worth noting that the firmware has not been tested by any of us on the Pi Zero, and even if everything is successfully a modified Linux kernel will be needed (see #33).
That being said, that seems like an odd place for it to hang.. hm.
Yes okay I will test it.
commenting out ARM_CONTROL1 &= ~ARM_C1_REQSTOP; in BCM2708ArmControl.cc and changing the base address to 0x20000000 in hardware.h I get to Mailbox status: 0x40000000
how do I get the arm_chainloader.bin to load from there?
Async bridge startup is the point where the ARM core stops stalling on the bus and tries to fetch instructions and essentially the point where the ARM cores start. If you're having issues there it's likely that the code running on the ARM is somehow affecting the VC4.
You commented out a line that starts the async bridge which means that ARM will stall forever waiting for an prefetch to complete despite an irresponsive bus. We only tested on regular Raspberry Pi's, you can try calling BCM2708ArmControl::bridgeStart(false), which will avoid executing some code for a certain erratum that only affects RPi 2/3 but is harmless to execute on RPi 1, so it's executed regardless. So it may be caused by that.
But removing the line that starts the bridge is certainly not the way to go since ARM will not run without it.
Thanks for the advise. Giving the above a try it hangs at
https://github.com/christinaa/rpi-open-firmware/blob/master/drivers/BCM2708PowerManagement.cc#L120 https://github.com/christinaa/rpi-open-firmware/blob/master/drivers/BCM2708ArmControl.cc#L74
what else is needed to boot the zImage file?
I notice the BCM2708ArmControl::start(): original memstart: 0xAAAAAAAA this doesn't seem correct.
Can you paste the whole bootlog?
It turns out the crosstool-ng arm-unknown-eabi was broken. I have managed to get to [LDR:LoaderImpl]: Jumping to the Linux kernel... with arm-none-eabi
also now BCM2708ArmControl::start(): original memstart: 0xEA000039 looks more legit
OK, that's good; that's where the BCM2835 chips are expected to fail, due to an ABI incompataibility.
If you're anxious, you can try 87bf3214eb1acf423061c08b83977208fc41dff7 even though it won't get merged as-is due to architectural issues.
Thanks. Which branch of the kernel works i'm trying https://github.com/raspberrypi/linux with make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- and this config http://crna.cc/rpi_linux_config
You'll probably want the patchset at librepi/linux. Enable earlyprintk in the configuration. See my write-up here for some more detailed information.
Thanks.
I've got this error
[EMMC:init_card]: Identification complete, changing clock to 25MHz for data mode ... [EMMC:read_block]: ERROR: transfer error on FIFO word 113: 0x21 [EMMC:BCM2708SDHost]: eMMC driver sucessfully started!
and
[ 1.747740] mmc0: unexpected command 51 error [ 1.747753] mmc0:>cmd op 51 arg 0x0 flags 0xb5 - resp 00000000 00000000 00000000 00000000, err 0 [ 1.747760] mmc0: data blocks 1 blksz 8 - err -84 [ 1.747764] mmc0: =========== REGISTER DUMP =========== [ 1.747768] mmc0: SDCMD 0x00000073 [ 1.747773] mmc0: SDARG 0x00000000 [ 1.747777] mmc0: SDTOUT 0x00030d40 [ 1.747781] mmc0: SDCDIV 0x0000026f [ 1.747786] mmc0: SDRSP0 0x00000920 [ 1.747790] mmc0: SDRSP1 0x00003348 [ 1.747795] mmc0: SDRSP2 0xffffffff [ 1.747799] mmc0: SDRSP3 0x0002480c [ 1.747803] mmc0: SDHSTS 0x00000001 [ 1.747807] mmc0: SDVDD 0x00000001 [ 1.747812] mmc0: SDEDM 0x00010821 [ 1.747815] mmc0: SDHCFG 0x0000040a [ 1.747820] mmc0: SDHBCT 0x00000008 [ 1.747824] mmc0: SDHBLC 0x00000001 [ 1.747828] mmc0: =========================================== [ 1.747859] mmc0: error -84 whilst initialising SD card [ 2.052414] mmc0: unexpected command 51 error [ 2.052426] mmc0:>cmd op 51 arg 0x0 flags 0xb5 - resp 00000000 00000000 00000000 00000000, err 0 [ 2.052433] mmc0: data blocks 1 blksz 8 - err -84 [ 2.052436] mmc0: =========== REGISTER DUMP =========== [ 2.052440] mmc0: SDCMD 0x00000073 [ 2.052444] mmc0: SDARG 0x00000000 [ 2.052449] mmc0: SDTOUT 0x00024978 [ 2.052453] mmc0: SDCDIV 0x00000340 [ 2.052457] mmc0: SDRSP0 0x00000920 [ 2.052461] mmc0: SDRSP1 0x00003348 [ 2.052465] mmc0: SDRSP2 0xffffffff [ 2.052469] mmc0: SDRSP3 0x0002480c [ 2.052473] mmc0: SDHSTS 0x00000001 [ 2.052477] mmc0: SDVDD 0x00000001 [ 2.052481] mmc0: SDEDM 0x00010821 [ 2.052485] mmc0: SDHCFG 0x0000040a [ 2.052489] mmc0: SDHBCT 0x00000008 [ 2.052493] mmc0: SDHBLC 0x00000001 [ 2.052497] mmc0: =========================================== [ 2.052524] mmc0: error -84 whilst initialising SD card [ 2.296441] mmc0: unexpected command 51 error [ 2.296454] mmc0:>cmd op 51 arg 0x0 flags 0xb5 - resp 00000000 00000000 00000000 00000000, err 0 [ 2.296460] mmc0: data blocks 1 blksz 8 - err -84 [ 2.296463] mmc0: =========== REGISTER DUMP =========== [ 2.296467] mmc0: SDCMD 0x00000073 [ 2.296471] mmc0: SDARG 0x00000000 [ 2.296476] mmc0: SDTOUT 0x000186a0 [ 2.296480] mmc0: SDCDIV 0x000004e0 [ 2.296484] mmc0: SDRSP0 0x00000920 [ 2.296488] mmc0: SDRSP1 0x00003348 [ 2.296492] mmc0: SDRSP2 0xffffffff [ 2.296496] mmc0: SDRSP3 0x0002480c [ 2.296500] mmc0: SDHSTS 0x00000001 [ 2.296504] mmc0: SDVDD 0x00000001 [ 2.296508] mmc0: SDEDM 0x00010821 [ 2.296512] mmc0: SDHCFG 0x0000040a [ 2.296516] mmc0: SDHBCT 0x00000008 [ 2.296520] mmc0: SDHBLC 0x00000001 [ 2.296523] mmc0: =========================================== [ 2.296551] mmc0: error -84 whilst initialising SD card [ 2.527200] mmc0: unexpected command 51 error [ 2.527212] mmc0:>cmd op 51 arg 0x0 flags 0xb5 - resp 00000000 00000000 00000000 00000000, err 0 [ 2.527219] mmc0: data blocks 1 blksz 8 - err -84 [ 2.527222] mmc0: =========== REGISTER DUMP =========== [ 2.527227] mmc0: SDCMD 0x00000073 [ 2.527231] mmc0: SDARG 0x00000000 [ 2.527235] mmc0: SDTOUT 0x0000ee88 [ 2.527239] mmc0: SDCDIV 0x000007fd [ 2.527243] mmc0: SDRSP0 0x00000920 [ 2.527247] mmc0: SDRSP1 0x00003348 [ 2.527251] mmc0: SDRSP2 0xffffffff [ 2.527255] mmc0: SDRSP3 0x0002480c [ 2.527259] mmc0: SDHSTS 0x00000001 [ 2.527263] mmc0: SDVDD 0x00000001 [ 2.527267] mmc0: SDEDM 0x00010821 [ 2.527271] mmc0: SDHCFG 0x0000040a [ 2.527275] mmc0: SDHBCT 0x00000008 [ 2.527279] mmc0: SDHBLC 0x00000001 [ 2.527282] mmc0: =========================================== [ 2.527310] mmc0: error -84 whilst initialising SD card
sometimes
[EMMC:init_card]: Identification complete, changing clock to 25MHz for data mode ... [EMMC:read_block]: ERROR: transfer error on FIFO word 112: 0x21 [EMMC:BCM2708SDHost]: eMMC driver sucessfully started
[ 2.242509] mmc0: unexpected command 51 error [ 2.242523] mmc0:>cmd op 51 arg 0x0 flags 0xb5 - resp 00000000 00000000 00000000 00000000, err 0 [ 2.242529] mmc0: data blocks 1 blksz 8 - err -84 [ 2.242533] mmc0: =========== REGISTER DUMP =========== [ 2.242538] mmc0: SDCMD 0x00000073 [ 2.242542] mmc0: SDARG 0x00000000 [ 2.242546] mmc0: SDTOUT 0x00030d40 [ 2.242550] mmc0: SDCDIV 0x0000026f [ 2.242555] mmc0: SDRSP0 0x00000920 [ 2.242559] mmc0: SDRSP1 0x00003348 [ 2.242563] mmc0: SDRSP2 0xffffffff [ 2.242568] mmc0: SDRSP3 0x0002480c [ 2.242571] mmc0: SDHSTS 0x00000001 [ 2.242576] mmc0: SDVDD 0x00000001 [ 2.242580] mmc0: SDEDM 0x00010821 [ 2.242584] mmc0: SDHCFG 0x0000040a [ 2.242589] mmc0: SDHBCT 0x00000008 [ 2.242592] mmc0: SDHBLC 0x00000001 [ 2.242596] mmc0: =========================================== [ 2.242627] mmc0: error -84 whilst initialising SD card [ 2.543373] mmc0: unexpected command 51 error [ 2.543385] mmc0:>cmd op 51 arg 0x0 flags 0xb5 - resp 00000000 00000000 00000000 00000000, err 0 [ 2.543391] mmc0: data blocks 1 blksz 8 - err -84 [ 2.543395] mmc0: =========== REGISTER DUMP =========== [ 2.543399] mmc0: SDCMD 0x00000073 [ 2.543404] mmc0: SDARG 0x00000000 [ 2.543408] mmc0: SDTOUT 0x00024978 [ 2.543412] mmc0: SDCDIV 0x00000340 [ 2.543416] mmc0: SDRSP0 0x00000920 [ 2.543420] mmc0: SDRSP1 0x00003348 [ 2.543424] mmc0: SDRSP2 0xffffffff [ 2.543428] mmc0: SDRSP3 0x0002480c [ 2.543432] mmc0: SDHSTS 0x00000001 [ 2.543436] mmc0: SDVDD 0x00000001 [ 2.543440] mmc0: SDEDM 0x00010821 [ 2.543445] mmc0: SDHCFG 0x0000040a [ 2.543449] mmc0: SDHBCT 0x00000008 [ 2.543453] mmc0: SDHBLC 0x00000001 [ 2.543456] mmc0: =========================================== [ 2.543483] mmc0: error -84 whilst initialising SD card [ 2.771230] mmc0: host does not support reading read-only switch, assuming write-enable [ 2.776954] mmc0: new high speed SD card at address 1234 [ 2.786595] mmcblk0: mmc0:1234 SA02G 1.83 GiB [ 2.792969] mmcblk0: p1 p2
I can't speak to the issues with the SD card, but did you try compiling busybox and compiling that into the kernel as an initrd? There's an option for specifying this in menuconfig. (Try to get it working this way; we can always futz with the SD card driver later :-) )
Yes I have statically linked busybox and have built it into the kernel CONFIG_INITRAMFS_SOURCE="/path/to/my/busybox/_install"
if i set rdinit=/bin/sh i get [ 3.237375] Freeing unused kernel memory: 1464K (805a6000 - 80714000) [ 3.246175] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 [ 3.246175] [ 3.255305] CPU: 0 PID: 1 Comm: date Tainted: G W 4.4.31-v7-19955-gac0b061 #8 [ 3.263552] Hardware name: BCM2709 [ 3.266974] [<80017680>] (unwind_backtrace) from [<80014320>] (show_stack+0x20/0x24) [ 3.274723] [<80014320>] (show_stack) from [<802b842c>] (dump_stack+0x24/0x2c) [ 3.281948] [<802b842c>] (dump_stack) from [<800e1838>] (panic+0xa8/0x25c) [ 3.288827] [<800e1838>] (panic) from [<80026b70>] (do_exit+0x9ac/0x9dc) [ 3.295530] [<80026b70>] (do_exit) from [<80026c3c>] (do_group_exit+0x50/0xc0) [ 3.302752] [<80026c3c>] (do_group_exit) from [<80026ccc>] (__wake_up_parent+0x0/0x30) [ 3.310668] [<80026ccc>] (__wake_up_parent) from [<8000fc00>] (ret_fast_syscall+0x0/0x1c) [ 3.318839] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 [ 3.318839]
if i set rdinit=/sbin/init it seems to hang at [ 3.247591] Freeing unused kernel memory: 1464K (805a6000 - 80714000)
since I haven't setup the switch root stuff
why would the /bin/sh fail?
I know this post is a little stale but I just ran into this wall a few days ago. You need to populate /dev and its device nodes in your Busybox's _install build folder before you build it into the kernel as an initrd. This guide from Linux From Scratch will give a little more insight.
This should get you going, or help someone else in the future who runs into this problem/post.
From your busybox root directory:
cd _install
mkdir dev etc proc sys
cd dev
mknod -m 600 console c 5 1
mknod -m 666 null c 1 3
mknod -m 666 tty c 5 0
The cmdline.txt I used was:
console=ttyAMA0,115200 elevator=deadline rdinit=/bin/sh
Now boot the PI.
Busybox has a tool called mdev (similar to udev) to populate the rest after you boot into userland.
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mdev -s
You should now be able see a lot of devices in /dev and be able to mount another file system on the SD card.
AFAIK, you could make a script to do all this before boot.
Hope this helps, I'm still working on getting armv6 (RPI 0 and B+) to boot.
Hi, I'm trying to boot linux kernel but without any succes. I populated /dev just like @NF3RN0 say, but nothing. In my SD BOOT partition I have 4 files. The rpi.dtb (compiled with dts of the kernel) the bootloader, cmdline.txt -inside of this I put ( console=ttyAMA0,115200 elevator=deadline rdinit=/bin/sh) - and the zImage compiled with this config. The CONFIG_INITRAMFS_SOURCE option is pointed to my busybox _Install directory. In _install I have /bin /dev (populated) /etc (empty) /proc (empty) /sbin /sys (empty) /usr and linuxrc. I don't know what i'm missing. To build a initrd is just enough to point CONFIG_INITRAMFS_SOURCE to your _install folder? or we have to do some steps before. I mean initrd can be a cpio gziped file, or a ext2 blokdevice. The newest kernel work with Initramfs cpio gziped file, and older kernel need a external initrd blockdevice. I've supossed we are working with Initramfs and not with older initrd. So initramfs can point to an existing gzipped cpio archive, a directory containing files to be archived, or a text file specification. We are pointed to a directory containing files to be archived, is that right?
I post my bootlog for more info: Thanks
Booting Raspberry Pi....
Copyright 2016-2017 rpi-open-firmware authors
BUILDATE : Apr 28 2019 14:55:07
__cxx_init: calling 5 static constructors (0x14000 - 0x14014) ...
BCM2708UsbPhy::registerDriver(): driver registered on platform IO plane
BCM2708ArmControl::registerDriver(): driver registered on platform IO plane
BCM2708PLLB::init(): PLLB VCO registered
BCM2708PLLB::registerDriver(): driver registered on platform IO plane
BCM2708Gpio::registerDriver(): driver registered on platform IO plane
[SDRAM:sdram_init]: (0) SD_CS = 0x794200
[SDRAM:switch_to_cprman_clock]: switching sdram to cprman clock (src=1, div=1), waiting for busy (4011) ...
[SDRAM:switch_to_cprman_clock]: busy set, switch complete!
[SDRAM:reset_phy]: reset_phy: resetting SDRAM PHY ...
[SDRAM:reset_phy]: reset_phy: resetting DPHY CTRL ...
[SDRAM:reset_phy_dll]: resetting aphy and dphy dlls ...
[SDRAM:reset_phy_dll]: waiting for dphy master dll to lock ...
[SDRAM:reset_phy_dll]: dphy master dll locked!
[SDRAM:sdram_init]: waiting for SDUP (210242) ...
[SDRAM:sdram_init]: SDRAM controller has arrived! (218E42)
[SDRAM:calibrate_pvt_early]: DPHY_CSR_DQ_PAD_DRV_SLEW_CTRL = 0x223
[SDRAM:calibrate_pvt_early]: waiting for address PVT calibration ...
[SDRAM:calibrate_pvt_early]: waiting for data PVT calibration ...
[SDRAM:calibrate_pvt_early]: waiting for SDRAM calibration command ...
[SDRAM:sdram_init]: SDRAM Type: Elpida 1GB LPDDR2 (BC=0x58)
[SDRAM:reset_with_timing]: waiting for SDRAM controller to go down (218E4A) ...
[SDRAM:reset_with_timing]: SDRAM controller down!
[SDRAM:reset_with_timing]: SDRAM clock disabled!
[SDRAM:reset_with_timing]: waiting for master ddr pll to lock ...
[SDRAM:reset_with_timing]: master ddr pll locked!
[SDRAM:reset_with_timing]: SDRAM Addressing Mode: Bank=3 Row=3 Col=3 SB=0xFF
[SDRAM:reset_phy_dll]: resetting aphy and dphy dlls ...
[SDRAM:reset_phy_dll]: waiting for dphy master dll to lock ...
[SDRAM:reset_phy_dll]: dphy master dll locked!
[SDRAM:reset_with_timing]: waiting for address dll to lock ...
[SDRAM:reset_with_timing]: address dll locked!
[SDRAM:selftest]: Starting self test ...
[SDRAM:selftest_at]: Testing region at 0xC0000000 ...
[SDRAM:selftest_at]: Testing region at 0xCFF00000 ...
[SDRAM:selftest_at]: Testing region at 0xDFF00000 ...
[SDRAM:selftest_at]: Testing region at 0xEFF00000 ...
[SDRAM:selftest_at]: Testing region at 0xFFF00000 ...
[SDRAM:selftest]: Self test successful!
SDRAM initialization completed successfully!
BCM2708PowerDomainUSB::stop(): stopping ...
BCM2708PowerDomainUSB::stop(): stopped
BCM2708PowerDomainImage::powerOn(): powering on, current PM_IMAGE state: 0x1000
BCM2708PowerDomainImage::beginPowerUpSequence(): starting power up sequence ...
BCM2708PowerDomainImage::waitForPOWOK(): waiting for POWOK ...
BCM2708PowerDomainImage::waitForPOWOK(): got POWOK with CFG=0x10000
BCM2708PowerDomainImage::powerOn(): stopping power up sequence ...
BCM2708PowerDomainImage::beginPowerUpSequence(): starting power up sequence ...
BCM2708PowerDomainImage::waitForPOWOK(): waiting for POWOK ...
BCM2708PowerDomainImage::waitForPOWOK(): got POWOK with CFG=0x30000
BCM2708PowerDomainImage::completePowerUpSequence(): waiting for MRDONE ...
BCM2708PowerDomainImage::resetPeripheralsUngated(): calling v16mov gated ...
BCM2708PowerDomainImage::resetPeripheralsUngated(): ungating and resetting ...
BCM2708PowerDomainImage::resetPeripheralsUngated(): done
BCM2708PowerDomainImage::start(): CM_PERIICTL = 0x40
BCM2708PowerDomainImage::start(): CM_PERIIDIV = 0x0
BCM2708PowerDomainImage::start(): PM_IMAGE = 0x3107F
BCM2708PowerDomainImage::start(): started
BCM2708PowerDomainUSB::start(): starting ...
BCM2708PowerDomainUSB::start(): started
BCM2708UsbPhy::start(): starting ...
BCM2708UsbPhy::start(): LAN reset
BCM2708UsbPhy::start(): started
BCM2708ArmControl::start(): starting ...
BCM2708ArmControl::loadInitialCode(): copied 57412 bytes to 0xC0000000!
BCM2708ArmControl::start(): original memstart: 0xEA000039
BCM2708ArmControl::start(): mapped VC 0xC0000000 to ARM 0x0
BCM2708ArmControl::start(): mapped peripherals VC 0x7E000000 to ARM 0x3F000000
BCM2708ArmControl::start(): ARM ID: 0x364D5241 C0: 0x0
BCM2708ArmControl::start(): using C0: 0xA04B
BCM2708ArmControl::setupClock(): initializing PLLB ...
BCM2708PLLB::setDigValues(): setting DIG values for this VCO ...
BCM2708ArmControl::setupClock(): KAIP = 0x228
BCM2708ArmControl::setupClock(): MULTI = 0x613277
BCM2708ArmControl::setupClock(): ARM clock succesfully initialized!
BCM2708PowerDomainARM::start(): starting ...
BCM2708PowerDomainARM::powerOn(): powering on (rstnMask=0xFFFFFFBF) ...
BCM2708PowerDomainARM::beginPowerUpSequence(): starting power up sequence ...
BCM2708PowerDomainARM::waitForPOWOK(): waiting for POWOK ...
BCM2708PowerDomainARM::waitForPOWOK(): got POWOK with CFG=0x0
BCM2708PowerDomainARM::completePowerUpSequence(): waiting for MRDONE ...
BCM2708PowerDomainARM::powerOn(): domain powered on succesfully
BCM2708PowerDomainARM::start(): started
BCM2708ArmControl::bridgeStart(): setting up async bridge ...
BCM2708PowerDomainARM::setReset(): setting RSTN bits to 0x40 ...
BCM2708ArmControl::bridgeCycleBresp(): cycling through bresp bits ...
BCM2708PowerDomainARM::setReset(): setting RSTN bits to 0x40 ...
BCM2708ArmControl::bridgeStart(): starting async bridge now!
BCM2708ArmControl::bridgeStart(): bridge init done, PM_PROC is now: 0x107F!
Starting IPC monitor ...
n ARM, continuing boot from here ...
[BRINGUP:main]: Firmware data: SDRAM_SIZE=0, VPU_CPUID=0x4000140
[BRINGUP:main]: Security extensions are supported!
[BRINGUP:main]: Execution mode: Supervisor
[BRINGUP:heap_init]: Initializing heap at 0x24000 with size 0x100000
__cxx_init: calling 4 static constructors (0xE000 - 0xE010) ...
[EMMC:restart_controller]: hcfg 0xE, cdiv 0x0, edm 0x8C01, hsts 0x0
[EMMC:restart_controller]: Restarting the eMMC controller ...
[EMMC:configure_pinmux]: waiting for pinmux pull update ...
[EMMC:configure_pinmux]: waiting for pinmux clock update ...
[EMMC:configure_pinmux]: ok ...
[EMMC:configure_pinmux]: pinmux configured for aux0
[EMMC:reset]: resetting controller ...
[EMMC:query_voltage_and_type]: waiting for SD (0x40ff8000) ...
[EMMC:query_voltage_and_type]: SD card has arrived!
[EMMC:query_voltage_and_type]: This is an SDHC card!
[EMMC:identify_card]: identifying card ...
[EMMC:identify_card]: RCA = 0x1234
[EMMC:init_card]: Detected SD card:
Product : SA16G
CSD : Ver 2.0
Capacity: 30228480
Size : 29519
BlockLen: 0x200
[EMMC:init_card]: Card initialization complete: SA16G 2472MB SDHC Card
[EMMC:init_card]: Identification complete, changing clock to 50MHz for data mode ...
[EMMC:BCM2708SDHost]: eMMC driver sucessfully started!
[MBRDISK:read_mbr]: Reading master boot record ...
[MBRDISK:read_mbr]: MBR contents:
0: FAT32-INT13 at:1 size:125000
1: <Unknown> at:0 size:0
2: <Unknown> at:0 size:0
3: <Unknown> at:0 size:0
[MBRDISK:MbrImpl]: Disk ready!
[LDR:LoaderImpl]: Mounting boot partitiion ...
[LDR:LoaderImpl]: Boot partition mounted!
[LDR:read_file]: cmdline.txt: reading 55 bytes to 0x24E90 (allocated=1) ...
[LDR:LoaderImpl]: kernel cmdline: console=ttyAMA0,115200 elevator=deadline rdinit=/bin/sh
[LDR:read_file]: rpi.dtb: reading 7466 bytes to 0xF000000 (allocated=0) ...
[LDR:load_fdt]: FDT loaded at F000000
[LDR:load_fdt]: (valid) fdt loaded at 0xF000000
[LDR:read_file]: zImage: reading 3914456 bytes to 0x2000000 (allocated=0) ...
[LDR:LoaderImpl]: zImage loaded at 0x2000000
[LDR:LoaderImpl]: Flushing....
[EMMC:stop]: flushing fifo ...
[EMMC:stop]: asking card to enter idle state ...
[EMMC:stop]: stopping sdhost controller driver ...
[EMMC:stop]: powering down controller ...
[EMMC:stop]: resetting state machine ...
[LDR:LoaderImpl]: Jumping to the Linux kernel...
@sJCCJs What linux kernel version are you compiling and what version of the Raspberry Pi are you testing on?
@NF3RN0 The Raspberry Pi is the model 2b and the kernel is 4.9.99 but I tried with librepi/linux with the same problem, so I don't think would be a problem with the version kernel. The problem is that the bootlog stop on "Jumping to the Linux kernel..." and not uncompress the linux kernel. The cross compiler I'm using is "arm-linux-gnueabi-"
@NF3RN0 I've found that the Rpi model is 2b rev1.2, with BCM2837 soc like pi 3b, and that's the problem. Someone has booted this model? I tried with the dtb of rpi3b and kernels librepi, 4.9.99 and 5.2.3 but with same problem (hangs on "jumping to the linux kernel").
@sJCCJs The only successful board I have booted fully to linux was the BCM2836 (Raspberry Pi 2). You can review all of my logs here. I've tried various models including the 3B and Zero but I do not own one of the recently revised 2B with the BCM2837.