├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── docs ├── design.md ├── images │ ├── 2020demo.gif │ ├── Untitled Diagram.drawio │ └── demo3.gif ├── linux-image-setup-64.md └── specifications.md ├── resources ├── .config └── eg-kernel │ ├── .cargo │ └── config.toml │ ├── Cargo.toml │ ├── example.ld │ ├── i586-example_os.json │ ├── rust-toolchain │ ├── src │ └── main.rs │ └── x64-example_os.json ├── rust-toolchain └── src ├── bios ├── plankton │ ├── Cargo.toml │ └── src │ │ ├── con.rs │ │ ├── dev.rs │ │ ├── ios.rs │ │ ├── layout.rs │ │ ├── lib.rs │ │ └── mem.rs ├── stage_1st │ ├── Cargo.toml │ ├── i586-stage_1st.json │ ├── src │ │ ├── lib.rs │ │ └── main.rs │ └── stage_1st.ld ├── stage_2nd │ ├── Cargo.toml │ ├── i586-stage_2nd.json │ ├── src │ │ ├── lib.rs │ │ └── main.rs │ └── stage_2nd.ld ├── stage_3rd │ ├── Cargo.toml │ ├── i586-stage_3rd.json │ ├── src │ │ ├── init.rs │ │ ├── init │ │ │ ├── a20.rs │ │ │ ├── cur.rs │ │ │ ├── ist.rs │ │ │ ├── kbd.rs │ │ │ ├── msz.rs │ │ │ ├── vid.rs │ │ │ ├── vrs.rs │ │ │ └── zero.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── mpm.rs │ │ └── rfn.rs │ └── stage_3rd.ld └── stage_4th │ ├── Cargo.toml │ ├── i586-stage_4th.json │ ├── src │ ├── fs │ │ ├── blkdev.rs │ │ ├── fat32.rs │ │ ├── fat32 │ │ │ ├── dir.rs │ │ │ └── file.rs │ │ ├── gpt.rs │ │ └── mod.rs │ ├── lib.rs │ ├── loader.rs │ ├── loader │ │ ├── config.rs │ │ └── elf.rs │ ├── main.rs │ ├── svm │ │ ├── lm.rs │ │ ├── mod.rs │ │ ├── pm.rs │ │ └── rm.rs │ └── text.rs │ └── stage_4th.ld └── main.rs /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/README.md -------------------------------------------------------------------------------- /docs/design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/docs/design.md -------------------------------------------------------------------------------- /docs/images/2020demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/docs/images/2020demo.gif -------------------------------------------------------------------------------- /docs/images/Untitled Diagram.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/docs/images/Untitled Diagram.drawio -------------------------------------------------------------------------------- /docs/images/demo3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/docs/images/demo3.gif -------------------------------------------------------------------------------- /docs/linux-image-setup-64.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/docs/linux-image-setup-64.md -------------------------------------------------------------------------------- /docs/specifications.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/docs/specifications.md -------------------------------------------------------------------------------- /resources/.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/resources/.config -------------------------------------------------------------------------------- /resources/eg-kernel/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/resources/eg-kernel/.cargo/config.toml -------------------------------------------------------------------------------- /resources/eg-kernel/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/resources/eg-kernel/Cargo.toml -------------------------------------------------------------------------------- /resources/eg-kernel/example.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/resources/eg-kernel/example.ld -------------------------------------------------------------------------------- /resources/eg-kernel/i586-example_os.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/resources/eg-kernel/i586-example_os.json -------------------------------------------------------------------------------- /resources/eg-kernel/rust-toolchain: -------------------------------------------------------------------------------- 1 | nightly -------------------------------------------------------------------------------- /resources/eg-kernel/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/resources/eg-kernel/src/main.rs -------------------------------------------------------------------------------- /resources/eg-kernel/x64-example_os.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/resources/eg-kernel/x64-example_os.json -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- 1 | nightly 2 | -------------------------------------------------------------------------------- /src/bios/plankton/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/plankton/Cargo.toml -------------------------------------------------------------------------------- /src/bios/plankton/src/con.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/plankton/src/con.rs -------------------------------------------------------------------------------- /src/bios/plankton/src/dev.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/plankton/src/dev.rs -------------------------------------------------------------------------------- /src/bios/plankton/src/ios.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/plankton/src/ios.rs -------------------------------------------------------------------------------- /src/bios/plankton/src/layout.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/plankton/src/layout.rs -------------------------------------------------------------------------------- /src/bios/plankton/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/plankton/src/lib.rs -------------------------------------------------------------------------------- /src/bios/plankton/src/mem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/plankton/src/mem.rs -------------------------------------------------------------------------------- /src/bios/stage_1st/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_1st/Cargo.toml -------------------------------------------------------------------------------- /src/bios/stage_1st/i586-stage_1st.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_1st/i586-stage_1st.json -------------------------------------------------------------------------------- /src/bios/stage_1st/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_1st/src/lib.rs -------------------------------------------------------------------------------- /src/bios/stage_1st/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_1st/src/main.rs -------------------------------------------------------------------------------- /src/bios/stage_1st/stage_1st.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_1st/stage_1st.ld -------------------------------------------------------------------------------- /src/bios/stage_2nd/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_2nd/Cargo.toml -------------------------------------------------------------------------------- /src/bios/stage_2nd/i586-stage_2nd.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_2nd/i586-stage_2nd.json -------------------------------------------------------------------------------- /src/bios/stage_2nd/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_2nd/src/lib.rs -------------------------------------------------------------------------------- /src/bios/stage_2nd/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_2nd/src/main.rs -------------------------------------------------------------------------------- /src/bios/stage_2nd/stage_2nd.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_2nd/stage_2nd.ld -------------------------------------------------------------------------------- /src/bios/stage_3rd/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/Cargo.toml -------------------------------------------------------------------------------- /src/bios/stage_3rd/i586-stage_3rd.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/i586-stage_3rd.json -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init/a20.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init/a20.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init/cur.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init/cur.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init/ist.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init/ist.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init/kbd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init/kbd.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init/msz.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init/msz.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init/vid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init/vid.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init/vrs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init/vrs.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/init/zero.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/init/zero.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/lib.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/main.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/mpm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/mpm.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/src/rfn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/src/rfn.rs -------------------------------------------------------------------------------- /src/bios/stage_3rd/stage_3rd.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_3rd/stage_3rd.ld -------------------------------------------------------------------------------- /src/bios/stage_4th/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/Cargo.toml -------------------------------------------------------------------------------- /src/bios/stage_4th/i586-stage_4th.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/i586-stage_4th.json -------------------------------------------------------------------------------- /src/bios/stage_4th/src/fs/blkdev.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/fs/blkdev.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/fs/fat32.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/fs/fat32.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/fs/fat32/dir.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/fs/fat32/dir.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/fs/fat32/file.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/fs/fat32/file.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/fs/gpt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/fs/gpt.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/fs/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/fs/mod.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/lib.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/loader.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/loader.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/loader/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/loader/config.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/loader/elf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/loader/elf.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/main.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/svm/lm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/svm/lm.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/svm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/svm/mod.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/svm/pm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/svm/pm.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/svm/rm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/svm/rm.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/src/text.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/src/text.rs -------------------------------------------------------------------------------- /src/bios/stage_4th/stage_4th.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/bios/stage_4th/stage_4th.ld -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/o8vm/krabs/HEAD/src/main.rs --------------------------------------------------------------------------------