Comments (9)
I can replicate this.
It's start.elf
+ fixup.dat
issue (which are files we don't create but obtain from the Raspberry Pi Foundation).
When using the previous version of start.elf
and fixup.dat
with the new firmware, everything is fine, but with the current ones, not only does USB keyboard/mouse not work but we get garbled output on the console, which most likely comes from start.elf
.
I guess a quick workaround is be to update the current archive to use the previous version while we try to figure out how the Pi Foundation boot code is interfering with the UEFI firmware...
from rpi3.
IMHO, the CI code should not download the latest version of those files. it should always get a specific version.
from rpi3.
@rgl: I don't see why we shouldn't. We have no idea of bugfixes and improvements that may happen in start.elf
and that may be relevant to us. It'd be like us telling users of the UEFI firmware that they should stick with a specific version. I'd much rather try to figure out what's wrong than deprive users of potentially important improvements because we are holding start.elf
back...
@jp-coding: Please re-download the archive. It should be working now.
from rpi3.
Using the latest version of anything is a thin ice walking, sometimes it brakes and you go under. Using a specific version means you know what is inside your release. And you know how to reproduce the build. And it's the same reason you are not using the latest version of edk2 I guess. You only want to depend on a known/stable/tested version, which rpi firmware has. So, maybe this should at least only depend on the latest stable version (known at the time of this repo version build) of the rpi firmware.
from rpi3.
sometimes it brakes and you go under
No, sometimes it breaks and we address it. If anything it helps us identifying issues long before someone comes to us and says "I updated my start.elf
and fixup.dat
because it's supposed to include fixes or improvements for something I need, and now it doesn't work".
And you know how to reproduce the build.
That's a non issue. For one thing, there are timestamps in the firmware, so reproducing builds exactly is not going to happen unless we address that. But outside of the timestamps, you just have to know the time the build was issued to know which of the firmware files were used, so if someone is interested to reproduce our builds, including picking up the same blobs we use, they very much can. The Pi Foundation does not hide the old blobs once they release new ones, they are very much still available from their firmware repo.
And it's the same reason you are not using the latest version of edk2 I guess.
Oh but we very much do. All of the repos we depend on for the build, including edk2, are updated to latest before we issue it. And that's for the same reason as above: in order to pre-empt any recent changes introducing breakage rather than waiting for sporadic reports from users that may never come, if it's just a handful of users trying a blob update and silently reverting when they find it doesn't work... The idea here is that we can offset some of the testing to our users, rather than have to run a comprehensive battery of tests every time we push a release, which would otherwise require time that we genuinely don't have. So that's what we are doing because, as you have seen, we can usually quickly and easily sort something up so that our users aren't left stranded, if they do report issues.
depend on the latest stable version (known at the time of this repo version build) of the rpi firmware.
Every rpi firmware is supposed to be stable. The firmwares blobs published by the Pi Foundation are not supposed to be experimental, so breakage is supposed to be the exception rather than the rule, which is why we really want to investigate and help fix issues, hopefully with the help of the Foundation, when that happens. It's much better than have to maintain a spreadheet of "blobs from YYYYMMDD: good, blobs from YYYYMMDD + N: bad" and potentially end up, in 5 or 10 years time, using outdated blobs because we chose to stick to the last known version that seemed to work and never investigated anything...
from rpi3.
Sorry, I didn't understand that the point of this repo is for testing the latest releases of everything. Looking at it that way, I'm perfectly fine with it.
About the rpi firmware versions, they do have a stable and experimental versions. At least they have a master and stable branches.
from rpi3.
they do have a stable and experimental versions.
That's a good point. I wasn't aware of that.
Do you know if these can be identified from the commit log or do we have to look elsewhere to find out which are stable and which are experimental?
from rpi3.
Ah, I see they are using branches: https://github.com/raspberrypi/firmware/commits/stable
That's very good to know. If we're running into too many issues with master we may switch to using that.
from rpi3.
I do not known much more details; I think it would be good if they tagged theirs releases, but I didn't look into it further than noticing they have several "release channels". I've start noticing it at https://github.com/raspberrypi/rpi-eeprom/tree/master/firmware (as different files/directories where they use some kind of versioning in the filenames) and at the https://github.com/raspberrypi/firmware (as different branches).
from rpi3.
Related Issues (20)
- Rainbow screen with some SD cards on 3A+, 3B, 3B+ but not Pi 2 (Was: v1.30 doesn't boot past rainbow on 3A+, 3B, 3B+. Works on Pi 2 v1.2) HOT 12
- SD card-less booting HOT 1
- Uefi Rpi3
- Devicetree only booting exposes ACPI HOT 1
- Pi 3A+ regression HOT 2
- Extremely long startup delays with cm3
- ERROR internal error: Unexpected enum value 0 for virDomainDeviceAddressType HOT 1
- Rainbow screen and console print error HOT 2
- Arm32 support? HOT 1
- Debian 11 on RPi3B HOT 16
- rpi3 b+ will not boot with overlays directory present HOT 2
- rpi firmware boot issue HOT 1
- how to use it in qemu raspi3b HOT 1
- PXE boot missing HOT 1
- Support for Zero 2? HOT 2
- Synchronous Exception at 0x00000000338C1000
- Unable to boot FreeBSD EFI HOT 2
- Hang on (re)boot HOT 1
- synchronus exception 333ae89c
- Fedora CoreOS: stuck on efi stub: exiting boot services HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rpi3.