anchor.diff:  do_boot(Init,Flags,Start) ->
       process_flag(trap_exit,true),
       {Pgm0,Nodes,Id,Path} = prim_load_flags(Flags),
  -    Root = b2s(get_flag(root, Flags)),
  +    Root = get_root(Flags),
       PathFls = path_flags(Flags),
       Pgm = b2s(Pgm0),
       _Pid = start_prim_loader(Init,b2a(Id),Pgm,bs2as(Nodes),
  
positive.code: %%         atom() if a single arg was given.
  %%         list(atom()) if several args were given.
  %%
  get_flag(F,Flags,Default) ->
      case catch get_flag(F,Flags) of
  	{'EXIT',_} ->
  	    Default;
  	Value ->
  	    Value
      end.
  
  get_flag(F,Flags) ->
      case search(F,Flags) of
  	{value,{F,[]}} ->
  	    true;
  	{value,{F,[V]}} ->
  	    V;
  	{value,{F,V}} ->
  	    V;
  	_ ->
  	    exit(list_to_atom(concat(["no ",F," flag"])))
      end.
  
  %%
  %% Internal get_flag function, with default value.
  %% Return: list(atom()) 
  %%
  get_flag_list(F,Flags,Default) ->
      case catch get_flag_list(F,Flags) of
  	{'EXIT',_} ->
  	    Default;
  	Value ->
  	    Value
      end.
  
  get_flag_list(F,Flags) ->
      case search(F,Flags) of
  	{value,{F,V}} ->
  	    V;
  	_ ->
  	    exit(list_to_atom(concat(["no ",F," flag"])))
      end.
  
  %%
  
negative.code:     (catch erlang:system_info({purify, "Node: " ++ atom_to_list(node())})),
  
      start_em(Start).
  
  get_root(Flags) ->
      case get_argument(root, Flags) of
  	{ok,[[Root]]} ->
  	    Root;
  	_ ->
  	    exit(no_or_multiple_root_variables)
      end.
  
  bootfile(Flags,Root) ->
      b2s(get_flag(boot, Flags, concat([Root,"/bin/start"]))).
  