USB-Boot (en) USB-Boot (en) USB-Boot (en)
Start | Impressum & Datenschutz | Sitemap | Suche
Login/LogoutSucheTermineThinClient-ProjektTYPO3 goes eComStationVerein, allgemeinVereinslokalitätVereinspersonaliaVorträge/VortragsreihenWeb-LinksWikisIBM-8364-S20 (de)USB-Boot (en)USB-Tricks (de)Impressum Druckansicht          Startseite  Wikis  USB-Boot (en)  

[Article: Wiki-eCS-OS/2-USB-Boot-en--Chapter Modification/Extension of IBM Boot Manager Function | Discussion ]
HomePage Reload page Edit Versions Download HTML


Tip: If your coming via link from Google search results to this "SubWiki",
     please click here for the Main Wiki 
     "Howto Boot OS/2 - eCS from USB Mass Storage Devices ( MSD )" 
 


Contents

[Edit]1 SubWiki: Modification/Extension of IBM OS/2 Boot Manager Function

[Edit]1.1 Add the "I13X Test and Flag Setting code" to the Partition Boot Record PBR of the BMRG Primary Partition

[Edit]1.1.1 Intention

Make the IBM BMGR Function independent from the IBM OS/2 MBR with the Code I13X Test

          

[Edit]1.1.2 Design

    1. Add the "I13X Test and Flag Setting code" to the PBR of the BMGR partition
   
    2. Based on the latest BMGR Code ( LVM Code FixLevel 14.105 )
    
        2.1 There is NLS dependent messages text in the PBR
      
        2.2 Replacing with text string with am message code number does makes
             - the modification NLS independent             
             - frees address space for the "Rucksack" Code
             - identifies the message originator - BMGR - to the user      


             SYS-BMGR-001 just the message code length + 3 = 0Fx 
                          English: length  1Dx
                          "A disk read error occurred"
                          German : length  25x                           
                          "Fehler beim Lesen des Datenträgers"   

             SYS-BMGR-002 just the message code length + 3 = 0Fx
                          English: length  27x  
                          "Insert a system diskette and restart" 
                          German : length  31x
                          "1.Systemdiskette einlegen und System neu starten"  

  
     3.  Dazu müsste der PBR - Partition Boot Record des BMGR mit dem
         "I13X Test / Flag setzten  Code " aus dem OS/2 MBR gepatched werden.

         Idealerweise sollte der I13x Test und das Flag setzen in einem Code
         Rucksack vor der Testabfrage auf das I13X Flag durchführt werden.
 
         Dies wäre eine Patch, bei dem die Platte auch an ein System mit nicht
         I13X Support gehängt werden kann, und das System reagiert dann wie ein
         nicht modifiziertes System. 
        ( d.h. der Patch hätte in keinem Fall eine negative Folge)




[Edit]1.1.3 Stages of implementation

   1. Test Environment - Keep is simple and  minimum additional effort  

        1. Extract the PBR form HDD to img file via DFSEE

        2. Patch the img file of the PBR

        3. Restore/replace the BMGR PBR on the HDD with the patched img file

   2. Implement an automatic patch process via DFSee function

   3. Patch the LVM.exe to write an patched PBR with function create BMGR partition

   4. Patch the LVM Java GUI version to write an patched  PBR  

[Edit]1.1.4 Stage 1: Develop the Patch

[Edit]1.1.4.1 Collecting information for the implementation / doing


Dump of the PBR IBM BMGR partition of my T23 main system HDD - 14.105 codelevel via DFSee 9.14


[PgUp]   0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f [ItemUp]  [LineUp]
000000  e9 8e 00 41 50 4a 26 57 4e 1f 00 00 02 04 01 00 [...APJ&WN.......]
000010  02 00 02 20 00 f8 0c 00 20 00 40 00 20 00 00 00 [... .... .@. ...]
000020  00 00 00 00 80 00 29 00 00 00 00 00 00 00 00 00 [......).........]
000030  00 00 00 00 00 00 46 41 54 20 20 20 20 20 00 00 [......FAT     ..]
000040  00 00 00 00 00 00 00 00 00 00 00 80 00 82 2b 1d [..............+.]
000050  02 81 2b 80 00 00 00 00 00 00 00 00 00 00 00 00 [..+.............]
000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000090  00 fa 33 c0 8e d0 bc 00 7c fb 68 c0 07 1f bb 4f [..3.....|.h....O]
0000A0  00 81 3e bc 03 33 cc 74 03 8b 57 04 88 16 4b 00 [..>..3.t..W...K.]
0000B0  88 16 24 00 68 00 0a 07 e8 13 00 8a 16 24 00 68 [..$.h........$.h]
0000C0  00 0a 07 bb 4b 00 26 88 17 06 68 dc 0f cb bb 4f [....K.&...h....O]
0000D0  00 68 00 30 0f a1 64 66 81 3e 00 00 49 31 33 58 [.h.0..df.>..I13X]
0000E0  74 38 b9 01 00 83 7f 02 00 75 02 eb 2c 53 51 8b [t8.......u..,SQ.]
0000F0  07 8b 4f 02 8b 57 04 33 db 8a 16 24 00 cd 13 72 [..O..W.3...$...r]
000100  69 59 5b 8b 07 32 e4 c1 e0 05 8c c2 03 d0 8e c2 [iY[..2..........]
000110  83 c3 06 41 83 f9 0a 7e cc c3 1e 52 33 d2 b9 01 [...A...~...R3...]
000120  00 83 7f 02 00 75 02 eb 0b 02 17 83 c3 06 41 83 [.....u........A.]
000130  f9 0a 7e ed 0f a0 1f be 08 00 66 a1 04 00 66 89 [..~.......f...f.]
000140  44 08 66 33 c0 c7 04 10 00 89 54 02 89 44 04 c7 [D.f3......T..D..]
000150  44 06 00 0a 66 89 44 0c 5a b4 42 cd 13 72 0b 66 [D...f.D.Z.B..r.f]
000160  a1 04 00 26 66 a3 3e 00 1f c3 be 8a 01 e8 09 00 [...&f.>.........]
000170  be b2 01 e8 03 00 fb eb fe ac 3c 00 74 09 b4 0e [............t...]
000180  bb 07 00 cd 10 eb f2 c3 25 00 46 65 68 6c 65 72 [........%.Fehler]
000190  20 62 65 69 6d 20 4c 65 73 65 6e 20 64 65 73 20 [ beim Lesen des ]
0001A0  44 61 74 65 6e 74 72 84 67 65 72 73 2e 0d 0a 00 [Datentr.gers....]
0001B0  31 00 53 79 73 74 65 6d 64 69 73 6b 65 74 74 65 [1.Systemdiskette]
0001C0  20 65 69 6e 6c 65 67 65 6e 20 75 6e 64 20 53 79 [ einlegen und Sy]
0001D0  73 74 65 6d 20 6e 65 75 20 73 74 61 72 74 65 6e [stem neu starten]
0001E0  2e 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
0001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa [..............U.]



[Edit]1.1.4.2 Patch developed by Robert Lalla based on a PBR with English messages text


Before the Patch

[PgUp]   0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f 

000000  e9 8e 00 41 50 4a 26 57 4e 1f 00 00 02 00 1e 00 [...APJ&WN.......] 

0001A0  72 72 65 64 2e 0d 0a 00 27 00 49 6e 73 65 72 74 [rred....'.Insert]
0001B0  20 61 20 73 79 73 74 65 6d 20 64 69 73 6b 65 74 [ a system disket]
0001C0  74 65 20 61 6e 64 20 72 65 73 74 61 72 74 2e 0d [te and restart..]
0001D0  0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
0001E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
0001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa [..............U.] 

After the Patch 

000000  e9 cb 01 41 50 4a 26 57 4e 1f 00 00 02 00 1e 00 [...APJ&WN.......]

0001A0  72 72 65 64 2e 0d 0a 00 23 00 49 6e 73 65 72 74 [rred....#.Insert]
0001B0  20 61 20 73 79 73 74 65 6d 20 64 69 73 6b 20 61 [ a system disk a]
0001C0  6e 64 20 72 65 73 74 61 72 74 2e 0d 0a 00 b4 41 [nd restart.....A]
0001D0  bb aa 55 cd 13 72 18 81 fb 55 aa 75 12 80 fc 21 [..U..r...U.u...!]
0001E0  72 0d f6 c1 01 74 08 66 b8 49 31 33 58 eb 02 33 [r....t.f.I13X..3]
0001F0  c0 68 00 30 0f a1 64 66 a3 00 00 e9 93 fe 55 aa [.h.0..df......U.]

 
Code changed:

00000000  e9 cb01                  JMP       0x1ce 

Code added: 

000001ce  b4 41                    MOV       AH, 0x41
000001d0  bb aa55                  MOV       BX, 0x55aa
000001d3  cd 13                    INT       0x13
000001d5  72 18                    JB        0x1ef
000001d7  81fb 55aa                CMP       BX, 0xaa55
000001db  75 12                    JNZ       0x1ef
000001dd  80fc 21                  CMP       AH, 0x21
000001e0  72 0d                    JB        0x1ef
000001e2  f6c1 01                  TEST      CL, 0x1
000001e5  74 08                    JZ        0x1ef
000001e7  66 b8 49313358           MOV       EAX, 0x58333149
000001ed  eb 02                    JMP       0x1f1
000001ef  33c0                     XOR       AX, AX
000001f1  68 0030                  PUSH      0x3000
000001f4  0fa1                     POP       FS
000001f6  64 66 a3 0000            MOV       FS:[0x0], EAX
000001fb  e9 93fe                  JMP       0x91


The message text of the 2. message

"Insert a system diskette and restart" is modified ( abbreviated ) to 
"Insert a system disk and restart" 

to gain addresspace for the additional I13X code


Apply the code modification/extension via patch.exe

Patch.exe BMGR-PBR-I13X-Patch  /A 

Contents of File BMGR-PBR-I13X-Patch:

FILE DFSibmgr.img

VER 0001 8E00
CHA 0001 CB01

VER 01A8 27
CHA 01A8 23 

VER 01BE 6574
CHA 01BE 2061

VER 01C0 746520616E642072657374617274
CHA 01C0 6E6420726573746172742E0D0A00

VER 01CE 2E0D
CHA 01CE B441

VER 01D0 0A000000000000000000000000000000
CHA 01D0 BBAA55CD13721881FB55AA751280FC21

VER 01E0 00000000000000000000000000000000
CHA 01E0 720DF6C101740866B849313358EB0233
         
VER 01F0 000000000000000000000000000055aa
CHA 01F0 C06800300FA16466A30000E993FE55aa




[Edit]1.1.4.3 Adaption of Patch with implementation of messages codes for the PBR LVM 14.105 Code level English
Patch.exe BMGR-PBR-I13X-Patch  /A 
 
Contents of File BMGR-PBR-I13X-Patch: 

FILE BMGR_PBR_EN.IMG

VER 0001 8E00
CHA 0001 CB01

VER 0171 AA01
CHA 0171 9C01

VER 0188 1D0041206469736B
CHA 0188 0F005359532D424D 

VER 0190 2072656164206572726F72206F636375
CHA 0190 47522D3030312E0D0A000F005359532D 

VER 01A0 727265642E0D0A002700496E73657274 
CHA 01A0 424D47522D3030322E0D0A0000000000 

VER 01B0 20612073797374656D206469736B6574 
CHA 01B0 00000000000000000000000000000000

VER 01C0 746520616E642072657374617274
CHA 01C0 0000000000000000000000000000 

VER 01CE 2E0D
CHA 01CE B441

VER 01D0 0A000000000000000000000000000000
CHA 01D0 BBAA55CD13721881FB55AA751280FC21

VER 01E0 00000000000000000000000000000000
CHA 01E0 720DF6C101740866B849313358EB0233
        
VER 01F0 000000000000000000000000000055aa
CHA 01F0 C06800300FA16466A30000E993FE55aa




[Edit]1.1.4.4 Adaption of Patch with implementation of messages codes for the PBR LVM 14.105 Code level German
Patch.exe BMGR-PBR-I13X-Patch  /A 
 
Contents of File BMGR-PBR-I13X-Patch: 

FILE BMGR_PBR_GR.IMG

VER 0001 8E00
CHA 0001 CB01

VER 0171 B201
CHA 0171 9C01

VER 0188 25004665686c6572
CHA 0188 0F005359532D424D 

VER 0190 206265696D204C6573656E2064657320
CHA 0190 47522D3030312E0D0A000F005359532D 

VER 01A0 446174656E747284676572732E0D0A00 
CHA 01A0 424D47522D3030322E0D0A0000000000

VER 01B0 310053797374656D6469736B65747465 
CHA 01B0 00000000000000000000000000000000

VER 01C0 2065696E6C6567656E20756E6420
CHA 01C0 0000000000000000000000000000

VER 01CE 5379
CHA 01CE B441

VER 01D0 7374656D206E6575207374617274656E
CHA 01D0 BBAA55CD13721881FB55AA751280FC21

VER 01E0 2E0D0A00000000000000000000000000
CHA 01E0 720DF6C101740866B849313358EB0233
         
VER 01F0 000000000000000000000000000055aa
CHA 01F0 C06800300FA16466A30000E993FE55aa





[Edit]1.1.4.5 Documentation of the Test Results with the Patches

1. Implement the German patch on my T23 configuration with IBM OS/2 14.105 level MBR code.

  After the patch the system works as before - the patch does not break anything 




[Edit]1.1.5 Stage 2: Implement an automatic patch process via DFSee function

Rainer 2010-12-04 : Just initiate the process - e-mail to Jan



[Edit]1.1.6 Stage 3: Patch the LVM.exe to write an patched PBR with function create BMGR partition

to do


[Edit]1.1.7 Stage 4: Patch the LVM Java GUI version to write an patched PBR

to do







[Edit]1.2 Modification of BMGR code to add partitions from Partitioned Removable Media (PRM) to the selection menu

This modification/extension is required to boot from PRM

It is a prerequisite for booting from PRM via Filter driver.

See Design idea

   see Chapter 7.4 Booting from Partitioned Removable Media ( PRM )
  
               7.4.2 LVM Systems 

                     ideas

                     4.  Filter driver to change type of first removable device to fixed disk
  
                         developer with filter drive skill - daniatap.flt as model ?



Dies Modifikation ist erst erforderlich, wenn der Filter Treiber vorliegt.

Der Filter Treiber kann zunächst ohne BMGR Mod ausgetestet werden,

Das Boot von einer aktiven primary C: Partition von einem PRM kann ohne BMGR Unterstützung erfolgen.



Last changed: 04.12.2010 22:18 by Rainer D. Stroebel - HomePage Reload page Edit Versions Download HTML

Druckansicht          Startseite  Wikis  USB-Boot (en)  
Vereinstermine