Linux - Embedded & Single-board computerThis forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I want to understand more how to make design of my own hardware device that will use linux. Are there any tutorials/good books? What rules must I follow? How BIOS must be written? Etc.
I found many sources how to write linux embeded software but very few sources how to design hardware that runs with linux.
For one you could look at Data Sheets from manufactures to understand particular chipsets. Or select a embed design/developer kit to see how it is done. Without taking classes you would need to read loads of white papers or data sheets.
Kits are the easy way to get into the hardware end of embeds. You will get tool chain and other support. Unless your into re-inventing the wheel then that would be the best bet.
Arm microprocessors are well supported with linux toolsets including ROM based kernel versions.
Have look at one of the various stand alone systems. These also have a JTAG interface which allows
you to flash the whole system from scratch.
A full linux kernel requires a variant with an MMU an MMU.
The way to make a design is this:
1. Find a marketable product idea & design that.
2. Failing 1 above, master technologies that will make you a marketable commodity when you graduate, and build something to make your knowledge of them manifest. That may get you a job.
You are studying electronics?
Having designed it, & packaged it, you have the mountains of approvals, conformance, & marketing to climb. The Days of guys like Clive Sinclair are over, and it's big business in the main.
There is a huge gap between packaging and marketing a design, and the simple act of creating the circuitry (my interpretation of 'design') that runs the system. If we assume that the OP knows generally what style of system he/she wants to design (relative CPU power, what application emphasis to use, etc), then choosing a CPU early on, along with choices about peripheral chips would define the design at a block-diagram level. Many CPU vendors publish open reference designs for their CPUs and peripheral chips. Choosing silicon that has these reference designs available would certainly make the initial design iterations easier. Choosing peripheral devices that have some existing Linux driver support would also simplify bringing the design to life.
The Linux kernel architecture is generally a core of software modules that have little interaction with external entities, and as long as there is a memory manager and a source of interrupts to drive the scheduler, this part is probably highly portable. Much of the rest is driver code that allows the kernel to control hardware. Again, the choice of silicon with existing software support would make life easier. It is hard to say what, if any, special requirements are imposed by Linux (as compared to other OS's).
As with all embedded systems design, bringing up the initial version can be tedious, as there is concurrent development of software and hardware. Making sure there is adequate support for testing and debugging is a big aid. A serial console is something I would call a must-have, at least for the early testing stages. The use of FPGAs for peripheral support is a big aid as well, as this allows the design to be flexible and also permits incremental design and testing, as well as soft-soldering to fix bugs and add features.
You would wish her well. It looks like a page put up by an admirer, and she seems to be in retro computing. I stand by what I say, because it's difficult to see where she goes from here. Anything electronic sold in Europe needs a CE mark. Regulation abounds. I've done feasability on several promising products, and the result is always the same: mountains to climb for somewhere between small rewards or huge losses.