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/DRIVEIO.ASM

    r34 r36  
    179179         jc      DIOILUT_Error
    180180         and     cl, 111111b    ; Isolate lower 6 bits of CL -> sector count
    181 
    182          ; huge disk 127 sec/track on <1TB using DANI
    183 ;         mov     cl, 07Fh
    184181
    185182         ;movzx   ax, cl
     
    668665; #########################################################################
    669666DriveIO_LoadSector              Proc Near  Uses ax bx ds si es di
    670    test     cs:[CurIO_UseExtension], 1
    671    jz       DIOLS_UseNormal
    672    ; Are we forced do use LBA via Setting? ; Rousseau: LBA
    673    jnz      DIOLS_UseExtension
    674667   ; Is the drive not a harddrive?
    675668   cmp      dl, 80h
    676669   jb       DIOLS_UseNormal
     670
     671   test     cs:[CurIO_UseExtension], 1
     672   jz       DIOLS_UseNormal
     673   ; Are we forced do use LBA via Setting?
     674   jnz      DIOLS_UseExtension
     675
    677676   ; Upper 8 bits of LBA-address set? -> Use LBA (maximum boundary is FB0400h)
    678677   or       bh, bh
     
    757756      int     13h
    758757
    759       ; Looking goot so far
     758      ; Looking good so far
    760759      jnc     DriveIO_LoadSectorLBA_succes1
    761760
     
    864863
    865864; ------------------------------------------------------
    866 ; Rousseau: # Load the master LVM-sector is one exists #
     865; Rousseau: # Load the master LVM-sector if one exists #
    867866; ------------------------------------------------------
    868867; Load the master LVM-sector to get the number of sectors per track as eCS views the drive.
     
    884883        pusha
    885884
    886         mov      si,offset db_lmlvm
     885        ;mov      si,offset db_lmlvm
    887886        ;call     AuxIO_Print
    888887
     
    12401239secs_per_track_table:   db    63,127,255,255,255,255
    12411240
    1242 db_lmlvm:   db 'Load Master LVM -- disk: ',0
     1241;db_lmlvm:   db 'Load Master LVM -- disk: ',0
Note: See TracChangeset for help on using the changeset viewer.