[U-Boot] Can u-boot access Linux's mtd partition?

Wolfgang Denk wd at denx.de
Tue Mar 2 17:22:12 CET 2010


Dear Joe Culler,

In message <67a3f13e1003020733p5459c999r1f7346fd9cd8a92d at mail.gmail.com> you wrote:
>
> Thanks for the reply. Let me explain why I do this way in details.
> I work for the system integration company, the board I have is no
> eeprom, that means I have to burn the mac address before shipping the
> product. So the following steps are what I do before shipping:
> 
> 1. First, I set default CONFIG_ETHADDR(for example, 02:80:ad:20:31:e8)
>    in u-boot, then use flash writer to burn the flash on each board.
> 2. I have a program for burning mac address on Linux.
>    After booting linux kernel, my program can burn the mac address.
>    Reboot the system if burning the mac address successfully.
> 3. Since the mac address is already stored in mtd2, for example.
>    I want u-boot to detect the correct mac address I burned in mtd2
>    partition rather than the default setting 02:80:ad:20:31:e8.
> 
> Is it the correct way I do or do you have any better idea? Thank you.

As usual, TIMTOWTDI.

The quickest approach to me seems to use the flash writer (as in
your step 1) to program first the U-Boot image (common for all
boards, without any MAC address setting), and then additionally
program a small information block that contains vital product data
like MAC address, serial number etc. [This block is usually
dynamically generated by a database query during prodution of the
board.] This second part will probably just require a few bytes which
probably will fit at a well-known address in the last (only partially
filled) block used for the U-Boot image. See for example the code in
board/tqc/tqm8xx/load_sernum_ethaddr.c


On theother hand, if you really want to jump through all the loops and
boot Linux to program the MAC address, you could as well use the
fw_setenv program (see tools/env/) to store the MAC address directly
in the U-Boot environment, where U-Boot will pick it up without any
special measures.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
It became apparent that one reason why the Ice Giants were  known  as
the  Ice  Giants  was  because they were, well, giants. The other was
that they were made of ice.              -Terry Pratchett, _Sourcery_


More information about the U-Boot mailing list