From c52e72f647a09245cc2da61783f5c543cab104a5 Mon Sep 17 00:00:00 2001 From: alhaad Date: Fri, 21 Jul 2017 20:23:57 -0700 Subject: [PATCH 01/15] Fix typo. --- 03-bootsector-memory/boot_sect_memory.asm | 2 +- 03-bootsector-memory/boot_sect_memory_org.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/03-bootsector-memory/boot_sect_memory.asm b/03-bootsector-memory/boot_sect_memory.asm index d41e78ed..7218841b 100644 --- a/03-bootsector-memory/boot_sect_memory.asm +++ b/03-bootsector-memory/boot_sect_memory.asm @@ -43,7 +43,7 @@ jmp $ ; infinite loop the_secret: ; ASCII code 0x58 ('X') is stored just before the zero-padding. - ; On this code that is at byte 0x2d (check it out using 'xdd file.bin') + ; On this code that is at byte 0x2d (check it out using 'xxd file.bin') db "X" ; zero padding and magic bios number diff --git a/03-bootsector-memory/boot_sect_memory_org.asm b/03-bootsector-memory/boot_sect_memory_org.asm index 9a29adc1..de5193c5 100644 --- a/03-bootsector-memory/boot_sect_memory_org.asm +++ b/03-bootsector-memory/boot_sect_memory_org.asm @@ -39,7 +39,7 @@ jmp $ ; infinite loop the_secret: ; ASCII code 0x58 ('X') is stored just before the zero-padding. - ; On this code that is at byte 0x2d (check it out using 'xdd file.bin') + ; On this code that is at byte 0x2d (check it out using 'xxd file.bin') db "X" ; zero padding and magic bios number From 5fd93e38770610b3bdf26f5f15315387893daeeb Mon Sep 17 00:00:00 2001 From: DONG HOON CHOE Date: Fri, 6 Oct 2017 14:24:47 +0900 Subject: [PATCH 02/15] changed gcc src download link --- 11-kernel-crosscompiler/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/11-kernel-crosscompiler/README.md b/11-kernel-crosscompiler/README.md index 774a909a..6d489946 100644 --- a/11-kernel-crosscompiler/README.md +++ b/11-kernel-crosscompiler/README.md @@ -58,7 +58,7 @@ gcc --- ```sh cd /tmp/src -curl -O http://mirror.bbln.org/gcc/releases/gcc-4.9.1/gcc-4.9.1.tar.bz2 +curl -O https://ftp.gnu.org/gnu/gcc/gcc-4.9.1/gcc-4.9.1.tar.bz2 tar xf gcc-4.9.1.tar.bz2 mkdir gcc-build cd gcc-build From d9d5ae017676008ed538ca86c57dd9d0342cdf44 Mon Sep 17 00:00:00 2001 From: Sam Uwe Alws Date: Wed, 6 Dec 2017 23:39:30 -0500 Subject: [PATCH 03/15] os-image.bin can be shortened to $@ --- 13-kernel-barebones/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/13-kernel-barebones/Makefile b/13-kernel-barebones/Makefile index 764f9b07..94e765f5 100644 --- a/13-kernel-barebones/Makefile +++ b/13-kernel-barebones/Makefile @@ -23,7 +23,7 @@ bootsect.bin: bootsect.asm nasm $< -f bin -o $@ os-image.bin: bootsect.bin kernel.bin - cat $^ > os-image.bin + cat $^ > $@ run: os-image.bin qemu-system-i386 -fda $< From 5252b917918cd7b95ab115b50f1e99c2be196c81 Mon Sep 17 00:00:00 2001 From: Ari Singh Date: Tue, 6 Feb 2018 20:55:23 -0500 Subject: [PATCH 04/15] Update README.md with SDL error issue --- 01-bootsector-barebones/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/01-bootsector-barebones/README.md b/01-bootsector-barebones/README.md index 09c2b906..147cd12a 100644 --- a/01-bootsector-barebones/README.md +++ b/01-bootsector-barebones/README.md @@ -55,6 +55,8 @@ I know you're anxious to try it out (I am!), so let's do it: `qemu boot_sect_simple.bin` +> On some systems, you may have to run `qemu-system-x86_64 boot_sect_simple.bin` If this gives an SDL error, try passing the --nographic and/or --curses flag(s). + You will see a window open which says "Booting from Hard Disk..." and nothing else. When was the last time you were so excited to see an infinite loop? ;-) From c1645ed6ffbe23d591e93dcd37ee9dfa8ced3b7e Mon Sep 17 00:00:00 2001 From: Ghifari160 Date: Fri, 2 Mar 2018 22:31:30 -0600 Subject: [PATCH 05/15] Fixed typo in README.md 'xdd' should be 'xxd' --- 12-kernel-c/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/12-kernel-c/README.md b/12-kernel-c/README.md index 7f00d38f..5292d661 100644 --- a/12-kernel-c/README.md +++ b/12-kernel-c/README.md @@ -37,7 +37,7 @@ generates machine code without any labels and/or metadata *Note: a warning may appear when linking, disregard it* -Now examine both "binary" files, `function.o` and `function.bin` using `xdd`. You +Now examine both "binary" files, `function.o` and `function.bin` using `xxd`. You will see that the `.bin` file is machine code, while the `.o` file has a lot of debugging information, labels, etc. From 4399a080248bc50cca9bf2e02808a33eac57db12 Mon Sep 17 00:00:00 2001 From: Ghifari160 Date: Tue, 3 Apr 2018 16:51:57 -0500 Subject: [PATCH 06/15] Updated link to GDB --- 14-checkpoint/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/14-checkpoint/README.md b/14-checkpoint/README.md index 6af38f6a..8d9958e3 100644 --- a/14-checkpoint/README.md +++ b/14-checkpoint/README.md @@ -20,7 +20,7 @@ on Homebrew's repos) ```sh cd /tmp/src -curl -O http://ftp.rediris.es/mirror/GNU/gnu/gdb/gdb-7.8.tar.gz +curl -O http://ftp.rediris.es/mirror/GNU/gdb/gdb-7.8.tar.gz tar xf gdb-7.8.tar.gz mkdir gdb-build cd gdb-build From 595921692b1959f666075b2efc9b86ddd5a68b5d Mon Sep 17 00:00:00 2001 From: Carlos Fenollosa Date: Thu, 19 Apr 2018 10:05:19 +0200 Subject: [PATCH 07/15] Update README.md --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4f43623f..c9b94466 100644 --- a/README.md +++ b/README.md @@ -87,5 +87,8 @@ If we feel brave enough: Contributing ------------ -I'm still learning this. For the moment, please restrict your contributions to fixing possible bugs -or improving existing documents. I'm not yet ready to accept enhancements. +This is a personal learning project, and even though it hasn't been updated for a long time, I still have hopes to get into it at some point. + +I'm thankful to all those who have pointed out bugs and submitted pull requests. I will need some time to review everything and I cannot guarantee that at this moment. + +Please feel free to fork this repo. If many of you are interested in continuing the project, let me know and I'll link the "main fork" from here. From db4ae5b87fbcbac6f6a97dcdbed2696dc73a17d1 Mon Sep 17 00:00:00 2001 From: Carlos Fenollosa Date: Fri, 20 Apr 2018 14:43:13 +0200 Subject: [PATCH 08/15] Typo. Closes #28 --- 01-bootsector-barebones/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/01-bootsector-barebones/README.md b/01-bootsector-barebones/README.md index 09c2b906..25cc4e1f 100644 --- a/01-bootsector-barebones/README.md +++ b/01-bootsector-barebones/README.md @@ -25,7 +25,7 @@ e9 fd ff 00 00 00 00 00 00 00 00 00 00 00 00 00 ``` It is basically all zeros, ending with the 16-bit value -`0xAA55` (beware of indianness, x86 is little-endian). +`0xAA55` (beware of endianness, x86 is little-endian). The first three bytes perform an infinite jump Simplest boot sector ever From 301019e8380dd7c257cb66a4cc476ad383d2d052 Mon Sep 17 00:00:00 2001 From: Carlos Fenollosa Date: Sat, 22 Sep 2018 11:31:27 +0200 Subject: [PATCH 09/15] Create license. Closes #51 --- LICENSE | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..c02f0a16 --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2018, Carlos Fenollosa +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From b842cff5989b161719eac8a6b3b8f63beb924a99 Mon Sep 17 00:00:00 2001 From: Ducc <43486978+BlackmanWhite@users.noreply.github.com> Date: Sat, 22 Sep 2018 15:56:28 -0300 Subject: [PATCH 10/15] Typo Fixed "remember" spelled as "rember" and fixed a comma wrongfuly placed. --- 24-el-capitan/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/24-el-capitan/README.md b/24-el-capitan/README.md index 88d777dd..33d59601 100644 --- a/24-el-capitan/README.md +++ b/24-el-capitan/README.md @@ -1,6 +1,6 @@ **Goal: Update our build system to El Capitan** -If you were following this guide from the beginning, and upgraded to El Capitan only +If you were following this guide from the beginning and upgraded to El Capitan only to find that Makefiles don't compile anymore, follow these instructions to upgrade your cross-compiler. @@ -33,7 +33,7 @@ export PATH="$PREFIX/bin:$PATH" binutils -------- -Rember: always be careful before pasting walls of text from the internet. I recommend copying line by line. +Remember: always be careful before pasting walls of text from the internet. I recommend copying line by line. ```sh mkdir /tmp/src From 86e544849c577ca3dede2482cf79e934b7f85ffa Mon Sep 17 00:00:00 2001 From: Semen Zhydenko Date: Tue, 25 Sep 2018 14:26:55 +0200 Subject: [PATCH 11/15] apparantly -> apparently --- 21-shell/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/21-shell/README.md b/21-shell/README.md index 34aca085..232ecbdc 100644 --- a/21-shell/README.md +++ b/21-shell/README.md @@ -34,7 +34,7 @@ we implement the boot sequence for a different machine. There are more switches for the `CFLAGS` on the `Makefile`, since we will now start creating higher-level functions for our C library and we don't want the compiler to include any external code if we make a mistake with a declaration. -We also added some flags to turn warnings into errors, since an apparantly minor mistake +We also added some flags to turn warnings into errors, since an apparently minor mistake converting pointers can blow up later on. This also forced us to modify some misc pointer declarations in our code. From 720485aad091e58796f740c5a078f427d8b0b144 Mon Sep 17 00:00:00 2001 From: Semen Zhydenko Date: Tue, 25 Sep 2018 14:28:04 +0200 Subject: [PATCH 12/15] pased -> passed --- 23-fixes/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/23-fixes/README.md b/23-fixes/README.md index e9c4acba..4289413c 100644 --- a/23-fixes/README.md +++ b/23-fixes/README.md @@ -16,7 +16,7 @@ We add `-ffreestanding` when compiling `.o` files, which includes `kernel_entry Before, we disabled libgcc (not libc) through the use of `-nostdlib` and we didn't re-enable it for linking. Since this is tricky, we'll delete `-nostdlib` -`-nostdinc` was also pased to gcc, but we will need it for step 3, so let's delete it. +`-nostdinc` was also passed to gcc, but we will need it for step 3, so let's delete it. 2. kernel.c `main()` function From 3f4eb766469308b579a0a3a24285fb0f4bc9aa60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Welling=20Guzm=C3=A1n?= Date: Sat, 29 Sep 2018 23:42:23 -0400 Subject: [PATCH 13/15] Fix typo (tho -> two) --- 21-shell/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/21-shell/README.md b/21-shell/README.md index 34aca085..2921c0c2 100644 --- a/21-shell/README.md +++ b/21-shell/README.md @@ -1,7 +1,7 @@ **Goal: Clean the code a bit and parse user input** -In this lesson we will do tho things. First, we will clean up the code a bit, so it is ready +In this lesson we will do two things. First, we will clean up the code a bit, so it is ready for further lessons. During the previous ones I tried to put things in the most predictable places, but it is also a good exercise to know when the code base is growing and adapt it to current and further needs. From 74af8e4b55ed74cae63a633e3275d00ae5ab1418 Mon Sep 17 00:00:00 2001 From: amit794 <43886572+amit794@users.noreply.github.com> Date: Fri, 5 Oct 2018 18:42:47 +0300 Subject: [PATCH 14/15] Update README.md Fixed typo --- 24-el-capitan/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/24-el-capitan/README.md b/24-el-capitan/README.md index 88d777dd..8b5742ff 100644 --- a/24-el-capitan/README.md +++ b/24-el-capitan/README.md @@ -33,7 +33,7 @@ export PATH="$PREFIX/bin:$PATH" binutils -------- -Rember: always be careful before pasting walls of text from the internet. I recommend copying line by line. +Remember: always be careful before pasting walls of text from the internet. I recommend copying line by line. ```sh mkdir /tmp/src From ce8e050d246594fda7f0067d7f4c9abeaa2b269c Mon Sep 17 00:00:00 2001 From: Carlos Fenollosa Date: Tue, 19 Sep 2023 17:35:22 +0200 Subject: [PATCH 15/15] Update README.md Closes #269 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c9b94466..fad5bad0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ os-tutorial =========== +_⚠️ Hey! This is an old, abandoned project, with both technical and design issues [listed here](https://github.com/cfenollosa/os-tutorial/issues/269). Please have fun with this tutorial but do look for more modern and authoritative sources if you want to learn about OS design. ⚠️_ + How to create an OS from scratch! I have always wanted to learn how to make an OS from scratch. In college I was taught pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy