mimosa
Minimal operating system for x86 intended as a basis for benchmarking and running Gambit
파일 탐색기
최종 버전 다운로드 (.zip)- profiles_settings.xml
- .gitignore
- mimosa.iml
- misc.xml
- modules.xml
- vcs.xml
- _define-library#.scm
- _define-library.scm
- debug.scm
- define-library-expand#.scm
- makefile
- README.md
- test.scm
- _geiser#.scm
- _geiser.scm
- makefile
- _git#.scm
- _git.scm
- makefile
- makefile
- primitive-hamt#.scm
- primitive-hamt.scm
- _hamt#.scm
- _hamt.scm
- makefile
- test.scm
- _http#.scm
- _http.scm
- makefile
- test.scm
- _match#.scm
- _match.scm
- makefile
- match-expand#.scm
- match-expand.scm
- test.scm
- _pkg#.scm
- _pkg.scm
- makefile
- _tar#.scm
- _tar.scm
- makefile
- _test#.scm
- _test.scm
- all.scm
- makefile
- quiet.scm
- test.scm
- verbose.scm
- _uri#.scm
- _uri.scm
- makefile
- test.scm
- _zlib#.scm
- _zlib.scm
- makefile
- test.scm
- digest#.scm
- digest.scm
- pkg#.scm
- pkg.scm
- tar#.scm
- tar.scm
- test#.scm
- test.scm
- zlib#.scm
- zlib.scm
- gambit.sld
- makefile
- cont.png
- editcopy.png
- editcut.png
- editpaste.png
- filenew.png
- fileopen.png
- filesave.png
- leap.png
- makefile.in
- print.png
- redo.png
- step.png
- undo.png
- _guide#.scm
- _guide.c
- _guide.h
- _guide.scm
- guide.cpp
- guide.h
- guidepro.in
- guideuiabout.ui
- guideuicodeformat.cpp
- guideuicodeformat.h
- guideuiconsoleinfo.cpp
- guideuiconsoleinfo.h
- guideuicont.cpp
- guideuicont.h
- guideuienv.cpp
- guideuienv.h
- guideuifileeditor.ui
- guideuiformatchooser.ui
- guideuihighlighter.cpp
- guideuihighlighter.h
- guideuihighlighterscheme.cpp
- guideuihighlighterscheme.h
- guideuiinspector.cpp
- guideuiinspector.h
- guideuimainwindow.ui
- guideuirepl.cpp
- guideuirepl.h
- guideuischeme.cpp
- guideuischeme.h
- guideuisearchdialog.ui
- guideuitableitem.h
- guideuitextedit.cpp
- guideuitextedit.h
- makefile.in
- makefile
- r5rs.sld
- base.sld
- makefile
- case-lambda.sld
- makefile
- char.sld
- makefile
- complex.sld
- makefile
- cxr.sld
- makefile
- eval.sld
- makefile
- file.sld
- makefile
- inexact.sld
- makefile
- lazy.sld
- makefile
- load.sld
- makefile
- makefile
- process-context.sld
- makefile
- r5rs.sld
- makefile
- read.sld
- makefile
- repl.sld
- makefile
- time.sld
- makefile
- write.sld
- makefile
- 0#.scm
- 0.scm
- 0.sld
- makefile
- test.scm
- 132#.scm
- 132.scm
- 132.sld
- delndups.scm
- lmsort.scm
- makefile
- merge.scm
- select.scm
- test.scm
- vhsort.scm
- visort.scm
- vmsort.scm
- vqsort2.scm
- vqsort3.scm
- vr7rs.scm
- 23#.scm
- 23.scm
- 23.sld
- makefile
- test.scm
- 28#.scm
- 28.scm
- 28.sld
- makefile
- test.scm
- 4#.scm
- 4.scm
- 4.sld
- makefile
- test.scm
- 6#.scm
- 6.scm
- 6.sld
- makefile
- test.scm
- 69#.scm
- 69.scm
- 69.sld
- makefile
- test.scm
- 8#.scm
- 8.scm
- 8.sld
- makefile
- test.scm
- 9#.scm
- 9.scm
- 9.sld
- makefile
- test.scm
- makefile
- gen_event.scm
- gen_server.scm
- makefile
- data.scm
- deftype.scm
- io.scm
- makefile
- match#.scm
- match-support#.scm
- match-support.scm
- match.scm
- process.scm
- recv.scm
- termite#.scm
- termite.scm
- utils#.scm
- utils.scm
- uuid.scm
- _asm#.scm
- _codegen#.scm
- _define-syntax.scm
- _eval#.scm
- _gambit#.scm
- _io#.scm
- _kernel#.scm
- _module#.scm
- _nonstd#.scm
- _num#.scm
- _prim#.scm
- _prim-boolean#.scm
- _prim-boolean-r4rs#.scm
- _prim-boolean-r7rs#.scm
- _prim-box#.scm
- _prim-box-gambit#.scm
- _prim-bytevector#.scm
- _prim-bytevector-r7rs#.scm
- _prim-char#.scm
- _prim-char-r4rs#.scm
- _prim-char-r7rs#.scm
- _prim-exception#.scm
- _prim-exception-gambit#.scm
- _prim-f32vector#.scm
- _prim-f32vector-gambit#.scm
- _prim-f64vector#.scm
- _prim-f64vector-gambit#.scm
- _prim-filesystem#.scm
- _prim-filesystem-gambit#.scm
- _prim-filesystem-r7rs#.scm
- _prim-fixnum#.scm
- _prim-fixnum-gambit#.scm
- _prim-flonum#.scm
- _prim-flonum-gambit#.scm
- _prim-foreign#.scm
- _prim-foreign-gambit#.scm
- _prim-keyword#.scm
- _prim-keyword-gambit#.scm
- _prim-list#.scm
- _prim-list-gambit#.scm
- _prim-list-r4rs#.scm
- _prim-list-r7rs#.scm
- _prim-misc#.scm
- _prim-misc-gambit#.scm
- _prim-misc-r4rs#.scm
- _prim-misc-r5rs#.scm
- _prim-misc-r7rs#.scm
- _prim-number#.scm
- _prim-number-gambit#.scm
- _prim-number-r4rs#.scm
- _prim-number-r7rs#.scm
- _prim-os#.scm
- _prim-os-gambit#.scm
- _prim-os-r7rs#.scm
- _prim-port#.scm
- _prim-port-gambit#.scm
- _prim-port-r4rs#.scm
- _prim-port-r7rs#.scm
- _prim-s16vector#.scm
- _prim-s16vector-gambit#.scm
- _prim-s32vector#.scm
- _prim-s32vector-gambit#.scm
- _prim-s64vector#.scm
- _prim-s64vector-gambit#.scm
- _prim-s8vector#.scm
- _prim-s8vector-gambit#.scm
- _prim-six#.scm
- _prim-six-gambit#.scm
- _prim-special-forms#.scm
- _prim-special-forms-gambit#.scm
- _prim-special-forms-r4rs#.scm
- _prim-special-forms-r7rs#.scm
- _prim-string#.scm
- _prim-string-gambit#.scm
- _prim-string-r4rs#.scm
- _prim-string-r7rs#.scm
- _prim-symbol#.scm
- _prim-symbol-gambit#.scm
- _prim-symbol-r4rs#.scm
- _prim-symbol-r7rs#.scm
- _prim-table#.scm
- _prim-table-gambit#.scm
- _prim-thread#.scm
- _prim-thread-gambit#.scm
- _prim-u16vector#.scm
- _prim-u16vector-gambit#.scm
- _prim-u32vector#.scm
- _prim-u32vector-gambit#.scm
- _prim-u64vector#.scm
- _prim-u64vector-gambit#.scm
- _prim-u8vector#.scm
- _prim-u8vector-gambit#.scm
- _prim-vector#.scm
- _prim-vector-gambit#.scm
- _prim-vector-r4rs#.scm
- _prim-vector-r7rs#.scm
- _prim-will#.scm
- _prim-will-gambit#.scm
- _repl#.scm
- _std#.scm
- _syntax-boot.scm
- _syntax-case-xform-boot.scm
- _syntax-case-xform.scm
- _syntax-common.scm
- _syntax-pattern.scm
- _syntax-rules-xform.scm
- _syntax-template.scm
- _syntax-xform-boot.scm
- _syntax-xform.scm
- _syntax.scm
- _system#.scm
- _thread#.scm
- _unicode#.scm
- _with-syntax-boot.scm
- _x86#.scm
- gambext
- gambit#.scm
- r4rs#.scm
- r5rs#.scm
- r5rs.sld
- icfp2020.scm
- _bootsect_behavior.c
- cards.h
- config.c
- eepro100.c
- etherboot.h
- misc.c
- net.cpp
- net.h
- nic.h
- osdep.h
- pci.c
- pci.h
- timer2.c
- timer2.h
- tulip.c
- bochsrc.txt
- fifo.cpp
- keyboard.cpp
- mono_7x13.cpp
- mouse.cpp
- timer.cpp
- fat.h
- stdstream.h
- vfs.h
- fat.cpp
- stdstream.cpp
- vfs.cpp
- ide.cpp
- mono_10x20.c
- mono_4x6_256.c
- mono_5x7.c
- mono_5x7_256.c
- mono_5x8.c
- mono_6x10.c
- mono_6x12.c
- mono_6x13.c
- mono_6x13B.c
- mono_6x13O.c
- mono_6x9.c
- mono_7x13.c
- mono_7x13B.c
- mono_7x13O.c
- mono_7x14.c
- mono_7x14B.c
- mono_8x13.c
- mono_8x13B.c
- mono_8x13O.c
- mono_9x15.c
- mono_9x15B.c
- mono_9x18.c
- mono_9x18B.c
- fifo.h
- fifo.h-old
- keyboard.h
- mouse.h
- apic.h
- asm.h
- bios.h
- chrono.h
- disk.h
- general.h
- heap.h
- ide.h
- intr.h
- kbd.h
- kernel.h
- modifiedgambit.h
- mono_5x7.h
- mono_6x9.h
- pic.h
- pit.h
- ps2.h
- queue.h
- rtc.h
- rtlib.h
- term.h
- thread.h
- uart.h
- vga.h
- video.h
- resource.h
- time.h
- dirent.h
- errno.h
- float.h
- libc_common.h
- libc_header.h
- libc_link.h
- libc_redirect.h
- limits.h
- math.h
- setjmp.h
- signal.h
- stdarg.h
- stddef.h
- stdio.h
- stdlib.h
- string.h
- termios.h
- time.h
- unistd.h
- wchar.h
- dirent.c
- errno.c
- libc_link.c
- libc_support.c
- math.c
- setjmp.c
- signal.c
- stdio.c
- stdlib.c
- string.c
- sys_resource.c
- sys_time.c
- termios.c
- time.c
- unistd.c
- build-mimosa-gambit
- libc_app.c
- libc_os.cpp
- logo.png
- mimosa-screenshot.png
- debug.scm
- disk.scm
- edit.scm
- errors.scm
- fat32.scm
- gambini.scm
- ide.scm
- intr.scm
- keyboard.scm
- low-level.scm
- mimosa-macros.scm
- rtc.scm
- uart.scm
- utils.scm
- x86-asm.scm
- x86-os.scm
- define-library-expand.scm
- CMakeLists.txt
- main.c
- disk_geometry.py
- dump_x_font.c
- dump_x_fonts
- fatchecksum.py
- make-dependencies.py
- move_to_sdc.sh
- .gitignore
- bios.cpp
- bootsect.s
- build-and-copy-gambit-to-vm.sh
- chrono.cpp
- cmkfh.sh
- copy_compiled_modules.sh
- createimg.sh
- disk.cpp
- empty_usb.tar.gz
- fetch-gambit-from-vm.sh
- heap.cpp
- intr.cpp
- kernel.s
- main.cpp
- makefile
- ps2.cpp
- README.md
- rtlib.cpp
- script.ld
- term.cpp
- thread.cpp
- uart.cpp
- video.cpp
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/udem-dlteam/mimosa
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd mimosa
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. CMake
보통 추천사전 준비물
⚠️ 이 프로젝트는 규모가 큰 저장소라, 이 방법이 실제 핵심 제품이 아니라 내부 하위 패키지를 가리키는 것일 수 있습니다. README 전체를 함께 확인해보세요.
cd utils/bootsectinspect
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
mkdir build && cd build
빌드 결과물을 담을 폴더를 만들고 그 안으로 이동합니다.
cmake ..
소스코드를 분석해 빌드 설정 파일을 생성합니다 (build 폴더 안에서 실행해야 함).
make
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
build 폴더 안에 실행 파일이 생성됐는지 확인하고, 직접 실행해보세요 (예: ./build/앱이름).
3. Make
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make clean
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
make single-archive # creates a booting archive in floppy.img
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
make run # requires qemu
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
에러 없이 끝나면 성공입니다. 생성된 실행 파일을 직접 실행해보세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
// repository documentation
Was this content helpful?
(0 ratings)
