HTPC OS

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Jonathan
Posts: 2
Joined: Sat May 05, 2007 9:51 am

HTPC OS

Post by Jonathan »

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
earlz
Member
Member
Posts: 1546
Joined: Thu Jul 07, 2005 11:00 pm
Contact:

Post by earlz »

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..
User avatar
Kevin McGuire
Member
Member
Posts: 843
Joined: Tue Nov 09, 2004 12:00 am
Location: United States
Contact:

Post by Kevin McGuire »

video/sound inputs
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.

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/
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Post by Candy »

Kevin McGuire wrote:
video/sound inputs
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.

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.
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.

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.
Jonathan
Posts: 2
Joined: Sat May 05, 2007 9:51 am

Post by Jonathan »

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?
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Post by Candy »

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?
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.
Post Reply