Project

General

Profile

Submit #1700

Updated by tuxillo about 2 months ago

Hi, 

 

 tuxillo noticed that the trick to speedup booting by hitting <enter> 
 
 does not work with default UFS-based installations, as those have no 
 
 separate /boot partition, and therefore the default location for the 
 
 loader is wrong (it had been changed to match default HAMMER 
 
 installations in commit:3735e368a1bdbe773c79c34512f49c905ff77bd7) 

 3735e368a1bdbe773c79c34512f49c905ff77bd7) 

 We could change boot2 to just continue it's normal operation without 
 
 entering the prompt when the user hits <enter>. That way one can avoid 
 
 the delay on UFS and HAMMER systems: 

 <pre> 
 <code class="ruby"> 
 

 diff --git a/sys/boot/pc32/boot2/boot2.c b/sys/boot/pc32/boot2/boot2.c 
 
 index 459436f..55516be 100644 
 
 --- a/sys/boot/pc32/boot2/boot2.c 
 
 +++ b/sys/boot/pc32/boot2/boot2.c 
 
 @@ -346,7 +346,7 @@ main(void) 
       
       */ 
      
      if (autoboot && !*kname) { 
 	 
 	 memcpy(kname, PATH_BOOT3, sizeof(PATH_BOOT3)); 
 
 - 	 if (!keyhit(3*SECOND)) { 
 
 + 	 if (!keyhit(3*SECOND) || xgetc(0) == '\r') { 
 	     
 	     load(); 
 	     
 	     memcpy(kname, PATH_BOOT3_ALT, sizeof(PATH_BOOT3_ALT)); 
 	     
 	     load(); 

 </code> 
 </pre> 

 

 To actually enter the prompt one has to hit any other key (e.g. Esc). 

 

 The check for '\r' works ok for me, but maybe we also need to check 
 
 for '\n'? 

 

 Cheers, 
 
 Johannes

Back