Commit Graph

145 Commits

Author SHA1 Message Date
mintsuki
bc77e6578f build: Fix gnu-efi toolchain variables 2021-04-03 01:14:17 +02:00
mintsuki
8e4de054d7 build: Generally rework build system to easily allow 3rd party toolchains to be used. Drop reliance on libgcc for BIOS builds by shipping our own routines instead 2021-04-03 00:48:38 +02:00
mintsuki
38bbc1eac4 makefile: Use xorriso and add pure UEFI ISO test target 2021-03-28 18:37:53 +02:00
mintsuki
0579a19d6f build: Create limine directory inside share directory and copy over LICENSE.md to binary releases 2021-03-21 10:59:32 +01:00
mintsuki
5543f60954 build: Ensure that limine-eltorito-efi.bin gets rebuilt when necessary 2021-03-20 14:17:53 +01:00
mintsuki
9793064767 build: Properly handle when limine-install is suffixed with .exe 2021-03-18 07:19:57 +01:00
mintsuki
0efa2e16c8 build: Add install target to limine-install Makefile 2021-03-18 05:24:40 +01:00
mintsuki
0a1dfa766e misc: Move limine-install to own directory and provide source and Makefile for it in binary releases 2021-03-17 18:38:47 +01:00
mintsuki
3212155564 iso: Generate eltorito EFI boot image 2021-03-17 13:19:06 +01:00
mintsuki
91e4e65110 gh: Update gh workflow 2021-03-14 12:10:28 +01:00
mintsuki
7950ac5997 uefi: Add hacky support for determining boot drive was a CD 2021-03-13 15:53:16 +01:00
mintsuki
1822839506 fat: Initial FAT16 implementation 2021-03-13 05:07:18 +01:00
mintsuki
12d5822839 misc: Add pxe-test Makefile target 2021-03-11 00:35:24 +01:00
mintsuki
271ac85197 misc: Makefile fixes and update README.md 2021-03-08 08:09:15 +01:00
mintsuki
db20cc7580 misc: Disentangle Makefiles so it builds fine with -j 2021-03-08 03:05:39 +01:00
mintsuki
a8626d6fdd misc: Initial Makefile rework 2021-03-08 00:50:23 +01:00
mintsuki
6c22743c7e Do not build necessary gnu-efi dependencies using the host compiler, use our toolchain instead 2021-03-06 06:02:48 +01:00
mintsuki
7be0b35f6f We got the config to load 2021-03-04 07:18:00 +01:00
mintsuki
1be84baf84 Makefile fixes 2021-03-04 05:30:31 +01:00
mintsuki
746d9146c6 Make the smp trampoline more UEFI friendly 2021-03-04 05:15:20 +01:00
mintsuki
7f2c1743dc More Makefile fixes 2021-03-02 10:45:02 +01:00
mintsuki
6d756cf78b Makefile fixes 2021-03-02 10:42:35 +01:00
mintsuki
edd4a8de60 Initial UEFI port 2021-03-02 10:23:43 +01:00
mintsuki
741d749e6f makefile: Install bootloader binaries to share 2021-02-25 08:11:52 +01:00
mintsuki
7e786cee81 misc: Misc adjustments 2021-02-25 06:12:32 +01:00
JlXip
7677c6109d iso9660: back to stage2+decompressor 2021-02-25 03:34:23 +01:00
mintsuki
326bcbfa29 misc: Misc adjustments 2021-02-25 01:47:48 +01:00
mintsuki
27848fc85c misc: General code reorganisation 2021-02-25 01:24:54 +01:00
mintsuki
0673962817 misc: Code reorganisation 2021-02-22 20:43:51 +01:00
JlXip
34460c31a5 iso9660 2021-02-22 06:00:23 +01:00
JlXip
8141ff540b misc: More Makefile adjustments 2021-02-22 04:49:39 +01:00
mintsuki
81f39417eb misc: Makefile adjustments 2021-02-22 04:34:36 +01:00
mintsuki
6739ff84ff tinf: Do not share decompressor and stage2/3 decompression code 2021-02-21 05:01:18 +01:00
mintsuki
960549377b misc: Fix makefile clean targets 2021-02-20 23:15:01 +01:00
mintsuki
524829370d misc: Initial 3-stage bootloader work 2021-02-20 23:04:06 +01:00
mintsuki
042a377e35 misc: Bump stivale commit 2021-01-15 10:18:33 +01:00
mintsuki
0bc87d660c misc: Make build system download stivale headers from stivale repository and delete local copies 2021-01-15 05:14:20 +01:00
mintsuki
bb7030d39e misc: Add binary architecture flag to objcopy to avoid limine-install build failures on older host toolchains. Fixes #63 2021-01-15 03:58:59 +01:00
mintsuki
5d1f87d068 limine-install: Misc adjustments 2021-01-02 17:32:50 +01:00
mintsuki
4b86708f60 misc: Minor makefile dependency fixes 2020-12-31 04:50:40 +01:00
mintsuki
5197205697 limine-install: Embed limine.bin inside limine-install 2020-12-31 04:39:18 +01:00
mintsuki
faae7a002c vbe: Fix bug where the vbe tty double buffer did not properly refresh 2020-12-27 19:32:18 +01:00
mintsuki
a9ff406d31 uri: Add support for gzip-compressed files 2020-12-27 00:27:47 +01:00
mintsuki
35181c2b54 gpt: Embed stage2 code within GPT structures so an extra partition is not needed 2020-12-06 16:43:38 +01:00
mintsuki
8d04ab1c30 vbe: Add support for user loadable fonts for the menu 2020-12-05 04:42:19 +01:00
mintsuki
b75b35c557 fat32: General cleanup and optimisation 2020-12-04 14:11:25 +01:00
mintsuki
8c4f3ecfde misc: Make distclean Makefile target actually clean everything 2020-11-29 23:45:18 +01:00
mintsuki
e7147188e1 vbe: Fix handling of VBE versions older than 3.0 2020-11-29 08:26:08 +01:00
mintsuki
6cdae13b2b makefile: Make test targets depend on all 2020-11-17 01:33:30 +01:00
mintsuki
dc54ee97eb config: Add initial support for config directory entries 2020-11-16 23:31:03 +01:00
mintsuki
8460cee5ca misc: Implement stacktrace 2020-11-15 17:56:10 +01:00
Matteo Semenzato
e7ae195304 Add pxe support 2020-11-05 01:53:18 +01:00
mintsuki
038c041208 Add GUID resource type 2020-11-01 21:25:35 +01:00
mintsuki
c778e72af8 Fix up make clean 2020-10-04 00:01:05 +02:00
streaksu
7d400d30d6 Add a unified test image for stivale1 and stivale2 for both x86_64 and i386 2020-09-30 00:31:42 +02:00
ethan
2eac51b602
Update Makefile 2020-09-29 14:02:45 -06:00
Ethan Miller
cb55d3bec0 missing stdio 2020-09-29 14:00:09 -06:00
mintsuki
562e3c7c88 menu: Do not ignore key pressed during countdown 2020-09-28 22:39:28 +02:00
mintsuki
98c5b88f5e MTRR: Ensure size of MTRR range is aligned to the closest power of 2 2020-09-27 19:14:09 +02:00
mintsuki
86a69d8724 Add write-combining and MTRR support to speed up VBE framebuffer 2020-09-27 17:39:30 +02:00
mintsuki
5ee53fbe4d Initial work on bitmap and background support. Add a public domain picture.
Co-authored-by: ethan <55000224+ethan4984@users.noreply.github.com>
2020-09-21 17:43:37 +02:00
mintsuki
8410abb3d9 Build gzip and nasm as part of the toolchain to ensure reproducibility 2020-09-18 21:38:59 +02:00
mintsuki
41c68e5e43 Initial SMP implementation 2020-09-18 14:39:29 +02:00
VAN BOSSUYT Nicolas
2524f0d0b9 "make clean" was not removing limine-install. 2020-09-18 11:28:18 +02:00
mintsuki
e7838e854f Revert back to not baking the bootloader into the limine-install binary 2020-09-15 12:16:31 +02:00
mintsuki
1ddf568281 Further tidy up Makefile 2020-09-14 20:02:36 +02:00
mintsuki
cb9edd2a7b Reorganise source tree 2020-09-14 19:32:11 +02:00
mintsuki
6a6171d5e1 Update README.md 2020-09-13 15:47:43 +02:00
mintsuki
dd6f38f632 Ship reproducible prebuilt bootloader and make 'make all' only build limine-install 2020-09-13 15:20:53 +02:00
mintsuki
5663169aa6 Switch back to GCC 2020-09-13 14:36:18 +02:00
mintsuki
c53122516a Make the test image smaller and align the partition properly 2020-09-08 14:02:28 +02:00
mintsuki
7bde0c80ca Move to clang, no longer ship prebuilt binary, embed bootloader into the installer and provide a way to install the installer 2020-09-04 05:21:58 +02:00
mintsuki
4ac886b2f7 Add limine-install as a dependency to test targets 2020-09-04 02:01:53 +02:00
mintsuki
5379787967 Only enter graphical terminal mode for menu 2020-09-02 10:31:39 +02:00
mintsuki
866e95b4c3 Rebranding 2020-08-29 20:02:16 +02:00
mintsuki
ddd4172dcd Add memory clobbers where missing and remove useless stivale signature 2020-07-24 15:38:55 +02:00
mintsuki
6d5efbdc15 Make test cases buildable on FreeBSD 2020-07-06 22:59:28 +02:00
mintsuki
85a4106691 Update binary image 2020-05-11 19:52:54 +02:00
KrekBuk
b842720a70 FAT32: support directory entries larger than 1 sector
There was already a support for partitions with bigger cluster sizes but there was also a bug where the directory loading code would only look  at the first sector of each cluster and could incorrectly report some files as non-existing.
2020-05-02 15:47:29 +02:00
mintsuki
d9eb0b4053 Add partprobe to test targets in makefile 2020-05-01 18:23:49 +02:00
KrekBuk
af1b908d77 FAT32 support 2020-05-01 17:19:29 +02:00
mintsuki
2fd36507a1 Rewrite pit_sleep_and_quit_on_keypress() to be fully in real mode to avoid issues with switching back and forth 2020-04-25 20:33:26 +02:00
mintsuki
ee38f8b4c9 Improve ext2 inode reading 2020-04-24 14:16:48 +02:00
mintsuki
fb827cb5bf Make qloader2-install less verbose 2020-04-21 15:12:00 +02:00
mintsuki
41ea91c694 echfs: Add directory support 2020-04-21 10:18:21 +02:00
mintsuki
5d0c6d924a Improve ext2 driver a bit 2020-04-15 20:15:38 +02:00
mintsuki
8680f99eaa Add GPT support 2020-04-15 13:21:44 +02:00
Shreyas Lad
609f9d86de
EXT2 and VFS support (#5)
* initial header file

* finished inode structure

* finished inode permissions

* updated makefile

* working ext2fs build

* found superblock

* bgdt is ded

* parsed bgdt

* directory entry structure

* parsed inodes

* parsed root inode

* found directory entries

* added ext2 support

* fs abstraction support

* cached size in FILE

* hm

* removed debug statements

* added  to is_ext2() args

* fixed read errors

* comply with standards

* fixed things

* more fixes

* more makefile fixes

* even more fixes
2020-04-15 08:48:35 +02:00
mintsuki
375bdc6c94 Fix makefile 2020-04-10 17:47:26 +02:00
mintsuki
1a48bec601 Add elf parser 2020-03-25 01:04:18 +01:00
mintsuki
5c36fac374 Add testing facilities 2020-03-24 23:39:02 +01:00
mintsuki
f7b0f240d3 Add make toolchain script and reorganise source tree 2020-01-21 23:45:13 +01:00
mintsuki
3de2394f23 Make stage 3 32 bit 2019-05-30 16:35:49 +02:00
mintsuki
3c4c1a878a Add separate bootsector and stage2, add VGA text mode driver 2019-05-30 15:59:25 +02:00
mintsuki
276928841a Initial commit 2019-05-15 06:08:56 +02:00