[LinuxBIOS] retrieving MAC from romstrap

Robert Millan rmh at aybabtu.com
Thu Sep 27 08:07:25 CEST 2007


On Wed, Sep 26, 2007 at 05:25:07PM -0400, Tom Sylla wrote:
> Mailed to soon, xxd does patching directly:
> ---
> Patch the date in the file xxd.1
>        % echo '0000029: 3574 68' | xxd -r - xxd.1
>        % xxd -s 0x28 -l 12 -c 12 xxd.1
>        0000028: 3235 7468 204d 6179 2031 3939  25th May 199
> ---

Then how about integrating this in the build system so that romstrap is
modified on build time using a config file option?  This way we please
both kinds of users.

> On 9/26/07, Ward Vandewege <ward at gnu.org> wrote:
> > On Wed, Sep 26, 2007 at 05:02:33PM -0400, Tom Sylla wrote:
> > > On 9/26/07, Robert Millan <rmh at aybabtu.com> wrote:
> > > >                 unsigned long mac_pos;
> > > >                 mac_pos = 0xffffffd0; // refer to romstrap.inc and romstrap.lds
> > > >                 mac_l = readl(mac_pos) + nic_index;
> > > >                 mac_h = readl(mac_pos + 4);
> > > >
> > > > and can't understand what is this romstrap and why it retrieves the MAC from
> > > > it in runtime.  Is this some kind of legacy interface?  Wouldn't it be simpler
> > > > to just hardcode it during build?  E.g. see attached patch.
> > >
> > > Maybe simpler, but not really correct. What if you have 2 of your
> > > boards? With your patch, you have to compile twice. That's not
> > > elegant. If you can make just one ROM image, and then automatically
> > > change the MAC at a specified location inside of it for each
> > > individual motherboard, things work better. (AMI/award/etc do this,
> > > when you use their flash utilities, it does not overwrite the MAC so
> > > you don't lose it)
> > >
> > > Your solution is ok if you want to just support your single board on
> > > your desktop, but for anybody trying to make a commercial product with
> > > LB, they won't want to be recompiling for each unit shipped.
> >
> > Agreed. MACs are a bit of a pain (also on the MCP55), and we currently do not
> > have a good way to deal with them. I have MCP55-based LinuxBIOS machines in
> > production that have 00:00:00:00:00:00 as MAC address for each interface, and
> > I need to force the MAC manually in /etc/network/interfaces. Not elegant, and
> > not ideal. The kernel does not like it either, on startup it says 'complain
> > to your bios vendor' ;)
> >
> > I would like a way to change the MAC address for a rom image with some tool -
> > ideally as an option to flashrom, I guess. Keep in mind that there can be
> > multiple addresses on a board!
> >
> > Thanks,
> > Ward.
> >
> > --
> > Ward Vandewege <ward at fsf.org>
> > Free Software Foundation - Senior System Administrator
> >
> 

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)




More information about the coreboot mailing list