Skip to content

Can't boot mainline 4.14.0-rc3 using bcm2835-rpi-zero.dtb #906

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
notro opened this issue Nov 28, 2017 · 4 comments
Closed

Can't boot mainline 4.14.0-rc3 using bcm2835-rpi-zero.dtb #906

notro opened this issue Nov 28, 2017 · 4 comments

Comments

@notro
Copy link
Contributor

notro commented Nov 28, 2017

config.txt

device_tree=bcm2835-rpi-zero.dtb

Result:

Uncompressing Linux... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x00000c42).

Available machine support:

ID (hex)        NAME
ffffffff        Generic DT based system
ffffffff        BCM2835

Please check your kernel config and/or bootloader.

This however boots fine:

device_tree=bcm2835-rpi-b-plus.dtb

I used fdtdump and compared the two dtbs, it looked fine to me: https://gist.github.com/notro/c137159039ae26f690862821b1dc8c1a
Tried this on both a Zero and a B+.

I haven't tagged the kernel.

Kernel and dtb: http://tronnes.org/downloads/bcm2835-rpi-zero.tar.gz

@pelwell
Copy link
Contributor

pelwell commented Nov 28, 2017

What ought to be the same kernel and .dtb boots OK for me, but using yours I get the same error message.

Will investigate tomorrow.

@pelwell
Copy link
Contributor

pelwell commented Nov 29, 2017

The Pi Zero DTB contains no /aliases node, and the firmware code to add an alias doesn't handle this case (it never occurs in the downstream DTBs). In addition, this failure was being treated as if it were fatal.

There are two new patches in the firmware pipeline that create the /aliases node as necessary and suppress the non-fatal errors. I'll comment when the fixed firmware is available, but until then the obvious workaround should suffice.

@notro
Copy link
Contributor Author

notro commented Nov 29, 2017

Thanks Phil, adding the node solved it.
I see that the aliases node was added to bcm283x.dtsi in 4.14-rc6:
torvalds/linux@f08f58a

The drm subsystem tree has been stuck on 4.14-rc3 for some time, but I see that it moved to -rc7 a week ago so I'm in the clear when I fetch that. Thanks for helping me out.

popcornmix added a commit that referenced this issue Dec 1, 2017
kernel: config: Add GPIO_PCF857X=m
See: raspberrypi/linux#2294

kernel: mcp2515: Use DT-supplied interrupt flags
See: raspberrypi/linux#2175

kernel: cgroup: Fix automatic disabling of cgroup memory
See: https://github.com/raspberrypi/issues/1950

firmware: arm_dt: Suppress non-fatal errors
See: #906

firmware: dtoverlay: Create "/aliases" node when needed
See: #906
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this issue Dec 1, 2017
kernel: config: Add GPIO_PCF857X=m
See: raspberrypi/linux#2294

kernel: mcp2515: Use DT-supplied interrupt flags
See: raspberrypi/linux#2175

kernel: cgroup: Fix automatic disabling of cgroup memory
See: https://github.com/raspberrypi/issues/1950

firmware: arm_dt: Suppress non-fatal errors
See: raspberrypi/firmware#906

firmware: dtoverlay: Create "/aliases" node when needed
See: raspberrypi/firmware#906
@pelwell
Copy link
Contributor

pelwell commented Dec 2, 2017

The fix for this bug is in the latest firmware release.

@notro notro closed this as completed Dec 2, 2017
pelwell pushed a commit to raspberrypi/userland that referenced this issue Dec 8, 2017
Attempting to add an alias currently fails if there is no
existing "/aliases" node. Prevent an error by creating one
as necessary.

See: raspberrypi/firmware#906

Signed-off-by: Phil Elwell <[email protected]>
jfmherokiller pushed a commit to jfmherokiller/userland that referenced this issue Feb 4, 2018
Attempting to add an alias currently fails if there is no
existing "/aliases" node. Prevent an error by creating one
as necessary.

See: raspberrypi/firmware#906

Signed-off-by: Phil Elwell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants