License
This commit is contained in:
17
LICENSE.md
Normal file
17
LICENSE.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# LICENSE
|
||||
|
||||
Copyright Ciro Santilli <http://www.cirosantilli.com/>
|
||||
|
||||
Source code for executable computer consumption: GPL v3: <https://www.gnu.org/licenses/gpl-3.0.txt>
|
||||
|
||||
Prose for human consumption (e.g. `.md` files and source code comments): CC BY-SA v4: <https://creativecommons.org/licenses/by-sa/4.0/>. Recommended attribution:
|
||||
|
||||
- Single file adaptations:
|
||||
|
||||
Based on https://github.com/cirosantilli/x86-bare-metal-examples/blob/<git-hash>/path/to/file.md
|
||||
|
||||
- Multi-file adapataions:
|
||||
|
||||
Based on https://github.com/cirosantilli/x86-bare-metal-examples/tree/<git-hash>
|
||||
|
||||
If you want to use this work under a different license, contact the copyright owner, and he might make a good price.
|
||||
@@ -33,7 +33,7 @@ Dozens of minimal operating systems to learn x86 system programming. Userland ch
|
||||
1. [SS](ss.S)
|
||||
1. [CS](cs.S)
|
||||
1. [Interrupt](interrupt.S)
|
||||
1. [int $1](interrupt1.S)
|
||||
1. [int \$1](interrupt1.S)
|
||||
1. [Interrupt zero divide](interrupt_zero_divide.S)
|
||||
1. [Interrupt loop](interrupt_loop.S)
|
||||
1. [in](in.md)
|
||||
@@ -83,5 +83,6 @@ Dozens of minimal operating systems to learn x86 system programming. Userland ch
|
||||
1. Tests
|
||||
1. [PRINT_BYTES](test_print_bytes.S)
|
||||
1. [PRINT_BYTES](test_pit_sleep.S)
|
||||
1. [LICENSE](LICENSE.md)
|
||||
1. [TODO](TODO.md)
|
||||
1. [ring](ring.md)
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
- <http://stackoverflow.com/questions/22054578/run-a-program-without-an-operating-system>
|
||||
|
||||
## Small projects
|
||||
## Small educational projects
|
||||
|
||||
Fun, educational and useless:
|
||||
|
||||
- <https://github.com/programble/bare-metal-tetris> tested on Ubuntu 14.04. Just works.
|
||||
|
||||
@@ -14,10 +16,14 @@
|
||||
|
||||
Almost entirely in C `-nostdlib`, with very few inline `asm` commands, and a small assembly entry point. So a good tutorial in how to do the bridge.
|
||||
|
||||
- <https://github.com/daniel-e/tetros> Tetris that fits into bootloader.
|
||||
|
||||
- <https://github.com/arjun024/mkeykernel>, <https://github.com/arjun024/mkernel>
|
||||
|
||||
Worked, but bad build system: not `Makefile` or `.gitignore`.
|
||||
|
||||
- <https://github.com/Overv/MineAssemble>
|
||||
|
||||
The following did not work on my machine out of the box:
|
||||
|
||||
- <https://github.com/apparentlymart/ToyOS>
|
||||
@@ -35,6 +41,11 @@ One complexity order above the minimal tutorials, one below actual kernels
|
||||
- <https://pdos.csail.mit.edu/6.828/2014/xv6.html>
|
||||
- <https://en.wikipedia.org/wiki/MINIX>, influenced Linux
|
||||
|
||||
### Educational non-NIXes
|
||||
|
||||
- <https://github.com/intermezzOS/book>
|
||||
- <https://github.com/flosse/rust-os-comparison>
|
||||
|
||||
## Multi collaborator websites
|
||||
|
||||
- osdev.org is a major source for this.
|
||||
@@ -85,6 +96,8 @@ One complexity order above the minimal tutorials, one below actual kernels
|
||||
|
||||
GAS based, no multiboot used.
|
||||
|
||||
- <https://github.com/littleosbook/littleosbook>
|
||||
|
||||
## Actually useful
|
||||
|
||||
These are not meant as learning resources but rather as useful programs:
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
.POSIX:
|
||||
|
||||
.PHONY: clean run
|
||||
|
||||
main.img:
|
||||
make -C '../mbrs' && cp '../bios_hello_world.img.sym' 'iso/boot/main.img'
|
||||
grub-mkrescue -o '$@' iso
|
||||
|
||||
clean:
|
||||
rm -f iso/boot/*.img *.img
|
||||
|
||||
run: main.img
|
||||
qemu-system-i386 -hda '$<'
|
||||
@@ -1,5 +1,7 @@
|
||||
# GRUB
|
||||
|
||||
1. [Introduction](introduction.md)
|
||||
1. [chainloader](chainloader)
|
||||
1. [Symlinks](symlinks.md)
|
||||
1. Examples
|
||||
1. [chainloader](chainloader/)
|
||||
1. Theory
|
||||
1. [Introduction](introduction.md)
|
||||
1. [Symlinks](symlinks.md)
|
||||
|
||||
@@ -184,11 +184,9 @@ TODO get a minimal example working using a minimal kernel from: <https://github.
|
||||
echo y | mke2fs -t ext4
|
||||
sudo mount "/dev/mapper/${loop}p1" d
|
||||
|
||||
|
||||
# Need a new Ubuntu.
|
||||
#sudo losetup --show -f -P test.img
|
||||
|
||||
|
||||
sudo grub-install /dev/loop0
|
||||
|
||||
mkdir -p d
|
||||
|
||||
Reference in New Issue
Block a user