| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -16,6 +16,7 @@ static kj::Array<capnp::word> build_boot_log() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  std::map<std::string, std::string> pstore_map; | 
					 | 
					 | 
					 | 
					  std::map<std::string, std::string> pstore_map; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  util::read_files_in_dir(pstore, &pstore_map); | 
					 | 
					 | 
					 | 
					  util::read_files_in_dir(pstore, &pstore_map); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  const std::vector<std::string> log_keywords = {"Kernel panic"}; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  auto lpstore = boot.initPstore().initEntries(pstore_map.size()); | 
					 | 
					 | 
					 | 
					  auto lpstore = boot.initPstore().initEntries(pstore_map.size()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  int i = 0; | 
					 | 
					 | 
					 | 
					  int i = 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  for (auto& kv : pstore_map) { | 
					 | 
					 | 
					 | 
					  for (auto& kv : pstore_map) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -23,6 +24,12 @@ static kj::Array<capnp::word> build_boot_log() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    lentry.setKey(kv.first); | 
					 | 
					 | 
					 | 
					    lentry.setKey(kv.first); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    lentry.setValue(capnp::Data::Reader((const kj::byte*)kv.second.data(), kv.second.size())); | 
					 | 
					 | 
					 | 
					    lentry.setValue(capnp::Data::Reader((const kj::byte*)kv.second.data(), kv.second.size())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    i++; | 
					 | 
					 | 
					 | 
					    i++; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    for (auto &k : log_keywords) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      if (kv.second.find(k) != std::string::npos) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        LOGE("%s: found '%s'", kv.first.c_str(), k.c_str()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  std::string launchLog = util::read_file("/tmp/launch_log"); | 
					 | 
					 | 
					 | 
					  std::string launchLog = util::read_file("/tmp/launch_log"); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |