Port: U-Boot for BeagleBone

Warner Losh imp at bsdimp.com
Sat May 18 11:58:54 UTC 2013


On May 17, 2013, at 11:48 PM, Adrian Chadd wrote:

> This makes it really difficult to potentially support building FreeBSD
> images on non-FreeBSD platforms.
> 
> It also means that people can do things like have out of date builds
> of things like bootloaders, mkuboot/mkuzimage, etc.
> 
> That's why I'm kind of a bit worried about this trend.
> 
> I'm likely going to go the opposite way with my stuff. Ie, if I do
> need bootloaders and such, I'll be packaging either the source trees,
> or ports themselves, as part of the "freebsd-wifi-image" build
> environment. I'll try to reuse the port build infrastructure as much
> as possible but I won't rely on many tools and external support
> software trees that aren't in /usr/src or the build environment
> itself.

Actually the notion is that you'd always fetch the latest port/package and build/install it before moving onto the image creation phase. Things are still just as integrated, but we have a unified framework to do them that doesn't reinvent wheels (badly).

Warner


> On 17 May 2013 16:01, Tim Kientzle <kientzle at freebsd.org> wrote:
>> 
>> On May 17, 2013, at 5:20 PM, Adrian Chadd wrote:
>> 
>>> ... so how do I do a userland build of a bootloader? :-)
>> 
>>> Does crochet have extra stuff in it to build ports with alternate
>>> roots and install-as-user options set? Or does it now require you have
>>> them installed before you can build images?
>> 
>> This is still pretty experimental, so feel free to chime
>> in with better ideas.
>> 
>> My thinking right now is essentially that:
>> 
>> * Port/package creates /usr/local/share/u-boot/u-boot-beaglebone/<files>
>> * Crochet uses these files when it builds the image
>> 
>> So yes, the port or package containing the boot bits
>> would be a prerequisite.  For the interim, this is not
>> much worse than the current "you have to download
>> the source and run crochet as root."
>> 
>> This is basically driven from the observation that Crochet's
>> current logic to build a boot loader contains essentially
>> the same information (place to download source, patches, etc)
>> that go into a FreeBSD port.  So it avoids a chunk of duplication
>> to make the boot loader builds be ports.
>> 
>> I haven't thought through the non-root build case yet:
>> 
>> Obviously, once the port/package is installed, using it
>> as a non-root user is no problem.   I suspect this is the
>> common case.
>> 
>> Building/installing the port as a non-root user should
>> be feasible, but I haven't tinkered with that yet.
>> 
>> Downloading/installing the package as a non-root user
>> may also be feasible.
>> 
>> Any suggestions?
>> 
>> Tim
>> 
>> 
>> 
>>> Thanks,
>>> 
>>> 
>>> adrian
>>> 
>>> 
>>> On 17 May 2013 14:08,  <gnn at freebsd.org> wrote:
>>>> At Fri, 17 May 2013 13:41:33 -0700,
>>>> hiren panchasara wrote:
>>>>> 
>>>>> On Fri, May 17, 2013 at 1:22 PM, Tim Kientzle <kientzle at freebsd.org> wrote:
>>>>>> I'm trying to move the actual building of boot loaders out of Crochet and into FreeBSD ports.
>>>>>> 
>>>>>> Here's the first attempt at such a port (many thanks to Diane Bruce for patiently tutoring me through this):
>>>>>> 
>>>>>> http://people.freebsd.org/~kientzle/u-boot-beaglebone.tgz
>>>>>> 
>>>>>> I'd appreciate any feedback:
>>>>>> * Can you build this?
>>>>> 
>>>>> Yes.
>>>>> 
>>>>> Its fetching things and I can see uboot generated in
>>>>> work/u-boot-2013.04/
>>>> 
>>>> It claims to require a cross building compiler in /usr/obj so I'm
>>>> waiting for that to build on my laptop.
>>>> 
>>>>>> * Suggestions for improving it?
>>>>>> 
>>>>>> If this works, I plan to use it as a template for U-Boot for other
>>>>>> platforms (RaspberryPi, Pandaboard, etc.).  Crochet would then
>>>>>> rely on these ports instead of building boot loaders itself.  Even
>>>>>> better, these will eventually be built by the package system and
>>>>>> available through packages.
>>>>> 
>>>>> sweet!
>>>>> 
>>>> 
>>>> Works for me.  Thanks to both of you.
>>>> 
>>>> Best,
>>>> George
>>>> _______________________________________________
>>>> freebsd-arm at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>>> _______________________________________________
>>> freebsd-arm at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>> 
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"



More information about the freebsd-arm mailing list