Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This is hardly a theoretical question as many have done this, albeit there's very little information on the underlying processes.

I'm developing a custom MIPS-based processor on which I would like to run ubuntu. I'm quite baffled as to what to do next after you've designed the instruction set and the computer architecture itself. I need to be able to run a kernel and OS but how does it all tie in? At the moment I'm researching into designing a compiler for the linux kernel to generate the appropriate assembly language. Is that a good way to go? What do I need to do after that?

share|improve this question

closed as off topic by Leon Heller, Olin Lathrop, Brian Carlton, Kaz, Dave Tweed Nov 27 '12 at 12:28

Questions on Electrical Engineering Stack Exchange are expected to relate to electronics design within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Nothing to do with electronic design! – Leon Heller Nov 24 '12 at 11:29
This is way too broad for the Q+A format here. It is not clear what specifically you are asking about. – Olin Lathrop Nov 24 '12 at 14:14
Electronics is a remarkably broad term for quite a range of fields including computer architecture, computation, machine learning, digital engineering, human computer interaction, and so on. It isn't wrong thinking to post a question related to the straddling of a _custom processor_(the design of which belongs to the field of electronics) with software(note this requires knowledge of both the hardware design and software) and seeking an explanation of the layers between them. If you regard the question itself as broad, kindly request clarification from me, or perhaps provide a general answer. – xupv5 Nov 24 '12 at 14:24
Did you include an mmu in your design? – Some Hardware Guy Nov 24 '12 at 15:52
Yes, it does have an MMU. – xupv5 Nov 26 '12 at 10:34
up vote 2 down vote accepted

Yes, to program it satisfactorily, you will need a compiler. One way to get one is to adapt a code-generator back-end for GCC.

But then you need at least a bare bones runtime system. Here's a page on starting to develop one, using GCC as the compiler.


share|improve this answer
Cheers for the link, @Brian%Drummond – xupv5 Nov 24 '12 at 18:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.