5

I have been searching for a past few weeks about how to making an OS.

I have also read may questions regarding how to make an OS like this one, What are some resources for getting started in operating system development? .

I want to make an OS using a #Linux Kernel, that boots up and just show a browser in full screen view. Basically I want to make something like #firefox OS.

There are some OS with similar concepts like #justbrowsing http://justbrowsing.info/ and #browserlinux

I have also researched on #Linux From Scratch http://www.linuxfromscratch.org/index.html. But #LFS is not what I want.

I don't want a complete OS that can handle all circumstances, situations and errors. Just to start my project I want to make a browser OS with #Linux Kernel.

Community
  • 1
  • 1
Aditya Chaudhary
  • 303
  • 1
  • 5
  • 11
  • 1
    look at yacto-projects and open-embedded you ll get idea – vinay hunachyal Nov 07 '14 at 10:13
  • Yeah,open embedded and yocto project of angstrom-linux is a very good option to learn. Why don't you refer to `wiki.osdev.org`? It's best for OS development learning,whatever your OS based on! – Am_I_Helpful Nov 07 '14 at 10:28
  • You may find some more luck on http://unix.stackexchange.com/ where questions containing words like `minimal` `gui` `distribution` `web` `kiosk` already exist. I think you don't need to learn some low-level OS internals as suggested by @shekharsuman, you rather want to build a custom small Linux distribution. Your question is interesting, clear with research effort shown, but somehow very broad, open-ended and probably off-topic here (http://stackoverflow.com/help/on-topic) – xmojmr Nov 07 '14 at 11:11

2 Answers2

4

In addition to yacto-projects and open-embedded, I would recommend buildroot

Buildroot is a set of Makefiles and patches that makes it easy to generate a complete embedded Linux system. Buildroot can generate any or all of a cross-compilation toolchain, a root filesystem, a kernel image and a bootloader image. Buildroot is useful mainly for people working with small or embedded systems, using various CPU architectures (x86, ARM, MIPS, PowerPC, etc.) : it automates the building process of your embedded system and eases the cross-compilation process.

askb
  • 6,501
  • 30
  • 43
2

I think, it very much depends on what you want to achieve and on what device, etc.

My bet is, that you should learn as much about FirefoxOS as possible, as it is exactly offering, what you are looking for. Read about it's architecture:

It is also called boot2gecko (b2g) and consists of three layers, from bottom to top:

Gonk - the underlying Linux / Android compatible layer offering hardware driver support and is the foundation for using an existing debug toolset like ADB (Android Debug Bridge).

Gecko - is the Web platform layer (rendering engine as well as the Javascript engine, etc.) What engine did you have in your mind? I can only think of webkit/blink beside gecko.

Gaia - is the application layer and almost fully implemented in Javascript already.

Maybe, you already know all of that, but I think, you should not start entirely from scratch. :)

matths
  • 760
  • 9
  • 19