Ignore:
Timestamp:
Jan 13, 2013, 9:16:10 AM (13 years ago)
Author:
Ben Rietbroek
Message:

Corrected CRC calculations in installers and setaboot [2012-01-21]

Fixes

o Corrected CRC calculations on AiR-BOOT configuration in the

installers and setaboot. They are now v1.07 compatible again.

Note

This commit and all following commits upto and including the RC3
commit [2012-09-09] are delayed commits from a local repository.
Also, the RC (Release Candidate) naming of the corresponding commits
is a bit misleading. One would label a revision with RC when near to
a final release. Since many things have changed between RC1,RC2 & RC3,
these RC's should be interpreted as mile-stones.

WARNING!!

All commits upto and including the commit of [2012-05-13] contain
a severe bug!! Building from these sources and then disabling
the 'force LBA' feature while also using the drive-letter feature or
editing the label can destroy the MBR on all attached disks!!
DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE ABOVE COMMITS!!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/TOOLS/OS2/SETABOOT/SETABOOT.C

    r32 r35  
    312312// Since the functionality of this utility is for AiR-BOOT only, we will pass the request to
    313313// the OS/2 BM SETBOOT utility which is called SETBM.EXE as of eCS 2.1.
    314 // Since the objective here is to supply OS/2 BM SETBOOT compatibility, if SETBM.EXE is not found,
    315 // some other system locations are searched for the OS/2 version of SETBOOT.EXE.
    316 // Any SETBOOT.EXE that is found and that does not have a module-name of "setaboot" is invoked,
    317 // and passed along the command-line the user issued.
    318 // In this case also the return-value of the OS/2 version of SETBOOT.EXE is returned.
     314// In this case also the return-value of SETBM.EXE is returned.
    319315*/
    320316int   DoClassicActions(int argc, char **argv) {
     
    347343      printf("\n");
    348344      printf("ERROR: SETBOOT (AiR-BOOT version)\n");
    349       printf("Since the AiR-BOOT Boot Manager is not installed, this program (SETBOOT.EXE), funcions as a wrapper\n");
     345      printf("Since the AiR-BOOT Boot Manager is not installed,\n");
     346      printf("this program (SETBOOT.EXE), funcions as a wrapper\n");
    350347      printf("to %s that should be used to control IBM Boot Manager.\n", classic_setboots[0]);
    351348      printf("However, %s could not be found in the PATH, the error-code is: %d\n", classic_setboots[0], rc);
     
    396393      printf("\n");
    397394      printf("ERROR: SETBOOT (AiR-BOOT version)\n");
    398       printf("Since the AiR-BOOT Boot Manager is not installed, this program (SETBOOT.EXE), funcions as a wrapper\n");
     395      printf("Since the AiR-BOOT Boot Manager is not installed,\n");
     396      printf("this program (SETBOOT.EXE), funcions as a wrapper\n");
    399397      printf("to %s that should be used to control IBM Boot Manager.\n", classic_setboots[0]);
    400398      printf("However, something went wrong when executing %s.\n", classic_setboots[0]);
     
    418416}
    419417
    420 
     418/*
     419// This funtion is invoked when AiR-BOOT is installed.
     420// It mimics the behavior of the original SETBOOT.EXE utility,
     421// but operates on AiR-BOOT.
     422*/
    421423int   DoAirBootActions(int argc, char **argv, BOOL ab_detected, BOOL ab_bad) {
    422424   ULONG           CurArgument      = 0;
     
    472474   */
    473475   //puts ("SETABOOT - AiR-BOOT Configuration Utility (OS/2) - (c) 2004-2009 by M. Kiewitz");
    474    puts ("SETABOOT v1.07a - AiR-BOOT Configuration Utility - (c) 2004-2011 by M. Kiewitz");
     476   //puts ("SETABOOT v1.07a - AiR-BOOT Configuration Utility - (c) 2004-2011 by M. Kiewitz");
     477   puts ("SETABOOT v1.0.8 - AiR-BOOT Configuration Utility - (c) 2004-2012 by M. Kiewitz");
    475478
    476479
     
    941944
    942945   // Calculate CheckSum...
     946   // Rousseau: Only check 5 sectors for v1.07 compatibility.
    943947   ResultCheck = 0; CurSectorNo = 55;
    944    while (CurSectorNo<62) {
     948   while (CurSectorNo<60) {
    945949      ResultCheck = GetChecksumOfSector(ResultCheck, CurSectorNo);
    946950      CurSectorNo++;
Note: See TracChangeset for help on using the changeset viewer.