Skip to content
BoneOS Kernel and Operating System Source Tree
Branch: master
Clone or download
Latest commit 3a2f297 May 4, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add Issue templates Jan 17, 2017
apps fix #196 Feb 8, 2017
arch
bin -e option watch #189 Feb 7, 2017
boot General Cleanup #151 Jan 16, 2017
config Implement amd64 interrupt handler, IDT, linker script, use -fpic, sta… Jan 1, 2017
docs -e option watch #189 Feb 7, 2017
gui Fix error May 4, 2017
hdd Issue Solve #85 , #86 , #88 , #89 Dec 12, 2016
include Starting Widget May 4, 2017
libc Change between graphisc and textmode vga May 3, 2017
platform Change between graphisc and textmode vga May 3, 2017
sbin sbin commands error support; fix #194 Feb 8, 2017
utils Working on #94 . working on Echo $VARIABLENAME Dec 13, 2016
var Progress so far Jan 19, 2017
.gdbinit Update gitignore and updates Jan 2, 2017
.gitignore Update Date so displays correct date Jan 18, 2017
.travis.yml Change so that I get notified by email on every build Jan 15, 2017
CHANGELOG.md Solve #120 Dec 30, 2016
CODESTYLE.md Contributing and Code Style Jan 18, 2017
CONTRIBUTING.md Contributing and Code Style Jan 18, 2017
CONTRIBUTORS.md Change Contributor Dec 29, 2016
LICENSE Abstraction of Video Driver Nov 23, 2016
Makefile Finished Desktop May 3, 2017
README.md Update README.md Feb 5, 2017
ROADMAP.md Trying to solve a linker problem Oct 27, 2016
autodep.mk Add configure script Dec 17, 2016
bochsrc.bxrc Please enter the commit message for your changes. Lines starting Jan 4, 2017
configure Add option for specifing memory to use in QEMU Jan 4, 2017
library.mk Use environment for AR and export it in main makefile Jan 1, 2017
mkdocs.yml
setup.sh setup scripts for NoVNC Server COmplicance Mar 10, 2017

README.md

BoneOS

Documentation Status

Release Version Release Date Github Releases SourceForge
V 0.0.1 Dec/29/2016
V 0.0.2 Jan/16/2017
V 0.0.3 Feb/05/2017
Branch Status Main Developer
master BoneOS Community
amanuel_dev amanuel2
doug_dev doug65536
ashish_dev Fortunate-MAN

Current BoneOS Version : V 0.0.2

BoneOS Issues

Welcome! This is the official and main repository of BoneOS. This project is currently in high active development , and is predominately written in C ofcourse some parts such as hardware communication, scripting, building, etc ...will use other languages. If you find any issue using this OS please request an issue here! If you have any contributions or pull requests, which will be highly appreciated, please issue a pull request here!

WARNINGS


  • Installing VirtualBox on Ubuntu may lead to problems.

Discussions


Any Questions, Comments, Ideas, Feature Requests, etc. may be brought up here.

Installation


There are two ways to install BoneOS: one for the normal user to get it into his Virtual Machine and the other for the developer who want to contribute (building from source).

Normal Installation (For user)

To install a spsecific version , go to the top of readme where you will see the version number listed as well as installing the Image File via SourceForge or Github Releases. Choose whichever you would like and when you finish installing the ISO(Image File) plug it into your Virtual Machine. here is a video showing how to do this using VirtualBox as the Virtual Machine Emulator. You can download Virtual Box here. Here is a video showing how to get it in VMWare. VMWare is paid , there if a free trial though. You can get more Information at our Offical Download Page here.

Nightly Builds (For Developer Or Normal User)

You can get the nightly builds for the latest updated iso for the master branch here .

Building From Source (For developer)

First make sure you have a Ubuntu Terminal (If you are on Windows, use the new Linux Subsystem Feature). Then download the dependencies using bash setup.sh. Then compile BoneOS using make. Now that you have qemu after you executed setup.sh , you can go ahead and run on qemu using make qemu_compile for running the binary or make qemu_iso to run the actual Image File(.ISO).

Cloud9 Collaboration (For Developer)

You can collaborate with the Main BoneOS Developer in Cloud9. Cloud9 Is an Online IDE , with an Ubuntu Terminal. We use Cloud9IDE Terminal + NoVNC to make this possible. the workspace is located here . You can learn more here.

If you want to setup NoVNC Server once you are in an Cloud9IDE You can use the command

make no_vnc

Extra Options (For Developer)

There are extra options when building(makeing) , this OS. You can set the compiler instead of the default gcc($(CC)) like so :

 $ CC=clang make #If you want to run via clang
 $ CC=gcc-5 make #If you want to run via GCC Version 5
 $ ./configure --cc=gcc-5 && make # Optionally use the configure script to store variable permanently

You can see more in Docs/Configuration

More Info(For Developer)

For more information, go here for documentation.

Directory Structure


Our directory structure currently is as follows:

  • docs : Documentation for BoneOS
  • apps : Applications
    • term : Terminal
  • .github : Github related files.
    • ISSUE_TEMPLATE.md : Github Issues Template
  • arch : Architecture Dependant Codes
    • @(ARCH) : Architecture name.
      • boot: GRUB Bootloader information
        • multiboot: Grub Multiboot information
      • drv : Device Drivers for @(ARCH) are located here.
      • io : I/O Software Code
      • link: Where the linker is located.
      • init: Main kernel function getting called by GRUB Bootloader
    • shared : Shared piece of code between Proccecor Families
      • x86 : Shared piece of code for x86 family
  • bin : Non Adminstrator Terminal Commands
  • sbin : Adminstrator Terminal Commands
  • config : Configuration Files
  • hdd : Default files on first time use
  • platform : Platform Dependant Code
    • pc : PC Platform
  • libc: C Library constructed and used by BoneOS, non-archecture and non-platform dependant code.
  • utils: Utilities for devs.
    • cross_compiler: Script for installing the cross compiler
    • no_vnc: Setup No_vnc server in Cloud9IDE
    • watch.sh : Nodemon like script
  • include: All Include Files(.h).
  • var : Common Variables used across the system.

Documentation


You can take a look at the Documentation online hosted by gitbook here. Documentation are for presistant information , not code details.

Architectures


Architecture Status Plan to support
x86(32 BIT) Ready Already Supported
x64 On Progress Currently updating to support this architecture
PowerPC Unavailable Yes, in later releases
Arm Unavailable Yes, in later releases
MIPS Unavailable Yes, in later releases

if there are architectures you want BoneOS to support , please request an issue to talk about it.

FAQ


  1. What is BoneOS Goal? Our goal is to make an Operating System for 'Everyone'. Ranging from Programmers to Normal Users. We dont believe the "OS Problem" is solved by either Popular Operating Systems such as Windows, Mac OSX or even kernels such as Linux.

  2. Any new features? We have some ideas in mind. But it will be a long way until we start adding new feautres, as we are just starting in the osdev world :).

  3. Need Help? Absolutely! Any help would be appreciated! To get to us, either request an issue or check ask a question: https://github.com/Bone-Project/BoneOS/issues

License


BoneOS is Licensed under the GPLv3 License.

You can’t perform that action at this time.