%      Building Murphy compatible embedded Linux systems    
                                                                              
%   Gilad Ben-Yossef (gilad@codefidence.com)                

It's 2:00 a.m. An embedded Linux system  
in the ladies' room of an Albuquerque gas station is     
being updated remotely. Just as the last bytes hit the  
flash, disaster strikes---the power fails. Now what?    
The regular way of updating the configuration or        
performing software upgrade of Linux systems is a \textit{nonsequitur}
in the embedded space. Still, many developers   
use these methods, or worse, for lack of a better       
alternative. This talk introduces a better 
alternative---a framework for safe remote configuration and         
software upgrade of a Linux system that supports atomic 
transactions, parallel, interactive and programmed      
updates, and multiple software versions with rollback   
and all using using such ``novel'' concepts as POSIX      
\ident{rename(2)}, Linux \ident{pivot_root(2)}, and the initrd/initramfs 
mechanism.                                              
