{"id":12279,"date":"2026-10-15T09:19:43","date_gmt":"2026-10-15T00:19:43","guid":{"rendered":"https:\/\/www.freelifemakers.org\/wordpress\/?p=12279"},"modified":"2026-10-16T19:23:17","modified_gmt":"2026-10-16T10:23:17","slug":"os-minios-1-11","status":"publish","type":"post","link":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/2026\/10\/15\/os-minios-1-11\/","title":{"rendered":"[OS]miniOS(1~11)-\ub9e5\uc5d0\uc11c \ucef4\ud30c\uc77c\uacfc \uc2e4\ud589\/Compiling and running for macOS"},"content":{"rendered":"\n<p>\ud83d\udc49\ud83c\udffb miniOS \ud504\ub85c\uc81d\ud2b8\ub97c \ub9e5OS\uc5d0\uc11c \ucef4\ud30c\uc77c \ud558\uace0 \uc2e4\ud589\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4.<br>This is how to compile and run the miniOS project on macOS.<\/p>\n\n\n\n<p>\ud83d\udc49\ud83c\udffb \uba3c\uc800 QEMU\uc5d0\ubbac\ub808\uc774\ud130,\uc5b4\uc148\ube14\ub7ec,C\uc5b8\uc5b4 \ucef4\ud30c\uc77c\ub7ec\ub97c \uc124\uce58\ud569\ub2c8\ub2e4.(64\ube44\ud2b8,32\ube44\ud2b8)<br>First, install the QEMU emulator, an assembler, and a C compiler (for both 64-bit and 32-bit architectures).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew install nasm qemu i686-elf-gcc x86_64-elf-gcc<\/code><\/pre>\n\n\n\n<p>\ub610\ub294 \/ Or<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew install nasm \nbrew install qemu \nbrew install i686-elf-gcc \nbrew install x86_64-elf-gcc<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\">\n<li>qemu-system-i386 : <br>32\ube44\ud2b8 \uc804\uc6a9 \uc5d0\ubbac\ub808\uc774\ud130 \/ 32-bit-only emulator<\/li>\n\n\n\n<li>qemu-system-x86_64 : <br>64\ube44\ud2b8 \uc804\uc6a9 \uc5d0\ubbac\ub808\uc774\ud130 \/ 64-bit-only emulator<\/li>\n\n\n\n<li>nasm :<br> \uc18c\uc2a4 \ucf54\ub4dc\ub97c \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub098 \uc624\ube0c\uc81d\ud2b8 \ud30c\uc77c\ub85c \ubcc0\ud658\ud574 \uc8fc\ub294 \uc5b4\uc148\ube14\ub7ec<br>An assembler that converts source code into bytecode or object files<\/li>\n\n\n\n<li>i686-elf-gcc : <br>32\ube44\ud2b8 \ubca0\uc5b4\uba54\ud0c8 \ubc0f \ub3c5\ub9bd\ud615(ELF) \ud658\uacbd\uc744 \ud0c0\uac9f\uc73c\ub85c \ud558\ub294 C\uc5b8\uc5b4 \ud06c\ub85c\uc2a4 \ucef4\ud30c\uc77c\ub7ec<br>A C cross-compiler targeting 32-bit bare-metal and standalone (ELF) environments<\/li>\n\n\n\n<li>x86_64-elf-gcc : <br>64\ube44\ud2b8 \ubca0\uc5b4\uba54\ud0c8 \ubc0f \ub3c5\ub9bd\ud615(ELF) \ud658\uacbd\uc744 \ud0c0\uac9f\uc73c\ub85c \ud558\ub294 C\uc5b8\uc5b4 \ud06c\ub85c\uc2a4 \ucef4\ud30c\uc77c\ub7ec<br>A C cross-compiler targeting 64-bit bare-metal and standalone (ELF) environments<\/li>\n<\/ol>\n\n\n\n<p>\ud83d\udc49\ud83c\udffb \uc124\uce58\ud655\uc778 \/ Installation Confirmation<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>% <strong>nasm -v<\/strong>\nNASM version 3.02 compiled on Jun 29 2026\n\n% <strong>qemu-system-x86_64 --version <\/strong>\nQEMU emulator version 11.1.2\nCopyright (c) 2003-2026 Fabrice Bellard and the QEMU Project developers\n\n% <strong>i686-elf-gcc --version\n<\/strong>\ni686-elf-gcc (GCC) 16.2.0\nCopyright (C) 2026 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n% <strong>x86_64-elf-gcc --version<\/strong>\nx86_64-elf-gcc (GCC) 16.2.0\nCopyright (C) 2026 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<\/code><\/pre>\n\n\n\n<p>\ud83d\udcc1 miniOS-11 \ucef4\ud30c\uc77c \ubc0f \uc2e4\ud589<br>Compiling and Running miniOS-11<\/p>\n\n\n\n<p>1)NASM\uc744 \uc774\uc6a9\ud574 1\ubc88, 2\ubc88 \uc139\ud130 \ucf54\ub4dc\ub97c \uac01\uac01 \uc62c\ubc14\ub978 \ud615\uc2dd\uc73c\ub85c \ucef4\ud30c\uc77c\ud569\ub2c8\ub2e4<br>Use NASM to compile the code for sectors 1 and 2 into their respective correct formats.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nasm -f bin boot.asm -o boot.bin\nnasm -f elf32 sector2.asm -o sector2.o<\/code><\/pre>\n\n\n\n<p>2)C\uc5b8\uc5b4 \ucee4\ub110 \ucef4\ud30c\uc77c (M3 \ud06c\ub85c\uc2a4 \ucef4\ud30c\uc77c\ub7ec \ud65c\uc6a9)<br>Compiling a C-language kernel (using the M3 cross-compiler)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x86_64-elf-gcc -m32 -c kernel.c -o kernel.o -nostdlib -fno-builtin -fno-stack-protector -fno-pic -fno-PIE<\/code><\/pre>\n\n\n\n<p>3)\ub9c1\ud0b9 \ubc0f \uc774\ubbf8\uc9c0 \uacb0\ud569 \/ Linking and Image Combining<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x86_64-elf-ld -m elf_i386 -Ttext 0x8000 -e start -o sector2.bin sector2.o kernel.o --oformat binary\n\ncat boot.bin sector2.bin &gt; temp.bin\ndd if=temp.bin of=os.img bs=512 count=2880 conv=sync<\/code><\/pre>\n\n\n\n<p>4)QEMU\ub85c \uac00\uc0c1\uba38\uc2e0 \uc2e4\ud589 \/ Running a virtual machine with QEMU<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>qemu-system-x86_64 -drive file=os.img,format=raw,if=floppy -boot a<\/code><\/pre>\n\n\n\n<p>5)QEMU\ube60\uc838\ub098\uc624\uae30 \/ Exiting QEMU<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>control + option + G<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\ud83d\udcc1miniOS-1,miniOS-2 \ucef4\ud30c\uc77c \ubc0f \uc2e4\ud589<br>Compiling and running miniOS-1 and miniOS-2<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nasm -f bin boot.asm -o boot.bin\nqemu-system-x86_64 -drive format=raw,file=boot.bin<\/code><\/pre>\n\n\n\n<p>\ud83d\udcc1miniOS-3,miniOS-4,miniOS-5,miniOS-6,miniOS-7 \ucef4\ud30c\uc77c \ubc0f \uc2e4\ud589<br>Compile and run miniOS-3, miniOS-4, miniOS-5, miniOS-6, miniOS-7<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nasm -f bin boot.asm -o boot.bin\nnasm -f bin sector2.asm -o sector2.bin\ncat boot.bin sector2.bin &gt; temp.bin\ndd if=temp.bin of=os.img bs=512 count=2880 conv=sync\nqemu-system-x86_64 -drive file=os.img,format=raw,if=floppy -boot a<\/code><\/pre>\n\n\n\n<p>\ud83d\udcc1 miniOS-8,miniOS-9,miniOS-10,miniOS-11 \ucef4\ud30c\uc77c \ubc0f \uc2e4\ud589<br>Compile and run  miniOS-8,miniOS-9,miniOS-10,miniOS-11 <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nasm -f bin boot.asm -o boot.bin\n\nnasm -f elf32 sector2.asm -o sector2.o\n\ni686-elf-gcc -m32 -c kernel.c -o kernel.o -nostdlib -fno-builtin -fno-stack-protector -fno-pic -fno-PIE\n\ni686-elf-ld -m elf_i386 -Ttext 0x8000 -e start -o sector2.bin sector2.o kernel.o --oformat binary\n\ncat boot.bin sector2.bin &gt; temp.bin\n\ndd if=temp.bin of=os.img bs=512 count=2880 conv=sync\n\nqemu-system-x86_64 -drive file=os.img,format=raw,if=floppy -boot a<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udc49\ud83c\udffb miniOS \ud504\ub85c\uc81d\ud2b8\ub97c \ub9e5OS\uc5d0\uc11c \ucef4\ud30c\uc77c \ud558\uace0 \uc2e4\ud589\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4.This is how to compile and run the miniOS project on macOS. \ud83d\udc49\ud83c\udffb \uba3c\uc800 QEMU\uc5d0\ubbac\ub808\uc774\ud130,\uc5b4\uc148\ube14\ub7ec,C\uc5b8\uc5b4 \ucef4\ud30c\uc77c\ub7ec\ub97c \uc124\uce58\ud569\ub2c8\ub2e4.(64\ube44\ud2b8,32\ube44\ud2b8)First, install the QEMU emulator, an assembler, and a C compiler (for both 64-bit and 32-bit architectures). \ub610\ub294 \/ Or \ud83d\udc49\ud83c\udffb \uc124\uce58\ud655\uc778 \/ Installation Confirmation \ud83d\udcc1 miniOS-11 \ucef4\ud30c\uc77c \ubc0f \uc2e4\ud589Compiling and Running [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,26,1],"tags":[],"class_list":["post-12279","post","type-post","status-publish","format-standard","hentry","category-news","category-os","category-uncategorized","missing-thumbnail"],"_links":{"self":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/12279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=12279"}],"version-history":[{"count":30,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/12279\/revisions"}],"predecessor-version":[{"id":12313,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/12279\/revisions\/12313"}],"wp:attachment":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=12279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=12279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=12279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}