I'm new here, so hello.
I've been contemplating and reading into building my own OS recently. I have just finished building a HTPC and have found the choice of software available not what i want or need.
Basically I want to build an OS that acts like a tv set-top/cable/sky box, hopefully it would boot up in <15secs. My question is would it be best to start completely from scratch or build on from the Linux Kernel? Also how difficult would it be to create this?
Could anyone suggest any reading on this sort of thing?
I have programming experience in Java, Python and VB, no C though and no experience in working with video/sound inputs. Obviously i'm willing to learn this sort of stuff
HTPC OS
First of all, for this hardware stuff, you will need to know a lower level language..it would be best to at least be familiar with ASM, and to be a competent programmer in some other low level language(unless you just want to learn ASM inside and out..) I recommend learning C, though there are quite a few other feasible languages out there...
it would (of course) be easier to use the linux kernel, as this makes it to where you can skip all that stuff, and just worry about the hardware and interface..
it would (of course) be easier to use the linux kernel, as this makes it to where you can skip all that stuff, and just worry about the hardware and interface..
- Kevin McGuire
- Member
- Posts: 843
- Joined: Tue Nov 09, 2004 12:00 am
- Location: United States
- Contact:
You might want to do some research into Linux since apparently you are interested in having this operating system mingle with up to date and various hardware.video/sound inputs
I would imagine with a stripped down Linux 2.6 kernel, and a decent processor such as a 2.4GHZ AMD you can get a boot up in at least less than thirty seconds, IMO.
You might take a look at using Gentoo and the genkernel tool to make things much easier. That could allow you to learn how to strip down the kernel and of course it will come with a few headaches, but I imagine much more worth you're time than the headaches that would be involved with trying to write you're own operating system.
Then read about the emerge tool to bring some applications onto the system that you might use.
Once you get some idea of what you are dealing with try tinkering with the scripts that manage the initialization of the system to potentially make it boot with out any user intervention or what ever you might want.
http://www.gentoo.org/
I've seen a 400mhz machine boot in around 5 seconds, but that was in a professional environment with a custom bootloader and BIOS. I think, given a normal BIOS, 15 seconds is very doable.Kevin McGuire wrote:You might want to do some research into Linux since apparently you are interested in having this operating system mingle with up to date and various hardware.video/sound inputs
I would imagine with a stripped down Linux 2.6 kernel, and a decent processor such as a 2.4GHZ AMD you can get a boot up in at least less than thirty seconds, IMO.
You can load a lot of slowing down stuff as modules. Include a sleep in the inittab before loading them and your UI will boot really quick. The first few seconds the users are looking around to see what's what anyway.
Quite so, yes. If you move your application in inittab (/etc/inittab usually) you can change the bootup behaviour from a login shell to your application. You may want to look into using SDL or Allegro if you want to make your own UI for it, or if you're going to use X, you could use GTK+ or QT.Jonathan wrote:ok, going to look at gentoo, where is best to start though? can i install linux kernel without the GUI and just put my own software on top of that?