Results 1 to 9 of 9
Thread: Basic Requirements
|
|
Enjoy an ad free experience by logging in. Not a member yet? Register.
|
|
-
05-25-2012 #1Just Joined!
- Join Date
- May 2012
- Posts
- 11
Basic Requirements
I have a mini motherboard, I need to run a OpenCV library in my Linux kernel. I don't want to use the common distros. I wud like to write my own layer over the kernel. I want to kno what are the components I have code for running basic PC dedicated to image processing. No GUI, only Command line interface. No graphical display needed - the bot just has to process the images and to act accordingly. No network interfaces for now(may be in future). I'm in need of serious help...
-
05-25-2012 #2Just Joined!
- Join Date
- May 2012
- Posts
- 6
What's wrong with using a common distro? I think a better place to start is to get a common distro (like Debian) and then start stripping components out of it. Much simpler than trying to build it all yourself. There'll be lots of tools for how to build "custom" debian distro disks. Doing it all yourself from the kernel up is going to be a huge amount of work. Not worth it if the point of the exercise is to get OpenCV running.
-
05-25-2012 #3Just Joined!
- Join Date
- May 2012
- Posts
- 11
My Idea changed somehow.
After some research, it true what u r saying. what are the necessary packages required for an os except the kernel. can u give some list of utilities that I shud compile from Debian(my choice) source.. I'm reading LinuxFromScratch guide. I's like to know the list of necesary packages.
-
05-25-2012 #4Just Joined!
- Join Date
- May 2012
- Posts
- 6
Probably all you need is debian base, grub and bash. You can do all your code development on another machine and then copy it over using bash. If you are really hardcore when you are ready for production, you can set the kernel flag init=/bin/your_application to make your application the only thing that runs on the machine. Remember though, the more you take away, the less you get for free.
-
05-25-2012 #5Just Joined!
- Join Date
- May 2012
- Posts
- 11
-
05-25-2012 #6Just Joined!
- Join Date
- May 2012
- Posts
- 6
Some things are completely unnecessary. Some things are only unnecessary until you need them. For instance. is "ls" necessary? Not really if everything is working. But it's very necessary if you can't find something.
It's possible, of that I have no doubt, but is is worth it? Certainly not! If you want to get really fancy, you could write your application as a module that you compile into the kernel directly. Then you'd need no user space software at all. But is is worth it? No! No! No! Building and debugging kernel modules is really hard. (trust me!)
Honestly, I think what you need is to simply get a debian installation and remove X-windows and anything that depends on it. That way you'll still have a functional machine with a command line only. You can start your program from bash and you have tools to debug when things go wrong.
If at some point in the future you want to deploy to production, then sure, you can fight the pain of sliming it down more. But really why bother for development. You're just going to make your life hard and there is no good reason for doing that.
-
05-25-2012 #7Just Joined!
- Join Date
- May 2012
- Posts
- 11
Reason is
I'm going to develop an embedded system, where timing is very important. real-time processing is required, at the same time development should be in a fast pace. OpenCV based image processing is a part of its operation and it has to control its actuators with high response speed. and moreover that is who I am. thats why i'm going for development. anyway you can help me??
Exactly I want to know what are the things that are completely unnecessary. eliminating them will raise any problem compiling ither packages. i mean are they independent of others??? and I think i have port the kernel to ARM7 platform. can I?? any idea on this?? btw u seem to so experienced..Last edited by vanangamudi; 05-25-2012 at 03:13 PM. Reason: Add some more detail
-
05-25-2012 #8Just Joined!
- Join Date
- May 2012
- Posts
- 6
OK. As I thought, this is not the right approach. I work on realtime systems where we measure time in nano-seconds. We use a standard linux distribution with the most recent kernels.
The presence or absence of other applications is not going to change much for you. You'll need standard linux distro, with X-windows and all the other deamon processes (ssh, http, nfs etc etc) uninstalled. Ideally you want a multicore cpu (2 or more, very cheap and easy these days) and you need to set the CPU affinity (google: Linux Setting processor affinity) to make sure your application runs on one core, and everything else runs on another core. This will give you the best performance.
Currently I'm doing my PhD at Cambridge University. My consultation rate is $250/hr.
-
05-25-2012 #9Just Joined!
- Join Date
- May 2012
- Posts
- 11
Hurrah!!! thanks for this great advice. and developing the system is not my main intention. I'd like learn more about linux kernel and underlying hardware interaction. yes there are many other ways to learn this. but wht not chose this path?? when I have great people from open source community like you by my side??


Reply With Quote
