{"id":21940699,"url":"https://github.com/kettle11/pacifickernel","last_synced_at":"2025-08-29T03:34:25.234Z","repository":{"id":74455184,"uuid":"104525111","full_name":"kettle11/pacifickernel","owner":"kettle11","description":"A minimalist x86-64 C kernel.","archived":false,"fork":false,"pushed_at":"2017-12-29T18:01:35.000Z","size":2172,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T15:14:58.925Z","etag":null,"topics":["kernel","os"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kettle11.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2017-09-22T22:52:50.000Z","updated_at":"2017-10-12T18:47:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"d32f789d-a637-4cd0-907f-d44189cb2e41","html_url":"https://github.com/kettle11/pacifickernel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kettle11/pacifickernel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kettle11%2Fpacifickernel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kettle11%2Fpacifickernel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kettle11%2Fpacifickernel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kettle11%2Fpacifickernel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kettle11","download_url":"https://codeload.github.com/kettle11/pacifickernel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kettle11%2Fpacifickernel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272619553,"owners_count":24965416,"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","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","os"],"created_at":"2024-11-29T02:35:50.782Z","updated_at":"2025-08-29T03:34:25.211Z","avatar_url":"https://github.com/kettle11.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pacific Kernel\n\nA minimalist C kernel.\n\nAt present the kernel does the following:\n* Boots up in an emulator\n* Sets up a GDT table\n* Jumps to long mode\n* Prints to screen some basic messages\n* Handles interrupts and exceptions\n* Counts time upwards\n* Handles keyboard input\n\nThe code for this kernel is far from polished. At the moment there is lack of structure, few comments, and numerous warnings ignored. Do not use this as a reference for what good code looks like. At this point in time the purpose of this kernel is to serve as a scratchpad for myself to learn how kernels really work in a hands-on manner.\n\nTo build:\n\n\t1. Build a cross compiler (based on the steps here: http://wiki.osdev.org/GCC_Cross-Compiler)\n\n\t\tI.   Download GCC 7.2.0 and put it in the PacificOS/external folder\n\n\t\tII.  Download Binutils binutils-2.28 and put it in the PacificOS/external folder\n\n\t\tIII.  Run the build_gcc_for_pacific.sh script inside PacificOS/external (this is just a script that automates the steps in the OS dev wiki article)\n\n\t2. In the PacificOS directory run \"make\" to build and \"make run\" to make then run.\n\nTo get to this point I used the following resources:\n\n1. https://os.phil-opp.com/multiboot-kernel/ \nExcellent tutorial for learning the basics, but I diverged when the author switched to Rust.\n\n2. http://wiki.osdev.org/Expanded_Main_Page \nLots of great info here even if much of the wiki spends time explaining how scary OS development is.\n\n3. http://www.osdever.net/bkerndev/Docs/intro.htm \nA little outdated, but a great step by step overview of the different parts of a basic kernel.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkettle11%2Fpacifickernel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkettle11%2Fpacifickernel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkettle11%2Fpacifickernel/lists"}