Commit graph

642 commits

Author SHA1 Message Date
TomAwezome
16427dfe0b Move Limine.CFG from src/ to zealbooter/.
Since Zeal now has Limine.CFG autogenerate capability for install, it doesn't need it in the source tree. However, it can't be outright deleted from the project since the isohybrid needs it, so instead it will stay in zealbooter directory, and in the next commit it will be copied into the isohybrid temp directory from zealbooter/ during the build process.
2022-10-16 19:49:06 -04:00
TomAwezome
41e5901934 Update DiskAHCI.ZC debug fixme comment. 2022-10-16 19:35:23 -04:00
TomAwezome
5b6b84202f Update KernelB.HH debug fixme comment. 2022-10-16 19:33:14 -04:00
TomAwezome
e3c13b2baf Remove debug comment on SYS_FRAMEBUFFER_LIST. 2022-10-16 19:32:28 -04:00
TomAwezome
a0fa1ac559 Make OSInstall delete /boot.catalog from install drive. 2022-10-16 17:32:41 -04:00
TomAwezome
2590420586 Add Limine.CFG auto-generate ability to LimineMHDIns. 2022-10-16 17:26:42 -04:00
TomAwezome
42234bdef1 Make OSInstall delete copied Limine-CD.BIN and Limine-CD-EFI.BIN from install Boot/ folder. 2022-10-16 17:26:00 -04:00
TomAwezome
7902298747 Comment out OSUpgrade prompt lines temporarily, add note to refactor functionality into basic pre-install Diff. 2022-10-16 17:25:15 -04:00
TomAwezome
fc2e17e756 Delete Home/LimineCFGMake.ZC 2022-10-16 17:22:52 -04:00
TomAwezome
5ec66b9dad Replace Bt, Btr, Bts compiler _interns temporarily with function implementations. 2022-10-16 01:57:30 -04:00
TomAwezome
fa73da4be1 Remove debug lines from Kernel/BlkDev/DiskAHCI.ZC 2022-10-15 23:40:09 -04:00
TomAwezome
0119d4cb15 Delete Home/BruteBt.ZC 2022-10-15 23:39:31 -04:00
TomAwezome
7ac0ce5285 Move VideoRep var declarations to top of function. 2022-10-15 01:26:23 -04:00
TomAwezome
dde5566910 Remove mention of VBE from MemBIOSRep framebuffer report. 2022-10-15 01:02:33 -04:00
TomAwezome
ae7de7b8da Implement VideoRep aspect ratio reporting. 2022-10-15 00:15:37 -04:00
TomAwezome
40c0ac2ae2
Update VideoRep.ZC 2022-10-14 22:05:22 -04:00
TomAwezome
2c2dc1141d Begin integrating Limine framebuffer mode info list into ZealBooter to pass abstracted mode information to CKernel header. 2022-10-14 22:01:34 -04:00
TomAwezome
a2be44fa28 Begin reimplementing framebuffer mode list storage and VideoRep funtionality. 2022-10-14 19:41:46 -04:00
TomAwezome
4d6f3f380c Begin researching Bit Test functions machine code and performance in test BruteBt file in Home directory.
TODO: remove this file after deciding what route to take to squash AHCI bare metal bit test and set functions divergent erroring behaviour.
2022-10-14 19:38:58 -04:00
TomAwezome
7b834610c6 Begin creating Limine.CFG generate script.
TODO: use this script, once finished and integrated into OS, to generate Limine.CFG on-the-fly rather than providing it in the source tree
2022-10-14 01:08:16 -04:00
TomAwezome
537a650523 Remove video resolution In() strings and char input in OSInstall bare metal install and OSUpgrade code.
TODO: test OSUpgrade, and/or completely remove it in favor of an install-time optional Diff to gracefully report differences and confirm if wanting to install.
2022-10-13 18:59:44 -04:00
TomAwezome
6ff44d06cb Merge branch 'limine-ahci-doodguy-debug' into limine 2022-10-13 02:29:14 -04:00
TomAwezome
dfcd7608f8 Add .CFG to FILEMASK_TXT supported text file extensions, for making editing Limine.CFG easier. 2022-10-12 21:58:07 -04:00
TomAwezome
5169661ef5 Remove BootHDIns In() input strings for resolution setting since compile-time screen resolution setting has been removed.
TODO: Install scripts still have some remaining code that asks for screen resolution and grabs input, such as bare metal install code section. These sections need to also be updated!
2022-10-12 20:06:33 -04:00
TomAwezome
c5f3102558
Move variable declarations in LimineMHDIns to top of function. 2022-10-11 22:09:57 -04:00
TomAwezome
6ba555ee8f Refactor Limine install prompt in OSInstall.ZC 2022-10-11 22:00:48 -04:00
TomAwezome
ff380f4b32 Make OSInstall.ZC MBR install prompt to choose public domain ZealOS Boot Loader or BSD-2 licensed Limine. 2022-10-11 21:22:46 -04:00
TomAwezome
b0d2cd6767 Make LimineMHDIns.ZC from script to file with defined LimineMHDIns() function with drv_let arg.
File now uses an #ifndef to check whether or not the limine binary bytes have been included.
2022-10-11 21:20:09 -04:00
TomAwezome
6e5a75243b Move /Home/LimineHDD.ZC to /System/Boot/LimineMHDIns.ZC 2022-10-11 21:17:20 -04:00
TomAwezome
361833f42a Make OSInstall.ZC skip MBR install if UEFI-booted. 2022-10-11 18:23:38 -04:00
TomAwezome
dac6f9efe1 Add UEFI/BIOS boot detection in ZealBooter, pass to Zeal CKernel as new field. 2022-10-11 16:12:45 -04:00
TomAwezome
df419bc641 Make LimineHDD install script functional by fixing bad block count argument passed to AHCI write function. 2022-10-10 21:04:27 -04:00
TomAwezome
7486ab0b0d Attempt to implement old MBR partition record copying in prototype LimineHDD install script. 2022-10-10 20:56:32 -04:00
TomAwezome
7e8ed65677 Implement half-functional prototype Limine bootloader MBR install script. 2022-10-10 19:49:06 -04:00
TomAwezome
2bb8ef846e Remove non-functional limine MBR install scripts. 2022-10-10 19:48:36 -04:00
TomAwezome
41d32c699e Fix dup var type compiler warn in AHCIPortInit. 2022-10-09 20:37:24 -04:00
TomAwezome
ff5a901185 Remove debug check lines from AHCIPortIdentify. 2022-10-09 20:37:09 -04:00
TomAwezome
eaea4915a1 Begin removing debug lines from AHCI code, document bugs identified and current workarounds. 2022-10-09 20:29:28 -04:00
TomAwezome
8f93766df7 Change AHCIAtaInit cmd_header_base cast to proper declared variable. 2022-10-07 20:22:13 -04:00
TomAwezome
7dac5c3019 Change ACHI HBA ports_implemented check to debug AND with bitshift. 2022-10-07 18:55:44 -04:00
TomAwezome
27193fe5e0 Add AHCI GHC.AE debug check with both & and Bt. 2022-10-07 18:54:56 -04:00
TomAwezome
004f762b26 Add AHCI debug Bt/Bts values and checks. 2022-10-07 18:54:16 -04:00
TomAwezome
c4e5fbe2da Change AHCI ATAPI cmd_issue sets to debug OR-equals with bit shift. 2022-10-07 18:53:32 -04:00
TomAwezome
276e58e43f Replace AHCIPortCmdWait processed-check with debug bit shift AND comparison. 2022-10-07 18:52:27 -04:00
TomAwezome
56107409db Alter AHCIPortIdentify last debug var check. 2022-10-06 18:20:31 -04:00
TomAwezome
0d517f15bb Change AHCIPortIdentify port cmd_issue set to debug approach with or-equals. 2022-10-06 18:19:51 -04:00
TomAwezome
7c6f6117d2 Change AHCIPortIdentify cmd_fis desc set to debug approach, add another var check. 2022-10-06 18:19:08 -04:00
TomAwezome
f813da6107 Add debug AHCIPortIdentify PxCMD.ICC set to 1. 2022-10-06 18:18:13 -04:00
TomAwezome
1145ab3b9b Remove debug known-good vals from check in AHCIPortIdentify. 2022-10-06 18:17:45 -04:00
TomAwezome
0cbbe5a74b Add debug AHCIPortIdentify device_sleep clear and another var check. 2022-10-06 18:16:56 -04:00
TomAwezome
896239cd77 Fix kernel compile warn on debug var dup type. 2022-10-06 18:15:38 -04:00
TomAwezome
52db1e115c Fix KernelA typo on AHCI_CF_DESCF_C value. 2022-10-06 18:14:23 -04:00
TomAwezome
6624bba48e Replace magic number in AHCIPortIdentify cmd header desc fix attempt. 2022-10-03 21:19:14 -04:00
TomAwezome
008e68cc29 Try setting CFL bits in AHCIPortIdentify. 2022-10-03 05:12:43 -04:00
TomAwezome
415294c209 Make another non-functional limine hdd install test file.
:^)
2022-09-30 03:44:26 -04:00
TomAwezome
7a109d8162 Remove endian lines from broken LimineHDD file 2022-09-21 17:50:33 -04:00
TomAwezome
1a130d39ec Add currently non-functional Limine HDD 'install' test file in /Home. 2022-09-21 17:32:41 -04:00
TomAwezome
af27249c43 Update debug reporting. 2022-09-15 10:51:32 -04:00
TomAwezome
0561a21eaa Add debug variable report and timeout count to AHCI methods that doodguy's computer is hanging at. 2022-09-14 18:17:36 -04:00
TomAwezome
8c132e2536 Replace AHCIPortInit CPortCmdHeader pointer cast(s) with declared variable. 2022-09-13 01:45:25 -04:00
TomAwezome
e35d49f6df Change Limine boot related filenames.
limine.cfg --> Limine.CFG
limine.sys --> Limine.SYS
limine-cd-efi.bin --> Limine-CD-EFI.BIN
limine-cd.bin --> Limine-CD.BIN
2022-09-12 23:07:09 -04:00
TomAwezome
fa380a3024 Update System/Define.ZC 2022-09-12 22:48:41 -04:00
TomAwezome
1329e5b2da Move limine.cfg to /Boot, remove /Boot from .gitignore. 2022-09-12 21:38:21 -04:00
TomAwezome
ee52a7ee12 Remove /Home/K.ZC. 2022-09-12 21:30:14 -04:00
TomAwezome
95ee43d4a1 Put debug prints and HLT in AHCIPortInit to diagnose bare-metal AHCIPortInit Page Fault bug on doodguy's UEFI machine. 2022-09-12 16:23:54 -04:00
TomAwezome
111e3475e3 Raise MEM_E820_ENTRIES_NUM to 256, remove memmap entry count max check in zealbooter at suggestion of mintsuki. 2022-09-12 04:26:10 -04:00
TomAwezome
8297c769e6 Fix zealbooter memmap kernel header buffer-overflow.
Previously the zealbooter memmap e820 assignment loop used the entry count value passed via limine, without checking if it was over MEM_E820_ENTRIES_NUM, the #define constant value limit of entries that are stored in the kernel header's e820 region. This commit bumps up the constant entry count to 64 from 48, and also adds a small check in zealbooter to ensure that the entry count value used in the memmap loop caps off at the constant value.
2022-09-12 00:41:09 -04:00
TomAwezome
67fda6d081 Set aux font to a verifiably Public Domain font bitmap set.
Fonts used to make aux font:
Public Pixel Font by GGBotNet ( https://www.fontspace.com/public-pixel-font-f72305 )
Marediv Font by Pixel Kitchen ( https://www.fontspace.com/marediv-font-f32318 )

Both fonts used are licensed under the Public Domain.
2022-09-01 01:28:46 -04:00
TomAwezome
8fa30a396f Unhardcode BOOT_RAM_LIMIT, patch via kernel headers. 2022-08-29 00:24:45 -04:00
mintsuki
7a0c9a710c Fix KStart32-related issues and improvements to build script 2022-08-28 09:30:17 +02:00
TomAwezome
14515d7a19 Fix sys_framebuffer_bpp size and assignment in KStart16. 2022-08-28 02:10:37 -04:00
TomAwezome
5a4351d10c Raise OS version to 2.0 2022-08-28 00:50:43 -04:00
TomAwezome
94eea62a5c Fix major ISO9660 ISOFileRead bug and typo caused by hasty reformatting. 2022-08-27 16:09:53 -04:00
TomAwezome
c2b4a4a1a0 Remove debug KMain Compiler load testing. 2022-08-27 16:08:29 -04:00
TomAwezome
d3a298c9fd Fix minor formatting error. 2022-08-27 16:07:45 -04:00
TomAwezome
07d4bbc20c Remove ASCII 0x5 cursor from files. 2022-08-27 16:07:26 -04:00
TomAwezome
22c1839971 Update VideoRep to VBE kernel header symbol removals. 2022-08-27 13:13:12 -04:00
TomAwezome
751684f8ac Set xorriso to generate Joliet ISO data. 2022-08-27 08:15:06 -04:00
TomAwezome
41a033fe8a Implement prekernel disk GPT UUID pass to kernel, add to headers, check in AHCIBootDVDProbeAll. 2022-08-27 05:11:55 -04:00
TomAwezome
ce84d5532f Merge all dev build scripts into build-iso.sh 2022-08-27 01:14:42 -04:00
TomAwezome
33bf00ea5c Revise KStart16 framebuffer acquire logic. 2022-08-26 20:55:55 -04:00
TomAwezome
3a296bc368 Update Auto scripts for recent VBE removal changes. 2022-08-26 18:51:49 -04:00
TomAwezome
f74e3d6b20 Remove VBE from kernel headers. 2022-08-25 07:15:24 -04:00
TomAwezome
2bd8e2ab0b Remove SYS_FONT_PTR and related code. 2022-08-25 04:33:39 -04:00
TomAwezome
0bf82fb057 Implement limine zealbooter prekernel SMBIOS entry patching to kernel. 2022-08-23 21:04:27 -04:00
TomAwezome
dbbf751a44 Remove commented old code lines from KMain. 2022-08-23 18:24:50 -04:00
TomAwezome
628848c79d Change limine.cfg mode 100644 to 100755. 2022-08-23 18:23:46 -04:00
TomAwezome
f86a0ed978 Remove ASCII 0x5 cursor character from files. 2022-08-23 18:00:55 -04:00
TomAwezome
7d31064b6a Abstract out VBE vars from most of OS, revise dev uefi temp vm build system.
Misc UEFI build scripts have been removed/revised/condensed into one script with multiple rebuild steps. The order of the steps is as follows: Auto-install into temp VM with custom AUTO-VM iso, merge kernel headers into VM, rebuild kernel, merge Kernel/ code, rebuild kernel, merge all src/ code, deploy limine and zealbooter, rebuild kernel (as well as test), then test UEFI and BIOS mode.
2022-08-23 04:48:04 -04:00
TomAwezome
3b1e0af20b Implement uefi build script with distinct only-kernel-header recompile step. 2022-08-23 01:50:31 -04:00
TomAwezome
e6ca68c2e2 Begin prototyping limine UEFI ISO generation. 2022-08-22 05:42:13 -04:00
TomAwezome
1d4d8dc86e Fix limine uefi missing SYS_FONT_PTR by hardcoding a new aux font dedicated file.
Since Zeal used a 16-bit mode BIOS INT to get an 8x8 VGA ROM font, this is incompatible if Zeal is loaded to a patched 32-bit mode by the zealbooter prekernel. To circumvent SYS_FONT_PTR never being set and fix access to the 'thick' font with Ctrl-Alt-F, I loaded Zeal bare-metal on my Thinkpad T420 and saved the VGA ROM font file with FontEd, then transferred the file to my VM.
2022-08-22 03:18:54 -04:00
TomAwezome
644a73711e Merge branch 'limine2' into limine 2022-08-22 02:46:53 -04:00
mintsuki
375a487087 ZealBooter: De-hardcode kernel load address and boot stack 2022-08-21 22:21:01 +02:00
mintsuki
1510f65468 ZealBooter: Further cleanup and fix BIOS boot 2022-08-21 20:47:26 +02:00
mintsuki
ee265c8767 ZealBooter: Move sys_pci_buses assignment to zealbooter.c 2022-08-21 19:13:48 +02:00
mintsuki
d7f72e3aa9 ZealBooter: Misc cleanup, SMP working 2022-08-21 19:03:17 +02:00
mintsuki
fa4ded924f ZealBooter: Misc cleanup 2022-08-21 17:42:32 +02:00
TomAwezome
f2f7fa953f Merge branch 'limine2' into limine 2022-08-21 06:41:47 -04:00
mintsuki
5f3bdc637b Set sys_pci_buses to 256 by default 2022-08-21 10:36:14 +02:00