Giter VIP home page Giter VIP logo

flower's Introduction

FlowerOS Gitter

A small learning OS

Setup

You will need:

  • rustup and a nightly Rust (if yours doesn't work, then update to latest) build to compile;
  • The rust-src component from rustup;
  • cargo-xbuild (cargo install it);
  • nasm;
  • ld;
  • qemu (to run in a virtual machine);
  • X server to run qemu;
  • GNU GRUB (grub-mkrescue);
  • GNU make;

It will currently build on rustc 1.36.0-nightly (e305df184 2019-04-24).

Building

You can make the iso with make iso, and launch qemu and run it with make run. To enable debug symbols, add debug=1 to the make command. If this does not work, try make cleaning and checking you're on the latest rust/cargo-xbuild version. If this does still not work, then open an issue.

You can also get builds from Flower's CI/CD.

Contributing

If you wish to PR something to Flower, thanks so much! Just note to please pull request into development, not master if you are making a change to the codebase.

Generally, the workflow for submitting a pull request goes like this:

  1. Open an issue that your PR aims to solve and request to be assigned. This is just so we don't have multiple people working on the same thing on different branches/forks.
  2. Fork flower
  3. Create a new branch from development (if you're editing code and not e.g the README) which briefly describes the thing you are doing, e.g acpi.
  4. Commit your things
  5. Open a pull request. Select base as development (again, if you're editing code).
  6. Wait for review. Sorry if the reviews are a bit nitpicky -- @gegy1000 and @Restioson (the maintainers) usually write reviews like that. It does help to keep code quality good though.
  7. Debate review comments/implement requested changes.
  8. Repeat until everyone is happy with the changes.
  9. Your PR should be merged Soon™!

Code Style

Generally, we try to follow the rust style guidline. To keep the code consistent, we ask if all contributors could also adhere to these guidelines. Unfortunately, we haven't run Clippy or Rustfmt on flower just yet, but this is slated to be done just before 0.2.0. Thus, please refrain from formatting things unrelated to the PR you are working on. This is to avoid merge conflicts.

Thanks

Much thanks to:

This is not, of course, an exhaustive list!

flower's People

Contributors

restioson avatar gegy avatar king1600 avatar toor 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.