Git Product home page Git Product logo

cedille's Introduction

The Cédlle Hybrid kernel

The Cédille Kernel is a kernel in development. It's goal is to be a complete toy kernel that can self host.

Building

Note: You must use a Cross Compiler.

  1. Ensure your cross compiler is in PATH.
  2. Set HOST to your specific architecture, or leave it as default for the default x86 architecture.
  3. Call build.sh; the kernel should compile.

You can prefix any command with HOST="target-triple" to target that host.

Now that you have a kernel built:

  • To generate an iso image, call iso.sh
  • To run the kernel in qemu, call qemu.sh
  • To reset everything, run clean.sh

To configure the kernel build process (such as flags), modify scripts/config.sh

Finding your host value

The value of HOST is the first two parts of the target triple for the platform.

For example, for i686-elf-gcc, your HOST is i686-elf.

cedille's People

Contributors

ryanel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cedille's Issues

Architecture

What architecture is required to run this kernel

Memory Detection

I think you're misunderstood the multiboot information about mem_upper(amount of KB available after the first 1MB addresses) and mem_lower(amount of RAM avalaible in the first 1MB addresses of the RAM) because of this line:

init_malloc(0, multiboot->mem_upper * 1024);

It seems your are going with the upper memory, but you are allocating just after the kernel!. Also note that it may exist a unusable gap between lower and upper memory. This explains all very well: http://wiki.osdev.org/Detecting_Memory_(x86)#Memory_Map_Via_GRUB

And thank you for doing this, I'm beggining with kernels and your project is helping me a lot to understand the basics, the code is very clean.

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.