Giter Site home page Giter Site logo

emerald's Introduction

An operating system kernel written for fun in ANSI C (we make use of gnu extensions though)

Codacy Badge GitHub release (latest by date including pre-releases) GitHub last commit GitHub issues GitHub pull requests

Note

This project is being rewritten. Please take a look at the rewrite branch The rewrite branch will be merged with the master branch when it is ready so all the previous commits will be removed.

⚙️ How to build

Please look at the Build guide

Prebuilt images

You can use prebuilt .hdd images in the releases tab.

Documentation

Full documentation is available here

🤝 Contributing

Contributions, issues and feature requests are welcome!
Only the following types of contributions will be accepted:

  • Bug fixes
  • Small features (please do not implement whole drivers)
  • Issue (in the github "issues" tab) fixing

✔️ TODO

  • Remove useless stuff
  • Refactor progressively
  • Change to a proper build system (remove meson)
  • Fix VMM
  • Multitasking
  • EXT2 filesystem
  • Userspace
  • Port libc
  • AHCI/Sata (would be nice)
  • Reading from disk (goes with sata)
  • Implement a font parser (PSF or TTF)
  • Rewrite

❓ Questions?

Please join the discord server or contact me at [email protected]

Screenshots

emerald's People

Contributors

codacy-badger avatar rdmsr avatar saltedcoffii avatar smart6502 avatar

Stargazers

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

Watchers

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

emerald's Issues

Can't build (echfs-utils not found)

I'm trying to build this, following the build instructions exactly, but I get the following error when I type make run:

[ LIMINE ] build/kernel.elf
0+0 records in
0+0 records out
0 bytes copied, 3.405e-05 s, 0.0 kB/s
make: echfs-utils: No such file or directory
make: *** [Makefile:21: build/disk.hdd] Error 127

Make error

When running make or make run, I got this error.

/usr/local/bin/ld: warning: kernel/system/system.o: missing .note.GNU-stack section implies executable stack
/usr/local/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
LIMINE build/disk.hdd
make: [Makefile:86: build/disk.hdd] Error 1 (ignored)
make: echfs-utils: No such file or directory
make: *** [Makefile:91: build/disk.hdd] Error 127

Too few arguments to function `self->set_used' in bitmap.c

While attempting to build emerald, I got this error:

../libraries/libk/bitmap.c:106:37: error: too few arguments to function call, expected 3, have 2
    if (self->set_used(block, length) == 0)
        ~~~~~~~~~~~~~~              ^
1 error generated.

I checked the usage of set_used in bitmap.h and is as follows:

size_t (*set_used)(size_t, size_t, struct bitmap_struct *);

Where is the third argument, or an alternate version of set_used?

In the meantime, I'll look for a non-permanent solution.

Requirements update

Hello! I don't know very well how to contribute correctly, sorry.
I have found that in some distributions the following required packages aren't installed by default:
-clang

May you can consider updating the build requirements :)
Nice job with your OS!!
Sorry for my English!

Compile, Issue Here...

hello, when i compile, i get the folowing... i have 32bit machine runing debian, sorry the folowing text are in frensh so try use gooogle translate, thanks:
make[1]: *** Aucune règle pour fabriquer la cible « limine-install ». Arrêt.
make: *** [Makefile:82 : limine/limine-install] Erreur 2
make[1] : on entre dans le répertoire « /home/archuser555/Bureau/emerald-master/thirdparty/limine »
make[1]: *** Aucune règle pour fabriquer la cible « limine-install ». Arrêt.
make[1] : on quitte le répertoire « /home/archuser555/Bureau/emerald-master/thirdparty/limine »
make: *** [Makefile:82 : limine/limine-install] Erreur 2

i think the folowing issue because i dont have limine, but wait, limine is only a binary file... so just, i want to understand why this go with me

How to build rewrite branch?

Hello,

While trying to build the rewrite branch, I came across this error:

make: *** No rule to make target `$(ISO)'.   Stop.

What should I do? Is there a build script that I should run?
I already have cross-compiling utilities, as listed in the Makefile.

Error

Why i can not run this?

Screenshot from 2021-01-25 06-16-19

what is my wrong?

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.