@@ -101,7 +101,7 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra
101101 tags [8 ] = TAG_DONE ;
102102 GetPartitionAttrs (pn , (struct TagItem * )tags );
103103
104- D (bug ("[BOOT] Partition name: %s | Bootable: %d | Automount: %d\n" , name , bootable , automount ));
104+ D (bug ("[BOOT] Partition name: %s | Bootable: %d | Automount: %d \n" , name , bootable , automount ));
105105
106106 if (automount == FALSE)
107107 {
@@ -121,9 +121,10 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra
121121 tags [4 ] = TAG_DONE ;
122122 GetPartitionAttrs (pn , (struct TagItem * )tags );
123123
124- // Default behaviour is to give BOOT priority to RDB disks (user can choose in Early Startup)
124+ // [WD] Default behaviour is to give BOOT priority to RDB disks (user can choose to boot from FAT in Early Startup)
125+ //pp[4 + DE_BOOTPRI] = -5;
126+
125127 bootable = TRUE;
126- pp [4 + DE_BOOTPRI ] = -1 ;
127128
128129 /* make the name */
129130 devname = AROS_BSTR_ADDR (fssm -> fssm_Device );
@@ -242,6 +243,34 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra
242243 AddBootFileSystem (fsnode );
243244 }
244245
246+ D (bug ("\n[BOOT] dosName pp[0] = %s\n" , pp [0 ]));
247+ D (bug ("[BOOT] devName pp[1] = %s\n" , pp [1 ]));
248+ D (bug ("[BOOT] unitNum pp[2] = %d\n" , pp [2 ]));
249+ D (bug ("[BOOT] flags pp[3] = %d\n" , pp [3 ]));
250+ D (bug ("[BOOT] tableSize pp[4] = %d\n" , pp [4 + DE_TABLESIZE ]));
251+ D (bug ("[BOOT] sizeBlock pp[5] = %d\n" , pp [4 + DE_SIZEBLOCK ]));
252+ D (bug ("[BOOT] secOrg pp[6] = %d\n" , pp [4 + DE_BLOCKSIZE ]));
253+ D (bug ("[BOOT] surfaces pp[7] = %d\n" , pp [4 + DE_NUMHEADS ]));
254+ D (bug ("[BOOT] secPerBlock pp[8] = %d\n" , pp [4 + DE_SECSPERBLOCK ]));
255+ D (bug ("[BOOT] blocksPerTrack pp[9] = %d\n" , pp [4 + DE_BLKSPERTRACK ]));
256+ D (bug ("[BOOT] reservedBlks pp[10] = %d\n" , pp [4 + DE_RESERVEDBLKS ]));
257+ D (bug ("[BOOT] preAlloc pp[11] = %d\n" , pp [4 + DE_PREFAC ]));
258+ D (bug ("[BOOT] interleave pp[12] = %d\n" , pp [4 + DE_INTERLEAVE ]));
259+ D (bug ("[BOOT] lowCyl pp[13] = %d\n" , pp [4 + DE_LOWCYL ]));
260+ D (bug ("[BOOT] highCyl pp[14] = %d\n" , pp [4 + DE_HIGHCYL ]));
261+ D (bug ("[BOOT] numBuffers pp[15] = %d\n" , pp [4 + DE_NUMBUFFERS ]));
262+ D (bug ("[BOOT] bufMemType pp[16] = %d\n" , pp [4 + DE_BUFMEMTYPE ]));
263+ D (bug ("[BOOT] maxTransfer pp[17] = %d\n" , pp [4 + DE_MAXTRANSFER ]));
264+ D (bug ("[BOOT] mask pp[18] = %d\n" , pp [4 + DE_MASK ]));
265+ D (bug ("[BOOT] bootPri pp[19] = %d\n" , pp [4 + DE_BOOTPRI ]));
266+ D (bug ("[BOOT] dosType pp[20] = %d\n" , pp [4 + DE_DOSTYPE ]));
267+
268+ if (strcmp ((char * )pp [1 ], "sagasd.device" ) == 0 )
269+ {
270+ //pp[4 + DE_BOOTPRI] = pp[4 + DE_BOOTPRI] + 5;
271+ D (bug ("[BOOT] sagasd.device detected, increasing boot priority to %d\n" , pp [4 + DE_BOOTPRI ]));
272+ }
273+
245274 devnode = MakeDosNode (pp );
246275
247276 struct FileSysStartupMsg * fssm_devnode = BADDR (devnode -> dn_Startup );
@@ -254,7 +283,6 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra
254283 D (bug ("[BOOT] [%s] dg_LowCyl : %d\n" ,__FUNCTION__ , de_devnode -> de_LowCyl ));
255284 D (bug ("[BOOT] [%s] dg_HighCyl : %d\n\n" ,__FUNCTION__ , de_devnode -> de_HighCyl ));
256285
257-
258286 if (devnode != NULL ) {
259287 AddBootNode (bootable ? pp [4 + DE_BOOTPRI ] : -128 , ADNF_STARTPROC , devnode , NULL );
260288 D (bug ("[BOOT] AddBootNode(%b, 0, 0x%p, NULL)\n" , devnode -> dn_Name , pp [4 + DE_DOSTYPE ]));
0 commit comments