Hello everybody,
I'm thinking about porting coreboot to my motherboard (epox 9NPA3I / 9NPA3J / 9NPAJ-3 / 9NPA3 Ultra Series). My chipset (CK804) and my superio (F71872F/FG) are in supported list. According to this page ( http://www.coreboot.org/Support) port "might be easy" (exactly: "If you find those in our list of Supported Chipsets and Deviceshttp://www.coreboot.org/Supported_Chipsets_and_Devicesa port might be easy").
I need roughly estimation for "easy" to decide is it possible for me to port coreboot or not (in time-consuming terms). So, is "easy" up to 8 hours for coreboot expert, or is it up to 40 hours for coreboot expert? Will be great if you could give me estimation for 'worst' and 'best' variant.
Thank you very much, Andrey
Den 17-05-2011 10:41, Андрей Клаус skrev:
Hello everybody,
I'm thinking about porting coreboot to my motherboard (epox 9NPA3I / 9NPA3J / 9NPAJ-3 / 9NPA3 Ultra Series). My chipset (CK804) and my superio (F71872F/FG) are in supported list. According to this page (http://www.coreboot.org/Support) port "might be easy" (exactly: "If you find those in our list of Supported Chipsets and Devices http://www.coreboot.org/Supported_Chipsets_and_Devices a port might be easy").
I need roughlyestimation for "easy" to decide is it possible for me to port coreboot or not (in time-consuming terms). So, is "easy" up to 8 hours for coreboot expert, or is it up to 40 hours for coreboot expert? Will be great if you could give me estimation for 'worst' and 'best' variant.
Thank you very much, Andrey
It took me less then 8 hours to make my first port, and I'm not even a C programmer, mine was a best case senario as there was a sibling board already ported. I have also ported some where just the component where supported, that didn't take to long either, probably 7-10 hours.
Working on a board where only legacy code and docs are available I have probably spend around 12 hours to get to ram init.
I think the key to sussess is to have an easy way to reflash the bios when your image failes.
-Anders
On Tue, May 17, 2011 at 4:06 PM, Anders Jenbo anders@jenbo.dk wrote:
Den 17-05-2011 10:41, Андрей Клаус skrev:
Hello everybody,
I'm thinking about porting coreboot to my motherboard (epox 9NPA3I / 9NPA3J / 9NPAJ-3 / 9NPA3 Ultra Series). My chipset (CK804) and my superio (F71872F/FG) are in supported list. According to this page (http://www.coreboot.org/Support) port "might be easy" (exactly: "If you find those in our list of Supported Chipsets and Devices a port might be easy").
I need roughly estimation for "easy" to decide is it possible for me to port coreboot or not (in time-consuming terms). So, is "easy" up to 8 hours for coreboot expert, or is it up to 40 hours for coreboot expert? Will be great if you could give me estimation for 'worst' and 'best' variant.
Thank you very much, Andrey
It took me less then 8 hours to make my first port, and I'm not even a C programmer, mine was a best case senario as there was a sibling board already ported. I have also ported some where just the component where supported, that didn't take to long either, probably 7-10 hours.
Working on a board where only legacy code and docs are available I have probably spend around 12 hours to get to ram init.
I think the key to sussess is to have an easy way to reflash the bios when your image failes.
Seems quite inspirational to the people who wanted to port for new boards. @ Stefan: Can you please share your opinions on this?
- Thanks, Vikram
Vikram Narayanan wrote:
It took me less then 8 hours to make my first port, and I'm not even a C programmer, mine was a best case senario as there was a sibling board already ported. I have also ported some where just the component where supported, that didn't take to long either, probably 7-10 hours.
Working on a board where only legacy code and docs are available I have probably spend around 12 hours to get to ram init.
I think the key to sussess is to have an easy way to reflash the bios when your image failes.
Seems quite inspirational to the people who wanted to port for new boards. @ Stefan: Can you please share your opinions on this?
The time required of course depends on many factors. In general terms, these are:
1. Ability to understand or learn C and programming languages in general, and hardware structure. 2. Hardware differences. 3. How much similar code there already exists in coreboot. 4. How readable the code is that does exist in coreboot and is relevant for the project.
In concrete terms, they are:
1. Programming and electronics experience, and abstract thinking 2. How similar your mainboard is to another already supported mainboard. 3. If *any* similar mainboard is already supported by coreboot. By similar I mean exact same relevant components; cpu north south superio. 4. Quality of coreboot code for cpu north south superio.
These are just the factors to consider *when all components are supported already*. In ideal circumstances a board port needs to take only one hour. In reality, circumstances are never ideal and the time needed per board grows exponentially or even steeper still with the number of less than ideal points to consider.
Worst case is so far 8-12 man-months for a coreboot expert.
//Peter
I see, thank you very much.
2011/5/17 Peter Stuge peter@stuge.se
Vikram Narayanan wrote:
It took me less then 8 hours to make my first port, and I'm not even a
C
programmer, mine was a best case senario as there was a sibling board already ported. I have also ported some where just the component where supported, that didn't take to long either, probably 7-10 hours.
Working on a board where only legacy code and docs are available I have probably spend around 12 hours to get to ram init.
I think the key to sussess is to have an easy way to reflash the bios
when
your image failes.
Seems quite inspirational to the people who wanted to port for new boards. @ Stefan: Can you please share your opinions on this?
The time required of course depends on many factors. In general terms, these are:
- Ability to understand or learn C and programming languages in
general, and hardware structure. 2. Hardware differences. 3. How much similar code there already exists in coreboot. 4. How readable the code is that does exist in coreboot and is relevant for the project.
In concrete terms, they are:
- Programming and electronics experience, and abstract thinking
- How similar your mainboard is to another already supported
mainboard. 3. If *any* similar mainboard is already supported by coreboot. By similar I mean exact same relevant components; cpu north south superio. 4. Quality of coreboot code for cpu north south superio.
These are just the factors to consider *when all components are supported already*. In ideal circumstances a board port needs to take only one hour. In reality, circumstances are never ideal and the time needed per board grows exponentially or even steeper still with the number of less than ideal points to consider.
Worst case is so far 8-12 man-months for a coreboot expert.
//Peter
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Tue, May 17, 2011 at 10:52 PM, Peter Stuge peter@stuge.se wrote:
Vikram Narayanan wrote:
It took me less then 8 hours to make my first port, and I'm not even a C programmer, mine was a best case senario as there was a sibling board already ported. I have also ported some where just the component where supported, that didn't take to long either, probably 7-10 hours.
Working on a board where only legacy code and docs are available I have probably spend around 12 hours to get to ram init.
I think the key to sussess is to have an easy way to reflash the bios when your image failes.
Seems quite inspirational to the people who wanted to port for new boards. @ Stefan: Can you please share your opinions on this?
The time required of course depends on many factors. In general terms, these are:
- Ability to understand or learn C and programming languages in
general, and hardware structure. 2. Hardware differences. 3. How much similar code there already exists in coreboot. 4. How readable the code is that does exist in coreboot and is relevant for the project.
In concrete terms, they are:
- Programming and electronics experience, and abstract thinking
- How similar your mainboard is to another already supported
mainboard. 3. If *any* similar mainboard is already supported by coreboot. By similar I mean exact same relevant components; cpu north south superio. 4. Quality of coreboot code for cpu north south superio.
These are just the factors to consider *when all components are supported already*. In ideal circumstances a board port needs to take only one hour. In reality, circumstances are never ideal and the time needed per board grows exponentially or even steeper still with the number of less than ideal points to consider.
Worst case is so far 8-12 man-months for a coreboot expert.
Thank you. I think this can also be in Developer wiki. This might give an insight of how much work is involved. (or is it already there in the wiki?)
- Thanks, Vikram
Vikram Narayanan wrote:
Thank you. I think this can also be in Developer wiki. This might give an insight of how much work is involved. (or is it already there in the wiki?)
Dunno..? Isn't it mostly common sense? (That development can be fast or slow, and depends on how much can be reused.) I'm not saying I am opposed to it being in the wiki, but it's also easy to spam the FAQ..
//Peter
On Wed, May 18, 2011 at 7:10 AM, Peter Stuge peter@stuge.se wrote:
Vikram Narayanan wrote:
Thank you. I think this can also be in Developer wiki. This might give an insight of how much work is involved. (or is it already there in the wiki?)
Dunno..? Isn't it mostly common sense? (That development can be fast or slow, and depends on how much can be reused.) I'm not saying I am opposed to it being in the wiki, but it's also easy to spam the FAQ..
I agree with you. But for people who are new to the porting, this may be helpful. I don't know how many of the newbies to coreboot are aware of the fact that many things can be reused, and sometimes porting is very easy. Just a thought (to include this in wiki).
- Thanks, Vikram
* Vikram Narayanan vikram186@gmail.com [110517 16:50]:
On Tue, May 17, 2011 at 4:06 PM, Anders Jenbo anders@jenbo.dk wrote:
Den 17-05-2011 10:41, Андрей Клаус skrev:
Hello everybody,
I'm thinking about porting coreboot to my motherboard (epox 9NPA3I / 9NPA3J / 9NPAJ-3 / 9NPA3 Ultra Series). My chipset (CK804) and my superio (F71872F/FG) are in supported list. According to this page (http://www.coreboot.org/Support) port "might be easy" (exactly: "If you find those in our list of Supported Chipsets and Devices a port might be easy").
I need roughly estimation for "easy" to decide is it possible for me to port coreboot or not (in time-consuming terms). So, is "easy" up to 8 hours for coreboot expert, or is it up to 40 hours for coreboot expert? Will be great if you could give me estimation for 'worst' and 'best' variant.
Thank you very much, Andrey
It took me less then 8 hours to make my first port, and I'm not even a C programmer, mine was a best case senario as there was a sibling board already ported. I have also ported some where just the component where supported, that didn't take to long either, probably 7-10 hours.
Working on a board where only legacy code and docs are available I have probably spend around 12 hours to get to ram init.
I think the key to sussess is to have an easy way to reflash the bios when your image failes.
Seems quite inspirational to the people who wanted to port for new boards. @ Stefan: Can you please share your opinions on this?
Those values vary widely on the quality of the port, the number of features and the amount of testing you put into this. Getting an OS booted on a new mainboard can be a thing of 15 minutes, if you are lucky and just copy an existing mainboard and maybe change the SuperI/O.
However, doing a port to a new board is usually a lot more than that.
There are many board ports in coreboots tree these days, and frankly, not all of them are production level quality and/or tested on a large number of different configurations. Something you whip up in a dat most certainly is not. It might still be a great port and do everything the author wanted it to do.
Stefan