Hi Robert,
Thanks for you much needed advice and concern. Please find my
response inline.
> The challenge with this project at this time, is that's all about early
> bring up. We haven't even gotten to the point where the main kernel
> virtual memory subsystems have been started. That means, that you have
> the opportunity to learn quite a lot; however, you have to be really
> *quite* driven. Bring up projects are the kind of projects that
> basically continuously punch you in the gut, giving you quite hard,
> nigh-undebuggable problems, and due to where you are early in boot,
> don't give you the tools to find them. There's no kernel debugger, until
> someone writes support for it.
>
I have had the same experiences. I have spent quite some time with bringing
up boards on Linux and bare-metal programming.
My experiences with bringing up boards are summed up below -
1. u-boot bootloader - has been my choice of bootloader almost all the
time. To support a custom or a new hardware on u-boot I have been involved
in writing
supporting board-specific features or adding a few routines that give the
end-user signs that the device has indeed powered on, and that something is
happening while the boot process takes place.
2. Bare Metal Programming- This is a must in order to discover the new
harware. Luckily for Rasberry-Pi, I have been through with this.
A popular bare-metal repository for RPI exists here -
https://github.com/dwelch67/raspberrypi
3. Toolchains - I have never dirtied my hands in trying writing a NEW
toolchain as the existing toolchains worked for me.
I dont know if we would need to do this on Illumos.
4. Actual OS support - In Linux, concepts like Device tree have come up
and we have a not so hostile generic device driver layer,
that tend to make lives easier. So board specific routines and of-course
deveice drivers appear here.
So this is how a break up a bringing up of a new hardware. We can try this
kind of approach for discussing RPI bringup on Illumos.
>
> So, if I was going to mentor someone on this, I'd want them to already
> have a lot of experience with building illumos and understanding how to
> use the system. Having existing familiarity with mdb and dis are going
> to be quite useful, or prior experience with the ARM architecture and
> things like how the the Harvard L1 instruction and data caches work,
> etc. These may be things you're quite familiar with, if so, that would
> be great!
>
I have had the experience of building Illumos both on Smart-OS and
OpenIndiana.
http://wiki.illumos.org/display/illumos/How+To+Build+illumos
https://wiki.smartos.org/display/DOC/Building+SmartOS+on+SmartOS
I have used the above links to do so though I prefer the smart-os way of
building illumos.
>
> The other problem is that it isn't as great a project from a GSoC
> perspective. It's very hard to write a timeline for what you're going to
> accomplish. It's very easy in a bring up project to get caught on a hard
> to debug thing and have your written out schedule slip quite a lot.
>
>
I know its tough for GSOC with the tight timeline but (again as I said and
showed above) we can break the entire bringing up process of RPI on illumos
into subparts.
We can pick a sub-part, see if can complete it in GSOC timeline and if it
(this subpart) completes any tme sooner, we can switch to the next.
> All that said, there's nothing wrong with wanting to do an ambitious
> project, but they require tenacity. Folks who might mentor it will want
> to be convinced that you're in it for the long haul and the more
> ambitious the project, the more background you'll want to have and a
> mentor will want to see. Because at the end of the day, we want your
> project to be successful and for you to be able to complete it.
Thanks for you concern but I guess I will still stick to bringing up RPI on
Illumos and just wait and hope the
Illumos community supports me.
Regards,
Saket sinha
-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription:
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com