Opened 11 years ago
Closed 8 years ago
#523 closed enhancement (worksforme)
Implement support for Raspberry Pi (arm32)
Reported by: | Martin Decky | Owned by: | Jiri Svoboda |
---|---|---|---|
Priority: | major | Milestone: | 0.7.0 |
Component: | helenos/kernel/arm32 | Version: | mainline |
Keywords: | gsoc13 | Cc: | |
Blocker for: | Depends on: | ||
See also: |
Description
Implement support for the Raspberry Pi machine (arm32 big-endian architecture).
- Details
- Raspberry Pi is an extremely popular and cheap microcomputer built by the Raspberry Pi Foundation in UK. The machine contains a Broadcom BCM2835 CPU/GPU, an ARMv6-derived SoC. Except for some GPU-related parts the hardware is very well documented and support for it exists in several open source operating systems. Since the work on supporting this machine in HelenOS has already started, the goal of this ticket is not only to implement basic kernel functionality, but to implement extensive functionality of Raspberry Pi, including (but not limited to) HDMI output with mode-setting, USB input, SD card block device access, etc.
- What Gains and Benefits will this bring?
- As the Raspberry Pi is a rather simple, but still full-fledged microcomputer extremely popular in the hackers community, implementing a full support for it in HelenOS might bring new users and developers to HelenOS. As with any port to a new hardware, it should also hint any possible portability issues in HelenOS and it should improve some minor functionality aspects of HelenOS.
- Difficulty
- High
- Required skills
- A successful applicant will need to have very good skills in programming in the C language and the ability to learn how to drive hardware based on various information sources (official documentation, source code of other operating system projects and emulators).
- Documentation
- Possible mentors
- HelenOS Core Team, Martin Decky, Jakub Jermar
Attachments (1)
Change History (10)
comment:1 by , 11 years ago
Keywords: | gsoc13 added |
---|
comment:2 by , 11 years ago
follow-up: 6 comment:3 by , 11 years ago
Yes, I acknowledge your effort. But is there really nothing missing? This ticket calls for a complete support, including USB support, ethernet support, S-video output, HDMI output (with modesetting), etc.
comment:4 by , 11 years ago
It looks as if two people have independently worked on this so far (ben_g and rvalles)…
by , 11 years ago
Attachment: | helenos_clean_against_1771.patch added |
---|
Very basic (boot+uart write) support for the raspberry pi platform.
comment:5 by , 11 years ago
I have very basic support (uart write and booting to userspace), but it's not cleaned up. I am also working on an article explaining the process followed so far with the port.
Since I've noticed this ticket, I decided I might as well drop the code on its current state in order to prevent duplication of work. This is code for review. I've also sent a copy to the list.
I removed all my debug statements for this patch and I'm aware and working on moving magic constants into headers. Please comment on anything else that might be wrong. Meanwhile, I'm updating it for the current head.
comment:6 by , 11 years ago
Looked at the tree by ben_g and as far as I can see he's got it working further than me.
I'll now finish the article, as having an account of the experience will probably still be interesting.
As I'm now a bit familiar with the porting process, I might want to look into doing some related work.
comment:8 by , 10 years ago
Milestone: | 0.6.0 → 0.7.0 |
---|
Support for MIPS Malta is still half-baked, retargeting for after 0.6.0.
comment:9 by , 8 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
I have Raspberry Pi booting (to userspace) since a week ago. Been holding the patch because I was cleaning it up and writing an article on how it was done. I guess I'll just post it now.