From 857d82d45c2bbcaf5234b756736596b1e6a9d28a Mon Sep 17 00:00:00 2001 From: Miguel Date: Sat, 18 Aug 2018 20:04:32 +0200 Subject: cleaning up (Also for newlib) --- README.md | 109 +++++++++++++++++++++++++++----------------------------------- 1 file changed, 47 insertions(+), 62 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 6566420..c885f88 100644 --- a/README.md +++ b/README.md @@ -6,55 +6,36 @@ Disclaimer 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 and operating system design. +This is a simple and useless "operating system", with a very basic set +of features. It is the fruit of my fundamental explorations of the x86 +architecture 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,2018 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, -FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Building --------- - -Adapt $SYSROOT in userspace/sys/Makefile +Copyright M.Idziorek 2014-2015,2018 unless stated otherwise. -Requirements: - -* OS Specific Toolchain [1] +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - binutils-* - gcc-* +Prequisites +----------- -* Newlib * [2] +GCC CROSS-COMPILER (i686-elf) -* GRUB2 + https://wiki.osdev.org/GCC_Cross-Compiler (18 AUG 2018) + 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/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 +NEWLIB -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 + https://wiki.osdev.org/Porting_Newlib (18 AUG 2018) + 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 ----- @@ -77,6 +58,10 @@ FoolOS is tested/developed on the following emulators/machines Features -------- +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. Please note that all features are only very rudimentary and buggy. Some might have been disable (temporarily) due to conflicts or regressions. @@ -118,29 +103,29 @@ Todos Issues ------ -* sbrk() -* ESP collisions!? -* TSS-ESP0? -* kbfree() -* pg_directory alloc -* implement posix(?) getdents instead of our own readdir. -* Turning on some gcc optimizations breaks the kernel. (need debug so go for ELF!) -* Assumed support for VESA mode 0x114 with linear addressing. (let the user select) -* fixed size of process images! + sbrk() + ESP collisions!? + TSS-ESP0? + kbfree() + pg_directory alloc + implement posix(?) getdents instead of our own readdir. + Turning on some gcc optimizations breaks the kernel. (need debug so go for ELF!) + Assumed support for VESA mode 0x114 with linear addressing. (let the user select) + fixed size of process images! REFERENCES ========== -* http://www.brokenthorn.com/Resources/OSDev17.html -* http://www.jamesmolloy.co.uk/tutorial_html/9.-Multitasking.html -* http://pdos.csail.mit.edu/6.828/2011/labs/lab6/ -* http://pdos.csail.mit.edu/6.828/2011/xv6.html -* http://www.nongnu.org/ext2-doc/ -* http://www.osdever.net/tutorials/view/multiprocessing-support-for-hobby-oses-explained -* 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... + http://www.brokenthorn.com/Resources/OSDev17.html + http://www.jamesmolloy.co.uk/tutorial_html/9.-Multitasking.html + http://pdos.csail.mit.edu/6.828/2011/labs/lab6/ + http://pdos.csail.mit.edu/6.828/2011/xv6.html + http://www.nongnu.org/ext2-doc/ + http://www.osdever.net/tutorials/view/multiprocessing-support-for-hobby-oses-explained + 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... -- cgit v1.2.3