No description
Find a file
2024-06-03 18:15:22 +00:00
OLD GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
source Update os.c 2024-06-03 18:14:35 +00:00
.gitattributes Initial commit 2024-06-03 10:57:51 -05:00
.gitignore GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
BUGS.md GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
build-macos.sh GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
build-with-iso.sh GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
build.sh add darwin/xnu functionality 2024-06-03 11:29:39 -05:00
COC.md GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
create-iso.sh GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
gems.png GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
install-depends.sh add darwin/xnu functionality 2024-06-03 11:29:39 -05:00
LICENSE-GEMS-CODE GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
LICENSE.md GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
linker.ld GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
NOTES.md GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
quick-test.sh GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
README.md GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
test-kernel_only.sh GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
test-mute.sh Update test-mute.sh 2024-06-03 18:15:22 +00:00
test.sh Update test.sh 2024-06-03 18:15:07 +00:00
TODO.md GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00
WSLHOWTO.MD GEMS Kernel is going to be better than ever... 2024-06-03 11:16:15 -05:00

Logo GEMS KERNEL

GEMS - GEMS is ESSENTIALLY MAYBE SPINEL Note: This is not Spinel, we are just trying to be better. ;) Note: GEMS is in really early development, and will probably be that way for quite a while. Note: This is highly based off of https://wiki.osdev.org/ and user Zesterer's Bare_Bones, however it is modified quite a bit to work for me.

Seriously... You can only boot to a small splash screen, you can't even type anything...

but it has Colors, Sounds, A panic system so it is definitely improving.

However, here are the dependencies (in ubuntu) in case you want to compile this

sudo apt install -y libc6-dev-i386 grub-common nasm gcc liblua5.1-0-dev liblua50:i386 liblua50-dev:i386 libc-dev:i386 linux-libc-dev:i386 libc6-dev:i386 qemu-system-i386 grub-pc-bin lua-socket xorriso gcc-9-multilib libc6-dev-i386 libc6-x32 gcc-multilib libc6-dev-x32 libc6-dev linux-libc-dev

Update: You might want to install these:

sudo apt install -y build-essential grub-common nasm gcc git qemu-system-x86 grub-pc-bin lua-socket xorriso gcc-10-multilib gcc-arm-none-eabi git nasm grub2

Oh and also: You really need an i686 cross compiler, I reccomend this one here for GNU/Linux (put it int the source directory): https://drive.google.com/file/d/0Bw6lG3Ej2746STJaM2dNbC05elE/view?usp=sharing

Or for macOS, run this brew command (requires homebrew)

brew install i686-elf-gcc nasm llvm objconv

To compile run:

cd source && ../build-with-iso.sh

Or on a Mac:

cd source && ./build-mac.sh

And then setup GRUB on macOS if you would wish to create an ISO, as explained here: https://wiki.osdev.org/GRUB_2#HDD_Image_Instructions_for_OS_X_users

(Hint, download LUA 5.0 source here: https://www.lua.org/ftp/lua-5.0.tar.gz) Update: We are switching to mostly custom C/ASM

Oh and a quick warning: Test.sh / Qemu's PC SPEAKER is VERY LOUD. You will want to turn down your volume.

Other files

COC.md is the old Code of Conduct for historical purposes. Read the new one here.

BUGS.md is for listing all the different bugs and their origins/source and status.

NOTES.md is for listing everything we have learned so far.

WSLHOWTO.MD is a tutorial on how to build and run GEMS in Windows.

Note about Licensing...

THIRDPARTY software under the source/THIRDPARTY directory are under their own licenses, shown in their own directories, and not the main license.