{"id":16897955,"url":"https://github.com/fedorlap2006/depthos","last_synced_at":"2025-06-29T18:32:47.450Z","repository":{"id":44930635,"uuid":"167162924","full_name":"FedorLap2006/DepthOS","owner":"FedorLap2006","description":"Very simple to use OS, which doesn't restrict you","archived":false,"fork":false,"pushed_at":"2025-06-10T18:11:33.000Z","size":2617,"stargazers_count":27,"open_issues_count":4,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-10T19:43:14.274Z","etag":null,"topics":["kernel","operating-system","os","osdev"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FedorLap2006.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-01-23T10:19:16.000Z","updated_at":"2025-06-10T18:11:37.000Z","dependencies_parsed_at":"2024-10-27T12:13:32.853Z","dependency_job_id":"b1158629-b839-42a6-b14c-a31e93ace2b5","html_url":"https://github.com/FedorLap2006/DepthOS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FedorLap2006/DepthOS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FedorLap2006%2FDepthOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FedorLap2006%2FDepthOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FedorLap2006%2FDepthOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FedorLap2006%2FDepthOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FedorLap2006","download_url":"https://codeload.github.com/FedorLap2006/DepthOS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FedorLap2006%2FDepthOS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262647535,"owners_count":23342667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kernel","operating-system","os","osdev"],"created_at":"2024-10-13T17:40:45.548Z","updated_at":"2025-06-29T18:32:47.438Z","avatar_url":"https://github.com/FedorLap2006.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DepthOS\r\n[![Build Status](https://github.com/FedorLap2006/DepthOS/actions/workflows/kernel.yml/badge.svg)](https://github.com/FedorLap2006/DepthOS/actions/workflows/kernel.yml)\r\n[![Join the chat at https://gitter.im/depthos-dev/community](https://badges.gitter.im/depthos-dev/community.svg)](https://gitter.im/depthos-dev/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\r\n\r\nStable, flexible and very simple in use Operating System, which doesn't restrict you\r\n\r\n## Notable features\r\n- ATA support (with DMA)\r\n- SB16 support\r\n- PC speaker support\r\n- Ext2 (readonly)\r\n- Virtual memory management\r\n- Userland\r\n\r\n## Ports\r\n- GCC compiler\r\n- Binutils suite\r\n- Coreutils (only some)\r\n- GNUGo\r\n- libpng\r\n- zlib\r\n- bash\r\n\r\n## Dependencies\r\nDepthOS requires GNU Make, GCC and NASM to build. And QEMU to run.\r\n\r\n\r\n### Kernel\r\nTo just build the kernel, run `make build`.\r\n\r\n## Packages\r\n\r\nTo build [packages](https://github.com/FedorLap2006/DepthOS-packages), you have to install [xbstrap](https://github.com/managarm/xbstrap) first.\r\n\r\nAfterwards you must create a build directory (`$PKGS_BUILDDIR`) and `cd` into it.\r\nThen run `xbstrap init ../pkgs`.\r\n\r\nNow you can run `xbstrap compile-tool \u003ctool\u003e` (e.g. gcc) or `xbstrap build \u003cpackage\u003e` (e.g. libpng) to build tools/packages.\r\n\r\nAfter you have built the package/tool, you can install it by calling `xbstrap install`/`xbstrap install-tool`.\r\nIf it's a package, it will be installed into the `$PKGS_BUILDDIR/system-root`.\r\nIf it's a tool it's going to be installed into `$PKGS_BUILDDIR/tools/path/to/tool` (e.g. `$BUILDDIR/tools/cross-gcc/bin/i686-depthos-gcc`).\r\n\r\nTo install the package into the image, you'd have to set the `SYSROOT` variable to `$PKGS_BUILDDIR/system-root` when running `tools/sync.sh` script.\r\n\r\n## Build\r\nKernel and userland requires a custom toolchain compiled for the platform.\r\nTo use it, set `CC` and `LD` environment variables when running `make`.\r\n\r\n\u003e [!NOTE]\r\n\u003e You can use `cross-gcc` and `cross-binutils` tools from previous section to build the kernel as well.\r\n\u003e Like this: `CC=$PKGS_BUILDDIR/tools/cross-gcc/bin/i686-depthos-gcc LD=$PKGS_BUILDDIR/tools/cross-binutils/bin/i686-depthos-ld make ...`\r\n\r\n## Generating the image\r\n\r\nDepthOS requires a hard drive image to run, it contains all the necessary data and programs.\r\nTo generate it, you can use `tools/sync.sh` script. It will copy everything from `disk-fs` folder (which is automatically created when you build applications).\r\nIf `SYSROOT` environment variable is set, it will also copy all files from there.\r\n\r\nThe resulting image is located in the `_disk_image.raw` file.\r\n### ISO\r\nBefore running DepthOS, you will also need to build an ISO. You can do so by using `tools/iso.sh` script.\r\n\r\n## Running\r\nTo run DepthOS you can use `tools/qemu.sh` script, it provides all necessary kernel parameters.\r\nAlthough currently you will also need to pass `-audiodev pa,id=pa -device sb16,audiodev=pa` to it. This will be fixed soon.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedorlap2006%2Fdepthos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedorlap2006%2Fdepthos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedorlap2006%2Fdepthos/lists"}