tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: GSOC - Interested in making u-boot compilable on NetBSD



In article <CAD3+QA=W+RQy2Q1f1UJd6K=Nvh3xx5B0zCCTOZ7u_m922_qtbw%mail.gmail.com@localhost>,
Joe Davis  <joe.davis512%gmail.com@localhost> wrote:
>
>I've appended a quick draft of the proposal in markdown format, and
>I've made an attempt to split the project up into intermediate stages.
>I'd appreciate any comments, especially with regard to the timeframe.
>Having ported a C library (newlib) to a homebrew kernel in the past,
>the initial 4-weeks for getting the *preliminaries* up and running
>seems feasible to me (i.e. having it build without issue), but to be
>quite honest I haven't before worked on a project of this scale, so I
>could very well be underestimating.
>
>Thanks in advance,

Hi Joe,

This looks good. Comments inline.

Best,

christos

>Draft:
>
>> # U-Boot on NetBSD
>>
>> ## Goal
>>
>> Currently using U-Boot on NetBSD requires Linux as an intermediate step,
>> in order to build it. My goal is to fully port U-Boot, allowing it to be
>> built and run solely using NetBSD.
>>
>> ## Deliverables
>>
>>  1. Enable U-Boot to successfully build on NetBSD, at first using GNU
>>     make.
>>
>>  2. Reproducibly and reliably boot a full NetBSD system using U-Boot
>>     from an emulated x86 system under QEMU.
>>     - This is faster to test than actual hardware, and may allow for
>>       easier compatibility of NetBSD with coreboot in the future. It
>>       also has the advantage of sidestepping any issues with cross
>>       compilation that may occur.
>>
>>  3. Reproducibly and reliably boot a full NetBSD system from a natively
>>     built U-Boot on a Beaglebone Black (ARMv7 system)
>>      - U-Boot is far more useful on architectures other than x86, and
>>
>>  4. If possible, allow U-Boot to build using BSD Make
>>     - The U-Boot makefile and build system is based heavily around
>>       features and syntax specific to GNU make. While building with
>>       BSD-make would be far more convenient, it may not be feasible from
>>       a maintenance perspective.
>>     - It will likely be necessary to create a wrapper around the
>>       existing build system, in order to integrate U-Boot with pkgsrc.
>>
>> ## Timeline
>>
>> During the initial week of GSOC, I will be completing my end-of-year
>> exams, and won't be available for work on this project. This leaves me
>> with 13 weeks during which I can work full time.
>>
>> ### Week 1
>>
>> Exam week. Unavailable.
>>
>> ### Weeks 2-5
>>
>>  * Have U-Boot successfully build on x86, and begin preliminary work on
>>    ARM.
>>  * The majority of this work should deliverable by the mid-term
>>    evaluation period, 20^th^--27^th^ June.

In this period you should also have booting x86 with QEMU. You should
mention this in your milestone. You should also probably clarify if you
are going to target just i386, or x86_64 or both (if you get one working
-386 first-, then x86_64 should be close too).

>> ### Weeks 6-10
>>
>>  * Complete any remaining work on x86, and begin testing U-Boot on
>>    physical ARM hardware, in this case the Beaglebone Black.

Here perhaps the finishing the work would be testing x86 with real hardware.
You probably need to make sure that you have serial hardware working on
arm, or emulation.

>> ### Weeks 11-13
>>
>>  * The final two weeks of this project will involve creating a pkgsrc
>>    entry for U-Boot.

And write documentation :-)
As far as getting it to build with BSD make, this should be extra credit
and it is not really necessary since the goal here is to make it a NetBSD
package and packages have gmake available. 

In the project page it is also mentioned that you should try to feed back
the changes to the u-boot folks. We should get them involved from the
beginning to see if they are interested in our changes; also how do they
prefer us to send them patches.

>>
>> ## About me
>>
>> I'm an Irish student, currently in my first year of Theoretical Physics
>> at Trinity College Dublin. I'm a self taught programmer, and quite
>> comfortable with C and assembly, having a fair amount of experience
>> developing kernels and bootloaders as a hobby.
>>
>> I'm experienced with \*nix systems in general, and have previously
>> worked a summer as a maintenance programmer for a small domain registrar
>> and hosting service. As well as that, at the age of 16 I completed a
>> week long work experience placement at Symantec, most of which was spent
>> learning the basics of reverse engineering.



Home | Main Index | Thread Index | Old Index