diff options
| author | Miguel <m.i@gmx.at> | 2018-08-17 10:12:45 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-08-17 10:12:45 +0200 |
| commit | 006214f8c63189500b6ca55e0ef8f97eb35d47f5 (patch) | |
| tree | e5eb05641708c0b643f48a8550b820c88a6947a8 | |
| parent | 413f1f19184acd9024b9a97156c467b88ff72484 (diff) | |
minor readme changes
| -rw-r--r-- | README.md | 99 | ||||
| -rw-r--r-- | toolchain | 13 |
2 files changed, 30 insertions, 82 deletions
@@ -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.  -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 - - diff --git a/toolchain b/toolchain deleted file mode 100644 index 8398af3..0000000 --- a/toolchain +++ /dev/null @@ -1,13 +0,0 @@ -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 |
