anchor.diff:  
   %%% -------------------------------------------------
   %%% Stop the system. 
  -%%% Reason is: restart | reboot | stop
  +%%% Reason is: restart | {restart, Mode} | reboot | stop
   %%% According to reason terminate emulator or restart
   %%% system using the same init process again.
   %%% -------------------------------------------------
  
positive.code:     BootPid = State#state.bootpid,
      {_,Progress} = State#state.status,
      State1 = State#state{status = {stopping, Progress}},
      clear_system(BootPid,State1),
      do_stop(Reason,State1).
  
  do_stop({restart,Mode},#state{start=Start, flags=Flags0, args=Args}) ->
  
negative.code:     State;
  new_kernelpid({Name,What},BootPid,State) ->
      erlang:display({"could not start kernel pid",Name,What}),
      clear_system(false,BootPid,State),
      crash("could not start kernel pid", [Name, What]).
  
  %% Here is the main loop after the system has booted.
  