Code Monkey home page Code Monkey logo

corgos's Introduction

CorgOS

This repo uses submodules. Please clone with git clone --recurse https://github.com/kromych/corgos or do

git submodule init
git submodule update

Currently, this is a UEFI bootloader that logs to the serial port. It supports a configuration file to specify where to log to, and other parameters like so for x86_64:

revision = "088bf38 Update reg definitions from the aarch64-lab, refactor"
log_device = com2
log_level = trace
wait_for_start = false

or aarch64:

revision = "87b08ae Add readme"
log_device = "pl011@9000000"
log_level = trace
wait_for_start = false
walk_page_tables = false

The names of the keys come from this definition (this will be a rustdoc one day):

struct BootLoaderConfig {
    /// The target device for boot logging.
    log_device: LogDevice,
    /// Verbosity for logging
    log_level: LevelFilter,
    /// Wait at the entry point until `x9` or `r9` are set to `0`.
    wait_for_start: bool,
    /// Walk the page tables, and dump the page table entries.
    walk_page_tables: bool,
    /// TImeout in seconds for the UEFI watchdog.
    watchdog_seconds: Option<usize>,
}

To build for x86_64 and aarch64, run

./build.sh

To boot with qemu, use ./qemu-run-x86_64.sh or ./qemu-run-aarch64.sh. The UEFI log is written to fw.log, the serial logs go to serial*.log files.

corgos's People

Contributors

kromych avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.