summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-08-17 10:12:45 +0200
committerMiguel <m.i@gmx.at>2018-08-17 10:12:45 +0200
commit006214f8c63189500b6ca55e0ef8f97eb35d47f5 (patch)
treee5eb05641708c0b643f48a8550b820c88a6947a8 /README.md
parent413f1f19184acd9024b9a97156c467b88ff72484 (diff)
minor readme changes
Diffstat (limited to 'README.md')
-rw-r--r--README.md99
1 files changed, 30 insertions, 69 deletions
diff --git a/README.md b/README.md
index 4b9dee0..6566420 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,6 @@
Welcome to FoolOS
=================
-
Disclaimer
----------
@@ -9,13 +8,15 @@ THIS IS A WORK IN PROGRESS.
This is a simple and useless "operating system", with very basic
features, sorry. It is the fruit of my fundamental explorations of
-the x86 architectures, 32-bit protected mode, interrupt handling,
-memory management, scheduling, the floppy disk controller, networking
-as well as VESA and a couple of other things.
+the x86 architectures and operating system design.
+
+We have (or had) 32-bit protected mode, interrupt handling,
+memory management, scheduling, a floppy disk controller, mouse
+as well as VESA and a couple of other things. networking is a big goal.
![Screenshot of FoolOS](/screenshots/foolos.png?raw=true "FoolOs Kernel")
-Copyright M.Idziorek 2014-2015 <m.i@gmx.at> unless stated otherwise!
+Copyright M.Idziorek 2014-2015,2018 <m.i@gmx.at> unless stated otherwise!
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
@@ -34,35 +35,31 @@ Requirements:
* OS Specific Toolchain [1]
- binutils-2.25
- gcc-5.1.0
-
-* Newlib 2.2.0 [2]
-
- (newlib-2.2.0.20150423.tar.gz)
-
- adapt config.sub (add -foolos*) and build in a separate direcotry.
-
- $ ../newlib-xxx/configure --target=i686-foolos --prefix=/home/miguel/opt/gcc-5.1.0-foolos/
+ binutils-*
+ gcc-*
- $ make
- $ make install
+* Newlib * [2]
* GRUB2
+https://wiki.osdev.org/GCC_Cross-Compiler
+ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.gz
+https://sunsite.icm.edu.pl/pub/gnu/binutils/binutils-2.31.1.tar.gz
+https://wiki.osdev.org/Porting_Newlib
+ftp://sourceware.org/pub/newlib/newlib-3.0.0.20180802.tar.gz
+https://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
+https://ftp.gnu.org/gnu/automake/automake-1.11.6.tar.gz
+MAKE DIFF OF NEWLIB !
+
+DID NO TRY YET
+https://www.musl-libc.org/releases/musl-1.1.19.tar.gz
Usage
-----
-
-Attach the FoolOS.img or FoolOS.vdi image in your favourite emulator and
-boot or create a bootable USB stick by copying the raw data in the
-following way:
-
-$ cat FoolOS.img > /dev/sdX
-
-
+Use the FoolOS.iso in your favourite emulator or `dd` to an usb stick
+and test on real hardware.
Supported Platforms
-------------------
@@ -75,14 +72,14 @@ FoolOS is tested/developed on the following emulators/machines
* virtual box 4.1.18
* Acer Aspire 1810TZ (Notebook)
* Q6600 on Asus p5n32-e sli plus (Desktop PC)
+* 4790K on Asus (Desktop PC)
Features
--------
Please note that all features are only very rudimentary and buggy.
-Some might be disabled temporarily due to conflicts or regressions.
+Some might have been disable (temporarily) due to conflicts or regressions.
-* Bootloader (2 stages)
* ELF binaries
* PIT support / Timing
* PIC support & Interrupt handling framework
@@ -96,6 +93,7 @@ Some might be disabled temporarily due to conflicts or regressions.
Fetures are under this line are currently disabled / not developed:
+* Bootloader (2 stages)
* VESA Support
* PS2 Mouse driver
* Floppy disk driver
@@ -106,19 +104,16 @@ Fetures are under this line are currently disabled / not developed:
Todos
-----
-* smp
-* porting ncurses? (Does this require g++ toolchain?)
-* Port more software (vim, coreutils, gcc, apache?)
+* Porting (ncurses, gcc, binutils, vim, apache...)
* Support some TTY standard (xterm)
-* implement read syscall!
+
* /dev/console
* /dev/kb
* E1000 driver (or some other easy network card driver) maybe NS2000 better?
* Networking stack
-* Port X? 2d drivers, 3d drivers? hw acceleration.
-* FPU?
+* GUI
Issues
------
@@ -133,30 +128,6 @@ Issues
* Assumed support for VESA mode 0x114 with linear addressing. (let the user select)
* fixed size of process images!
-
-Organization
-------------
-
-* screenshots/ - latest screenshot
-
-* userspace/ - userspace related code
-
-* boot1/ - 2nd stage bootloader
-* boot2/ - 1st stage bootloader
-
-* asm/ - kernel assembler code
-
-* kernel/ - kernel source
-
-* lib/ - some helper sources and includes
-* fs/ - file system related source
-* video/ - screen output (VESA and text)
-
-* font/ - Fonts for VESA
-
-* bochs/ -Bochs config files
-
-
REFERENCES
==========
@@ -169,17 +140,7 @@ REFERENCES
* http://forum.osdev.org/viewtopic.php?f=1&t=10944
* http://wiki.osdev.org/Virtual_8086_Mode
* http://wiki.xomb.org/index.php?title=ACPI_Tables
+* http://wiki.osdev.org/Hosted_GCC_Cross-Compiler
+* https://sourceware.org/newlib/
* and many many more...
-[1] http://wiki.osdev.org/Hosted_GCC_Cross-Compiler
-[2] https://sourceware.org/newlib/
-
-NOTES
-=====
-in freestanding mode we can just use this c lib headers:
-stdbool,sddef,stdint,
-float,iso646,limits,stdarg
-
-sudo losetup /dev/loop1 disk.img -o 1048576
-
-