ECEC 550
Modern Computer: Secure Infrastructure
This section uses Solitude. The labs are public chip documents, a bootloader you rebuild, and a method the next student can run. The course starts where ECE 440 stops. The station is already booted. A boot log by itself is not a hand-in. The boot media on this section is a card.
Each week has two lecture hours, a two-hour lab, and four homework hours. Week 3 has no Monday lecture, so that week has one lecture hour. The lab that week stays two hours.
In class is the lecture. The lab and the homework under it are different hand-ins. Read the module the week names, and stop where the week says to stop. A claim in a public document counts when the running board shows the same fact.
All four courses. Modules and labs: education.libre.computer.
Week 1
In class
Public SoC sections a student may rely on, and questions those documents do not answer. Check a claim only against the running board. A section goes in the first column when you can point at the same fact on the board. A question the document does not answer stays in the second column. A section you will not rely on stays off the graded table.
The homework is one public section the lecture says a student may not treat as a register list, and why. Use a section title from the documents in front of you. These notes do not print a second table of section numbers.
On the lab site: the resources page lists public documents and schematics. The modules do not grade this table. This week does.
Lab
- From public SoC documents only, list the sections a student may rely on and the questions those documents do not answer.
- Check each claim against the running board. Second pass: add one section you will not rely on, then leave it off the graded table.
- Assemble the lab hand-in: A table of public SoC document sections: what a student may rely on, and what the document does not say.
Hand in: A table of public SoC document sections: what a student may rely on, and what the document does not say.
Homework
Pick one public section the lecture says a student may not treat as a register list, and write why. Turn in: The section title and that reason.
Week 2
In class
Each boot stage needs one log line and one public paragraph. The pair is a citation, not a stage map. The log line is from a capture on this board. The paragraph is from a public document, with that document's title and section number. Write the title and the section number before you copy the paragraph. That pair is the homework.
On the second pass, swap one paragraph for a nearer section, then keep the one you will cite. A stage map with no public paragraph is an earlier course's hand-in. This week collects the citation.
On the lab site: Module 3, The boot ROM, through Module 8, Linux boots, name the stages. This week grades the citation table. Past Module 12, the citations are the method.
Lab
- For each boot stage, cite one line from a log and one paragraph from a public document.
- Second pass: swap one paragraph for a nearer section, then keep the one you will cite.
- Assemble the lab hand-in: A citation table: each boot stage, one log line, and one public paragraph.
Hand in: A citation table: each boot stage, one log line, and one public paragraph.
Homework
Pick one stage and write the public document's title and section number you will cite, before you copy a paragraph. Turn in: The document title and the section number.
Week 3
In class
No Monday lecture. One lecture hour remains: how to diff the live device tree against the source tree. Bring the section titles already written on your week-1 table.
Copy three section titles from the week-1 table you already turned in, onto a page, before you open the live tree. Those three titles are the homework. In the lab, diff the live tree against the source tree. The hand-in is that diff, plus three week-1 titles that do not appear in the live tree. A title that did appear stays out of those three.
On the lab site: Module 5, Memory bring-up, and Module 9, Device tree and pin multiplexing, show the tree. This week grades the diff and the three titles.
Lab
- No Monday class. Diff the live device tree against the source tree.
- For three section titles from your week-1 table, write down each title that does not appear in the live tree. Second pass: name one title that did appear, and leave it out of the three you turn in.
- Assemble the lab hand-in: The diff of the live device tree against the source tree, plus three week-1 section titles that do not appear in the live tree.
Hand in: The diff of the live device tree against the source tree, plus three week-1 section titles that do not appear in the live tree.
Homework
From the week-1 table you already turned in, copy three section titles onto a page before you open the live tree. Turn in: Three section titles copied from the week-1 table you already turned in.
Week 4
In class
A rebuild has an identity, one console line only that build prints, and the commands a classmate uses. The toolchain command for a clean rebuild, and the directory it must be run in, are on the bench card the instructor posts for this week. Copy both. Those two are the homework. These notes do not print a second command.
Rebuild on the bench PC, boot the board from that build, and record the identity and the console line the stock image does not print. Write the commands a classmate uses to boot it. Reboot from the same build and confirm the same identity line.
On the lab site: Module 4, Loading the bootloader into SRAM, and Module 6, Software in DRAM, describe the stages. This week grades the rebuild. The basic modules stop at Module 12.
Lab
- Rebuild the open bootloader on the bench PC. Boot the board from that build.
- Record the identity of the build and the console line that only that build prints. Write the commands a classmate needs. Second pass: reboot from that same build and confirm the same identity line.
- Assemble the lab hand-in: The bootloader build identity, the console line that only that build prints, and the commands a classmate uses to boot it.
Hand in: The bootloader build identity, the console line that only that build prints, and the commands a classmate uses to boot it.
Homework
Write the toolchain command the lecture gives for a clean rebuild, and the directory it must be run in. Turn in: The command and the directory.
Week 5
In class
A method names instruments, steps, and what to record. It does not report the numbers. The three measurements are boot time, idle power, and one peripheral transaction. For idle power, the instrument is the USB power meter on the bench, placed between the supply and the board. The unit is the unit that meter prints. Copy the instrument and the unit. Those two are the homework.
Have your partner read one step aloud. If they cannot follow it, fix the step. The sheet still has no measured numbers on it.
On the lab site: Module 2, First power-on and voltage rails, shows the meter. No basic module grades a method sheet another student can run. This week is past Module 12.
Lab
- Write the method, not the numbers: instruments, steps, and what to record for boot time, idle power, and one peripheral transaction.
- Second pass: have your partner read one step aloud and fix a step they cannot follow.
- Assemble the lab hand-in: A method sheet: instruments, steps, and what to record for boot time, idle power, and one peripheral transaction.
Hand in: A method sheet: instruments, steps, and what to record for boot time, idle power, and one peripheral transaction.
Homework
Write the instrument the lecture names for idle power, and the unit it reports. Turn in: The instrument and the unit.
Week 6
In class
A peer rerun changes nothing in the method. The note is what did not match. Run another student's week-5 method as written. Write the classmate's name and the one step you will not change. That pair is the homework. If a step fails to match, rerun that same step and still change nothing.
The graded note is the mismatch. It is not a rewritten method.
On the lab site: Module 12, A whole system, does not grade a peer rerun. This week is past Module 12.
Lab
- Run another student's week-5 method.
- Change nothing in the method. Write what did not match. Second pass: rerun the same step that failed to match, still changing nothing, and keep the second observation in your notes.
- Assemble the lab hand-in: A peer-rerun note: what did not match the week-5 method.
Hand in: A peer-rerun note: what did not match the week-5 method.
Homework
Write the classmate's name and the one step you will not change when you rerun their method. Turn in: The name and the step you leave alone.
Week 7
In class
One kernel revision moves on spare media. Record boot, the device tree, and one peripheral. The spare on this section is a card. Leave the main card alone until the move is on the spare. The version string is one of the two the instructor writes on the board. Copy the one you will install, before you install it. That string is the homework. These notes do not print version strings.
Boot the previous revision once more so you can name which one you left installed. The record is what the board still does after the move: boot, the device tree, and one peripheral.
On the lab site: Module 12, A whole system, does not grade a kernel-revision move. This week is past Module 12.
Lab
- Move one kernel revision on spare media.
- Record what the board still does: boot, the device tree, and one peripheral. Second pass: boot the previous revision once more so you can name which one you left installed.
- Assemble the lab hand-in: A record of one kernel revision move: what the board still does.
Hand in: A record of one kernel revision move: what the board still does.
Homework
Write the kernel package version you will move to, from the lecture list, before you install it. Turn in: That version string.
Week 8
In class
From the public reset description, say what the first stage can check at reset and what it cannot. Use the public description and the week-4 boot. A check that needs DRAM stays on the cannot side. Do not name a register the public description does not name.
The homework pair is one check a first stage can do with no DRAM, and one it cannot. The check with no DRAM is the first stage's own console line, the line only that build prints. The check it cannot do yet is a kernel image resident in DRAM. Copy that pair.
On the lab site: Module 12, A whole system, does not grade this reset note. This week is past Module 12.
Lab
- From the public reset description and the week-4 boot, write what the first stage can check on this board and what it cannot.
- Second pass: mark one check that needs DRAM, and keep it on the "cannot" side.
- Assemble the lab hand-in: A one-page note of what the first stage can check at reset on this board, and what it cannot.
Hand in: A one-page note of what the first stage can check at reset on this board, and what it cannot.
Homework
Write one check the lecture says a first stage can do with no DRAM, and one it cannot. Turn in: Those two checks.
Week 9
In class
One device-tree or driver change, in the form an upstream project would read: a commit message, a diff, and a test log. This is not ECE 440's teaching module. The subject line is at most eight words. The test command is the command you will run after the edit. Write both before you edit. That pair is the homework.
Run the test a second time and keep that log in your notes. The graded test log is the first run.
On the lab site: Module 11, Drivers, does not grade a commit message, a diff, and a test log. This week is past Module 12.
Lab
- Make one device-tree or driver change in the form an upstream project would read.
- Include a test you run, and a commit message. This is not ECE 440's teaching module. Second pass: run the test a second time and keep that log in your notes.
- Assemble the lab hand-in: The commit message, the device-tree or driver diff, and the test log.
Hand in: The commit message, the device-tree or driver diff, and the test log.
Homework
Write a planned subject line of at most eight words, and the test command you will run after the edit. Turn in: The subject line and the test command.
Week 10
In class
The report and the reproduction package carry the week-5 method, the week-4 build identity, and the week-6 peer note. The report is for a student who was not in the section. The three filenames are the names of those three items inside the package. Write the audience sentence and the three filenames before you pack. That pair is the homework.
Unpack the package on the bench PC and confirm the three items are inside. The report is individual even when a bench is shared.
On the lab site: Module 12, A whole system, has no paper and no reproduction package. This week is past Module 12.
Lab
- Write the report and pack the method, the build identity, and the peer note so a student who was not in the section can repeat the work.
- Second pass: unpack the package on the bench PC and confirm the three items are inside.
- Assemble the lab hand-in: The paper-style report and the reproduction package containing the week-5 method, the week-4 build identity, and the week-6 peer note.
Hand in: The paper-style report and the reproduction package containing the week-5 method, the week-4 build identity, and the week-6 peer note.
Homework
Write who the report is for, in one sentence, and the three filenames the package must contain. Turn in: The audience sentence and the three filenames.