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

## RC1 ## -- Various Fixes and Enhancements [2012-01-25]

Fixes

o Fixed BootManager chaining

Chainloaing IBM BootManager would did now work because it was not
supplied with the correct information. It needs some special
signatures and data setup, especially when it is located above the
8 MiB boundary. In addidtion, when IBM BootManager is located on the
secon harddisk, a copy of the 1st harddisk MBR needs to be
at 0000:7E00 before relinguishing control to IBM-BM.

o Fixed Boot from Floppy

This did not work because Int13X was used to access the floppy
instead of the classic Int13 interface. On fresh installations the
booot from floppy menu-item is now enabled by default.

o Fixed drive-letter feature for when using JFS

The JFS boot-strap code does not use the boot-sector passed to it
in memory. Instead is uses the one that resides on disk. This made
the drive-letter feature disfunctional on JFS. Now, when using the
dl-feature on JFS, a modified PBR with the new drive-letter is
written to disk so the JFS boot-strap code uses the new
drive-letter.

o Fixed bug in LVM label editing

When editing an LVM-label, it was padded with spaces instead of
zero's. Labels in the PBR need to be space padded to 8 chars, LVM
labels need to be zero padded to 32-chars in the LVM-record.

o Fixed stuck Phase #1 indicator

When an eCS installation is taking place, and somehow this
installation passed a wrong volume-name or was aborted, the Phase #1
indicator would not be reset on next reboot, causing AiR-BOOT to
skip the menu and try to boot the partition that was being
installed, but has no system due to incorrect name or user abort.

Changes

o Show LVM Volume Label instead of LVM Partition Label

This makes the display of the labels more consistent with IBM-BM.
Since most systems will be partitioned with MiniLVM, which sets
both to the same name, this change will not be noted on the majority
of installations.

o Synchronize LVM-labels

When editing the LVM-lavel from AiR-BOOT SETUP, the LVM Partition
Label is synced with the new LVM Volume Label. This synchronization
only occurs when both were the same before the edit. It they were
different, only the LVM V-label is changed and the P-label remains
untouched.

o Protect type 0x35 partitions from label editing

These are spanned volumes and are not bootable anyway.
The normal eCS Volume Management tools should be used to change
the labels of these partition types.

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/BOOTCODE/REGULAR/PARTSCAN.ASM

    r32 r36  
    311311      stosw
    312312                              ; Set Serial-Field to LVM-VolumeID
     313
    313314      push     di
    314       add     si, LocLVM_PartitionName
    315 
     315      add     si, LocLVM_VolumeName     ; Use LVM VolumeName
     316      ;add     si, LocLVM_PartitionName  ; Use LVM PartitionName
    316317      mov     cx, 5
    317318      rep     movsw                      ; Copy LVM-PartitionName to Temp Space
    318319      movsb                               ;  (11 bytes in total)
    319 
    320320      pop   di
     321
     322
     323      ; Check if this is an IBM-BM partition
    321324      cmp   PartSystemID, 0ah
    322 
    323325      jne   PCCTP_NoIbmBm
     326
     327      ; It is, so override the name given by IBM-BM by one that
     328      ; fits in 11 chars.
    324329      mov   si, offset ibm_bm_name
    325330      mov   cx,5
     
    330335
    331336   PCCTP_NoIbmBm:
    332 
    333 
    334337   pop     di si dx ax
    335338   mov     si, offset MBR_NoName_Patched
     
    660663   cmp     NewPartitions, LocIPT_MaxPartitions
    661664   jbe     PCCTP_NotTooManyPartitions
     665
    662666   mov     si, offset TXT_TooManyPartitions
    663667   call    MBR_Teletype
    664668   jmp     MBR_HaltSystem
     669
    665670
    666671  PCCTP_NotTooManyPartitions:
     
    693698   ret
    694699PARTSCAN_CheckThisPartition     EndP
     700
     701stop_scanning   db  0
    695702
    696703; ===================
     
    805812PARTSCAN_SyncHideConfigWithXref EndP
    806813
    807 ibm_bm_name:   db 'IBM BootMan',0
     814ibm_bm_name:   db 'OS2 BootMgr',0
    808815;win_bm_name:   db 'BOOTMGR',0
Note: See TracChangeset for help on using the changeset viewer.