WDe and GPT, booting DOS (Users)
> First you should make yourself familiar with the difference of MBR ( the
> boot sector of the DISK ) and a FAT32 "boot sector".
>
> Some details where FD may differ from MS-DOS:
>
> - the MS-DOS kernel is named IO.SYS.
> - the boot code of DOS71BSG.BIN loads IO.SYS at 0070:0000
> - the boot code loads just the first 4 sectors of IO.SYS.
> - the boot code checks four bytes of loaded IO.SYS ( at pos 0 and pos 200h
> )
> - the boot code loads SI:DI with the start cluster of IO.SYS
> - the boot code of MS-DOS jumps to 0070:0200 to switch control to the
> kernel
> - when jumping, there are a few values on the stack that IO.SYS might use.
>
> So there's pretty much that may go wrong when using DOS71BSG for
> FreeDOS...
I made it so my FAT32 and FAT16 and FAT12 boot sector loaders can load various kernels using different protocols. Build options select which protocol to implement. You can look at the protocols supported here for FAT12/FAT16: https://hg.pushbx.org/ecm/ldosboot/file/094041a616f5/boot.asm#l140 and for FAT32 here: https://hg.pushbx.org/ecm/ldosboot/file/094041a616f5/boot32.asm#l110
Largely the same information is encoded in the load settings for the lDebug BOOT commands at https://hg.pushbx.org/ecm/ldebug/file/b98dc45862ba/source/msg.asm#l1899 (This is used by a single build of a loader that implements different protocols at run time.)
In short, for the FreeDOS kernel:
* Default name is KERNEL.SYS
* Load address is linear 00600h
* Entrypoint is at CS:IP = 60h:0
* BL holds load unit for int 13h
* Full file must be loaded, implying that the boot sector loader needs to relocate itself away from linear 07C00h
* SS:BP points to the boot sector with (E)BPB (not used by current kernels)
---
l
Complete thread:
- WDe and GPT, booting DOS - Japheth, 24.10.2022, 10:56 (Users)
- WDe and GPT, booting DOS - tom, 24.10.2022, 17:31
- WDe and GPT, booting DOS - Japheth, 25.10.2022, 05:24
- WDe and GPT, booting DOS - tom, 25.10.2022, 13:40
- WDe and GPT, booting DOS - Japheth, 25.10.2022, 17:29
- WDe and GPT, booting DOS - Zyzzle, 27.10.2022, 16:08
- WDe and GPT, booting DOS - Japheth, 27.10.2022, 16:41
- WDe and GPT, booting DOS - Japheth, 28.10.2022, 20:13
- WDe and GPT, booting DOS - Zyzzle, 29.10.2022, 02:39
- WDe and GPT, booting DOS - Richard, 02.11.2022, 03:39
- WDe and GPT, booting DOS - Zyzzle, 02.11.2022, 06:43
- WDe and GPT, booting DOS - Japheth, 02.11.2022, 07:55
- WDe and GPT, booting DOS - ecm, 02.11.2022, 09:55
- WDe and GPT, booting DOS - ecm, 02.11.2022, 11:21
- WDe and GPT, booting DOS - Japheth, 04.11.2022, 08:06
- WDe and GPT, booting DOS - ecm, 04.11.2022, 10:14
- WDe and GPT, booting DOS - ecm, 04.11.2022, 11:30
- WDe and GPT, booting DOS - Richard, 03.01.2023, 16:37
- WDe and GPT, booting DOS - ecm, 04.01.2023, 13:42
- Booting FreeDOS from an MS-DOS v7 compatible IO.SYS - ecm, 04.01.2023, 14:11
- WDe and GPT, booting DOS - ecm, 04.01.2023, 13:42
- WDe and GPT, booting DOS - Richard, 03.01.2023, 16:37
- WDe and GPT, booting DOS - ecm, 04.11.2022, 11:30
- WDe and GPT, booting DOS - ecm, 04.11.2022, 10:14
- WDe and GPT, booting DOS - Richard, 10.11.2022, 13:11
- WDe and GPT, booting DOS - Japheth, 10.11.2022, 17:55
- WDe and GPT, booting DOS - Richard, 22.11.2022, 07:10
- WDe and GPT, booting DOS - Rugxulo, 22.11.2022, 09:00
- WDe and GPT, booting DOS - Japheth, 22.11.2022, 09:52
- WDe and GPT, booting DOS - Richard, 22.11.2022, 12:29
- WDe and GPT, booting DOS - Japheth, 22.11.2022, 15:26
- WDe and GPT, booting DOS - Richard, 28.11.2022, 13:18
- WDe and GPT, booting DOS - Japheth, 28.11.2022, 16:57
- WDe and GPT, booting DOS - Richard, 08.12.2022, 17:21
- WDe and GPT, booting DOS - Japheth, 09.12.2022, 05:10
- WDe and GPT, booting DOS - Richard, 11.12.2022, 03:08
- WDe and GPT, booting DOS - Japheth, 11.12.2022, 10:39
- WDe and GPT, booting DOS - Richard, 11.12.2022, 14:53
- WDe and GPT, booting DOS - Japheth, 12.12.2022, 10:34
- WDe and GPT, booting DOS - Richard, 21.12.2022, 17:30
- WDe and GPT, booting DOS - glennmcc, 21.12.2022, 19:07
- WDe and GPT, booting DOS - Japheth, 22.12.2022, 14:52
- WDe and GPT, booting DOS - glennmcc, 22.12.2022, 18:41
- WDe and GPT, booting DOS - Richard, 23.12.2022, 01:49
- WDe and GPT, booting DOS - glennmcc, 23.12.2022, 05:06
- WDe and GPT, booting DOS - Richard, 23.12.2022, 06:46
- WDe and GPT, booting DOS - glennmcc, 23.12.2022, 05:06
- WDe and GPT, booting DOS - Richard, 23.12.2022, 01:49
- WDe and GPT, booting DOS - Richard, 26.12.2022, 12:16
- WDe and GPT, booting DOS - Richard, 28.12.2022, 09:34
- WDe and GPT, booting DOS - Japheth, 28.12.2022, 12:05
- WDe and GPT, booting DOS - Richard, 28.12.2022, 17:27
- WDe and GPT, booting DOS - Japheth, 29.12.2022, 19:32
- WDe and GPT, booting DOS - Richard, 30.12.2022, 07:52
- WDe and GPT, booting DOS - Zyzzle, 31.12.2022, 08:23
- WDe and GPT, booting DOS - Japheth, 02.01.2023, 13:04
- WDe and GPT, booting DOS - Richard, 03.01.2023, 03:51
- WDe and GPT, booting DOS - glennmcc, 03.01.2023, 04:05
- WDe and GPT, booting DOS - Richard, 03.01.2023, 04:37
- WDe and GPT, booting DOS - Richard, 03.01.2023, 05:17
- WDe and GPT, booting DOS - jadoxa, 04.01.2023, 01:02
- WDe and GPT, booting DOS - Richard, 03.01.2023, 05:17
- WDe and GPT, booting DOS - Richard, 03.01.2023, 04:37
- WDe and GPT, booting DOS - Japheth, 03.01.2023, 09:14
- WDe and GPT, booting DOS - Richard, 16.01.2023, 02:50
- WDe and GPT, booting DOS - glennmcc, 03.01.2023, 04:05
- WDe and GPT, booting DOS - Japheth, 29.12.2022, 19:32
- WDe and GPT, booting DOS - Richard, 28.12.2022, 17:27
- WDe and GPT, booting DOS - Japheth, 28.12.2022, 12:05
- WDe and GPT, booting DOS - glennmcc, 22.12.2022, 18:41
- WDe and GPT, booting DOS - Richard, 21.12.2022, 17:30
- WDe and GPT, booting DOS - Japheth, 12.12.2022, 10:34
- WDe and GPT, booting DOS - Richard, 11.12.2022, 14:53
- WDe and GPT, booting DOS - Japheth, 11.12.2022, 10:39
- WDe and GPT, booting DOS - Richard, 11.12.2022, 03:08
- WDe and GPT, booting DOS - Japheth, 09.12.2022, 05:10
- WDe and GPT, booting DOS - Richard, 08.12.2022, 17:22
- WDe and GPT, booting DOS - Richard, 08.12.2022, 17:24
- WDe and GPT, booting DOS - Richard, 08.12.2022, 17:21
- WDe and GPT, booting DOS - Japheth, 28.11.2022, 16:57
- WDe and GPT, booting DOS - Richard, 28.11.2022, 13:18
- WDe and GPT, booting DOS - Japheth, 22.11.2022, 15:26
- WDe and GPT, booting DOS - Richard, 22.11.2022, 12:29
- WDe and GPT, booting DOS - Richard, 22.11.2022, 07:10
- WDe and GPT, booting DOS - Japheth, 10.11.2022, 17:55
- WDe and GPT, booting DOS - ecm, 02.11.2022, 09:55
- WDe and GPT, booting DOS - Japheth, 28.10.2022, 20:13
- WDe and GPT, booting DOS - Japheth, 27.10.2022, 16:41
- WDe and GPT, booting DOS - Zyzzle, 27.10.2022, 16:08
- WDe and GPT, booting DOS - RayeR, 15.12.2022, 19:49
- WDe and GPT, booting DOS - tom, 15.12.2022, 20:14
- WDe and GPT, booting DOS - Japheth, 25.10.2022, 17:29
- WDe and GPT, booting DOS - tom, 25.10.2022, 13:40
- WDe and GPT, booting DOS - Japheth, 25.10.2022, 05:24
- WDe and GPT, booting DOS - tom, 24.10.2022, 18:15
- WDe and GPT, booting DOS - Zyzzle, 25.10.2022, 02:55
- WDe and GPT, booting DOS - tom, 25.10.2022, 13:39
- WDe and GPT, booting DOS - tom, 03.01.2023, 17:14
- WDe and GPT, booting DOS - Richard, 03.01.2023, 17:44
- WDe and GPT, booting DOS - fritz.mueller, 03.01.2023, 18:17
- WDe and GPT, booting DOS - Richard, 03.01.2023, 18:28
- WDe and GPT, booting DOS - glennmcc, 03.01.2023, 22:10
- WDe and GPT, booting DOS - Richard, 03.01.2023, 18:28
- WDe and GPT, booting DOS - fritz.mueller, 03.01.2023, 18:17
- WDe and GPT, booting DOS - Richard, 03.01.2023, 17:44
- WDe and GPT, booting DOS - Zyzzle, 25.10.2022, 02:55
- WDe and GPT, booting DOS - glennmcc, 24.10.2022, 19:09
- WDe and GPT, booting DOS - rr, 24.10.2022, 20:19
- WDe and GPT, booting DOS - Japheth, 25.10.2022, 05:14
- WDe v1.0 - Japheth, 14.11.2022, 10:35
- WDe and GPT, booting DOS - tom, 24.10.2022, 17:31