S35 · SOURCE-BOUND GATE EVIDENCE
RPi5 G7b düzeltmesi gerçek UART10 BOOT7B fiziksel PASS verdi
S35 fiziksel log kapısı → kendi G7B validator kodu Bu sayfa yalnız S35 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S35Komut / fiziksel sözleşmeOperations id exactsource SHA exact
operation: rpi5-g7b-fixed-physical-boot7b-pass
script/Makefile/config · Operations · 2 exact excerpt
sequence-bound=true · implementation-bound=false
01 · Yürütme / doğrulama kodu
Kapının gerçek repository sözleşmesi
tam Rust öğesiL6–L59
simulation/examples/verify_rpi5_g7b_log.rs::main
fn main() -> ExitCode {
let mut args = env::args_os();
let program = args
.next()
.and_then(|value| value.into_string().ok())
.unwrap_or_else(|| "verify_rpi5_g7b_log".to_string());
let Some(path) = args.next() else {
eprintln!("usage: {program} <screenlog-path|->");
return ExitCode::from(2);
};
if args.next().is_some() {
eprintln!("usage: {program} <screenlog-path|->");
return ExitCode::from(2);
}
let input = if path == "-" {
let mut bytes = Vec::new();
if let Err(error) = io::stdin().read_to_end(&mut bytes) {
eprintln!("failed to read stdin: {error}");
return ExitCode::from(2);
}
bytes
} else {
match fs::read(&path) {
Ok(bytes) => bytes,
Err(error) => {
eprintln!("failed to read {:?}: {error}", path);
return ExitCode::from(2);
}
}
};
match verify_transcript(&input) {
Ok(evidence) => {
println!(
"G7b UART evidence PASS: regions={} total_frames={} remaining_frames={} frame=0x{:x} boot7_ticks={} g7b_base_ticks={} g7b_delta={}",
evidence.region_count,
evidence.total_frames,
evidence.remaining_frames,
evidence.frame,
evidence.boot7_ticks,
evidence.g7b_start_ticks,
evidence.tick_delta(),
);
println!("G7b exclusion-scope limitation: {EXCLUSION_SCOPE_LIMITATION}");
ExitCode::SUCCESS
}
Err(error) => {
eprintln!("{error}");
ExitCode::FAILURE
}
}
}snippet sha256: a445bf8cde88…file sha256: f38bd2d85b67…
02 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL34112–L34148
website/src/lib/operations.ts::rpi5-g7b-fixed-physical-boot7b-pass
{
id: "rpi5-g7b-fixed-physical-boot7b-pass",
date: "2026-08-20",
sequence: 35,
status: "passed",
title: "RPi5 G7b düzeltmesi gerçek UART10 BOOT7B fiziksel PASS verdi",
summary:
"Sıra 34'te c065bbd7…db5f olarak doğrulanıp microSD'ye yazılan pre-MMU PMM düzeltmesi gerçek Raspberry Pi 5'te yeniden çalıştırıldı. Değiştirilmeden saklanan raw UART kaydının güç kesildikten sonraki son NUL trailer'ı strict ham doğrulamayı fail-closed düşürdü; yalnız bu son byte'ı stdin diliminde dışlayan canonical akış strict PASS verdi. BOOT0–BOOT7B zinciri, reserved-aware tek-frame PMM smoke'u ve G7B0 sonrasındaki 100 tick timer ilerlemesi fiziksel olarak kapandı. Sıradaki dar kapı G7c tek EL0 hello/SVC/exit'tir.",
evidence: [
"Değiştirilmemiş raw capture /tmp/aselsanos-g7b-fixed-physical.IYZi56/screenlog.0 exact 20340 B ve 417 LF'dir; SHA-256 58fef84f192fac77a78b69968431f1181c50b41b85f42049bf89dcb85b635c2a olarak donduruldu.",
"Raw kaydın ilk beş NUL byte'ı kabul edilen başlangıç sınırındadır. Strict raw doğrulama yalnız güç kesildikten sonra offset 20339'da oluşan final NUL trailer nedeniyle FAIL verdi; raw dosya değiştirilmedi.",
"Yalnız son byte'ı stdin slice'ta dışlayan canonical akış exact 20339 B ve SHA-256 4b974e3730e84f635c935f00e8479c3810bbb62f60382cf70d57f1059527a7c9 olarak sabitlendi; strict G7b validator bu akışa PASS verdi.",
"On altı kabul marker'ı BOOT0, BOOT1, BOOT2, BOOT3, RAM0, RAM1, BOOT4, GIC0, TIMER0, IRQ0, BOOT5, BOOT6, G7S0, BOOT7, G7B0 ve BOOT7B sırasıyla exact-once görüldü.",
"RAM sözleşmesi DTB=0x2efec500, RAM=2, RESERVED=4, CMA=1; heap=0x10c8000–0x18c8000 ve guard=0x10c7000–0x10c8000 olarak ölçüldü.",
"GICD/GICC fiziksel tabanları, NS PPI27, CNTFRQ=54000000, PERIOD=540000 ve IRQ0 INTID=27 doğrulandı.",
"G7a ön koşulu aynı boot'ta A1→B1→A2→B2 sırası ve BOOT7 SCHED=OK ORDER=ABAB STEPS=4 TICKS=202 ile yeniden geçti.",
"G7B0 exact RANGES=3 TOTAL_FRAMES=2073380 ALLOC=1 FRAME=0x18c8000 MAP=KERNEL_DATA RW=OK EXCLUDED=OK REMAINING=2073379 verdi.",
"BOOT7B PMM=OK TIMER=OK ALLOC=1 BASE_TICKS=203 TICKS=303 verdi; delta tam 100 tick'tir.",
"SEC1–SEC213 ve TICKS=21300 boşluksuz doğrulandı: gap=0, tick mismatch=0, drift_us=0; timer lateness count dağılımı 6:19, 7:40, 10:26 ve 11:128 idi. Forbidden-marker taraması sıfır sonuç verdi.",
"Firmware chatter 140432 bayt imaj, 78703 bayt DTB ve 501 bayt config yüklediğini gösterir fakat kriptografik hash taşımaz. c065bbd7…db5f artefact bağı sıra 34'teki 3/3 manifest + dört cmp chain-of-custody kanıtına dayanır.",
],
commands: [
"wc -c -l /tmp/aselsanos-g7b-fixed-physical.IYZi56/screenlog.0",
"shasum -a 256 /tmp/aselsanos-g7b-fixed-physical.IYZi56/screenlog.0",
"strict G7b validator on immutable raw capture",
"stdin slice bytes [0,20339) -> SHA-256 + strict G7b validator",
"exact-once/order, SEC continuity, tick arithmetic and forbidden-marker audit",
],
limitations: [
"Bu PASS tek bir yaklaşık 213 saniyelik fiziksel boot kaydıdır; farklı kart, güç, sıcaklık ve uzun soak koşullarını kapsamaz.",
"PMM kanıtı yalnız bir 4 KiB frame allocation ve üç u64, toplam 24 B volatile RW smoke'udur; exhaustion, region traversal, free/reuse, zeroing ve bütün RAM kanıtlanmaz.",
"EL0, SVC/syscall, IRQ tabanlı preemption ve SMP bu kaydın kapsamı dışındadır. Sıradaki kapı G7c tek EL0 hello/SVC/exit'tir; henüz PASS değildir.",
"Host doğrulayıcı yalnız loglanan DTB, heap ve guard aralıklarını bağımsız dışlar. Kernel, reserved-memory ve CMA ayrıntılı aralıkları UART'ta dökülmediğinden EXCLUDED=OK bu bölümler için kernel-side attestasyondur.",
"Raw capture son güç-kesme NUL trailer'ı nedeniyle strict validator'dan doğrudan geçmez; canonical PASS yalnız immutable raw dosyanın son byte'ını stdin diliminde dışlar ve raw SHA-256 kanıtını değiştirmez.",
"UART yükleme satırları c065bbd7…db5f hash'ini içermez; fiziksel paketin bu hash'e bağı sıra 34 kart yazma/manifest/cmp zinciridir, imzalı release attestasyonu değildir.",
],
},snippet sha256: 346165736e2e…file sha256: 9726dbf00f84…
Kayıtlı yürütme/kanıt komutu
wc -c -l /tmp/aselsanos-g7b-fixed-physical.IYZi56/screenlog.0Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9