Lab 9
Project build and recovery
Build the project you and your partner proposed, and show one part of it working. Then break your board's boot on purpose, on spare media, and bring it back, and write the recovery up so that another student could follow it.
Modules this lab uses
- Module 12: A whole system
- Module 3: The boot ROM, for starting the board over USB
What you need
- Your station's board, power supply, serial console and spare boot media
- Your project's parts
- An Android phone with the Libre Computer app and its USB cable, or the bench PC
The project
The final project is a small system that uses at least two of the course's buses, starts on boot as a service, survives having its power pulled, and has a README another student could rebuild it from.
Steps: the build
- Build the project you proposed, one subsystem at a time, with every wiring change made with the board unplugged.
- Make one subsystem work end to end and show it at the checkpoint.
- Update your design document with what changed since the proposal.
Steps: break it and bring it back
- Use only your station's spare boot media, and only after your TA has checked the recovery path with you. Your board's own firmware in SPI flash is never changed.
- Break the boot configuration on the spare media on purpose, and note exactly what you changed.
- Boot from it with the console open, and read where the boot stops. Name the stage from what you learned in labs 3 to 5.
- Show that the board still comes up from its boot ROM: start it over USB as in lab 3, from the phone with the app or from the bench PC with the Amlogic USB boot tool. Then restore the spare media, with the app (it writes the media in the board) or with the desktop imager on the bench PC, as your bench describes.
- Boot again and show that the board is back.
- Write the recovery as a runbook: what another student would see, what it means, and each step that brings the board back.
What to measure
- The last line the console printed with the broken configuration, and the stage it belongs to.
- That the recovered board boots to its login prompt again.
What you hand in
- A working subsystem, shown at the checkpoint.
- Your updated design document.
- A recovery runbook another student could follow.
If it goes wrong
Recovering a board is the point of this lab. If your recovery does not bring it back, work down when it will not boot on your bench page and tell your TA if you reach the last row.