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